Top Banner
76

Containers & Cloud Native

Feb 11, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Containers & Cloud Native
Page 2: Containers & Cloud Native

2

Containers & Cloud Native

¿Que son los microservicios?Luis Ernesto GonzalezRegional Senior Solutions [email protected]://luiger.github.io/

Page 3: Containers & Cloud Native

Fuse Technical Overview3

AGENDA

● Evolución de las aplicaciones: Cloud Native Apps

● Evolución de SOA a Microservicios

● Un nuevo modelo de despliegue: Contenedores

● Orquestación de Contenedores: Red Hat OpenShift

● DevOps como habilitador de auto-gestión y agilidad

● Casos de éxito de OpenShift en Banca

Page 4: Containers & Cloud Native

4

Page 5: Containers & Cloud Native

CLOUD NATIVE APPS

Page 6: Containers & Cloud Native
Page 7: Containers & Cloud Native

7

¿POR QUÉ LA NECESIDAD DE MODERNIZAR LAS APPS?

Desarrollar aplicaciones más rápido, más robustas,

y con mayores funcionalidades.

Liberar a más desarrolladores de la

tarea de mantenimiento de aplicaciones.

Reducir los costos de plataforma e infraestructura asociados con el desarrollo de

aplicaciones.

Tiempo Trabajo Dinero

Page 8: Containers & Cloud Native

F7149-051517

8

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

Page 9: Containers & Cloud Native

F7149-051517

9

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

Page 10: Containers & Cloud Native

DE SOA A MICROSERVICIOS

Page 11: Containers & Cloud Native

GENERAL DISTRIBUTION11

Para un cambio en un monolito todos deben

estar de acuerdo con el cambio. Cada cambio tiene

un efecto anticipado.

Los elementos en SOA están desarrollados más

autónomamente pero deben estar coordinados

con los otros bajo un diseño general.

Los desarrolladores pueden crear y activar nuevos

microservicios sin coordinación previa con los

otros.

DIFERENCIAS ENTRE MONOLITO, SOA Y MSA

1990 y antes 2000’s 2010’s

MONOLITO - SOA - MSA

Pre-SOA-tica -Monolítica SOA Tradicional - Separación Microservicios - Desacople

Page 12: Containers & Cloud Native

GENERAL DISTRIBUTION12

Pequeños servicios autónomos pueden ser

desarrollados y entregados rápidamente.

Es más fácil automatizar toda la entrega y

monitorear pequeños servicios.

Es más fácil escalar y con menos recursos.

ESCALABILIDAD

¿POR QUÉ PASAR A MICROSERVICIOS?

RÁPIDO TIME TO MARKET EFICIENCIA

Page 13: Containers & Cloud Native

INSERT DESIGNATOR, IF NEEDED13

¿QUÉ SON LOS MICROSERVICIOS?

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running

in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business

capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized

management of these services, which may be written in different programming languages and use different data storage technologies.

James Lewis and Martin Fowler

Page 14: Containers & Cloud Native

INSERT DESIGNATOR, IF NEEDED14

¿QUÉ SON LOS MICROSERVICIOS?

Sistema Monolítico

Microservicios

Page 15: Containers & Cloud Native

15

PRINCIPIOS/CARACTERÍSTICAS

1. Despliegue independiente - Actualizar un único microservicio no tiene un impacto negativo respecto a los otros componentes del sistema.

2. Organizado entorno a las capacidades del negocio3. Productos no Proyectos4. Enfocado a API’s5. Endpoints inteligentes y pipes “tontos”6. Gobierno descentralizado7. Manejo de Data descentralizado8. Infraestructura como Código9. Diseñado para fallar

10. Diseñado para evolucionar

Page 16: Containers & Cloud Native

16

DATA DESCENTRALIZADA

Involucrar a los DBA’s.

La independencia de la implementación requiere tener su propio esquema.

Page 17: Containers & Cloud Native

MONOLITO

MyApp

Page 18: Containers & Cloud Native

MICROSERVICIOS

Page 19: Containers & Cloud Native

MICROSERVICIOS

Page 20: Containers & Cloud Native

MICROSERVICIOS

Page 21: Containers & Cloud Native

MICROSERVICIOS

Page 22: Containers & Cloud Native

MICROSERVICIOS

Page 23: Containers & Cloud Native

MICROSERVICIOS

Page 24: Containers & Cloud Native

RED DE MSA

Page 25: Containers & Cloud Native

CONTENEDORES

Page 26: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW26

¿QUÉ SON LOS CONTENEDORES?Eso depende de quién pregunte...

● Procesos de solicitud en un kernel compartido.

● Más simple, más ligero y más denso que las máquinas virtuales.

● Portátil en a través de diferentes entornos.

● Paquete de aplicaciones con todas las dependencias.

● Despliegue en cualquier entorno en segundos.

● De fácil acceso y es fácil compartirlo.

INFRAESTRUCTURA APLICACIONES

Page 27: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW27

MÁQUINAS VIRTUALES - CONTENEDORES

MÁQUINAS VIRTUALES CONTENEDORES

Las máquinas virtuales están aisladas, pero las aplicaciones

no...

Los contenedores están aislados, también las aplicaciones.

VM

OS Dependencies

Kernel

Hypervisor

Hardware

App App App App

Hardware

Container Host (Kernel)

Container

App

OS deps

Container

App

OS deps

Container

App

OS deps

Container

App

OS deps

Page 28: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW28

MÁQUINAS VIRTUALES - CONTENEDORES

Container Host

Container

Application

OS dependencies

Dev

IT OpsInfrastructure

Virtual Machine

Application

OS dependencies

Operating System

IT Ops(and Dev, sort of)

Infrastructure

La clara división entre Dev y IT/Ops impulsa la adopción de DevOps y fomenta la agilidad.

Optimizado para estabilidad

Optimizado para agilidad

Page 29: Containers & Cloud Native

Fuse Technical Overview

CONTENEDORES

Reemplázalo!

Configuration drift

Intervención manual Ad-hoc

Arréglálo!

Sistemas automatizados

Configuración automatizadaAprovisionamiento

Configuración con códigoGuesswork al

combinar código y configuración

Page 30: Containers & Cloud Native

30

¿QUÉ HAY DENTRO DE UN CONTENEDOR?

Configuración● Archivos● Env vars● etc

Inyecta al runtime Persistiendo

afuera

Data

Código● Binarios compilados● Librerías compartidas● Scripts de conf● JRE, Python, etc.

Page 31: Containers & Cloud Native

INSERT DESIGNATOR, IF NEEDED31

CONTENEDORES - LOGÍSTICA DE SOFTWARE● Mínimo footprint - No hay sistema operativo!● Booteo en segundos● Autocontenido y ultraportable● Absoluta flexibilidad de contenido● Definidos por código

TEST=

QA=

PROD=

DEV

Page 32: Containers & Cloud Native

RED DE MSA

Page 33: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Observability

Page 34: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

MyService

Monitoring

Tracing

API

Discovery

Invocation

Resilience

Pipeline

Authentication

Logging Elasticity

Microservices'ilities + Istio

Page 35: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Page 36: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Page 37: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Kiali.ioNew Service Graph

Page 38: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Microservices embedding Capabilities

ContainerJVM

Service BDiscovery

Load-balancerResiliency

MetricsTracing

ContainerJVM

Service ADiscovery

Load-balancerResiliency

MetricsTracing

ContainerJVM

Service CDiscovery

Load-balancerResiliency

MetricsTracing

Before Istio

Page 39: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Microservices externalizing Capabilities

PodContainer

JVMService A

Sidecar Container

PodContainer

JVMService C

Sidecar Container

PodContainer

JVMService B

Sidecar Container

After Istio

Page 40: Containers & Cloud Native

@burrsutter - bit.ly/istio-intro

Microservices externalizing Capabilities

PodContainer

JVMService A

Sidecar Container

PodContainer

JVMService C

Sidecar Container

Pod

ContainerJVM

Service B

Sidecar Container

After IstioThe sidecar intercepts all network traffic

Page 41: Containers & Cloud Native

@burrsutter - bit.ly/istio-introhttps://www.imz-ural.com/blog/waffles-the-sidecar-dog

Sidecar

Page 42: Containers & Cloud Native

OPENSHIFT SERVICE MESH (OSM)

Observe Observe

Secure

ControlConnect

Jaeger Prometheus

Istio

Page 43: Containers & Cloud Native
Page 44: Containers & Cloud Native

KIALI (GUI VISUALIZATION FOR ISTIO / OSM)

Page 45: Containers & Cloud Native

45

PATRONES DE LOS MICROSERVICIOS

MyService

Monitoreo

Tracing

API

Descubrimiento

Invocación

Resiliencia

Pipeline

Autenticación

Logging Elasticidad

Page 46: Containers & Cloud Native

F7149-051517

46

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

Page 47: Containers & Cloud Native

MÁS QUE ORQUESTACIÓN

DE CONTENEDORES

Page 48: Containers & Cloud Native

48

BENEFICIOS DE RED HAT OPENSHIFTANTE LOS RETOS DE LAS APLICACIONES MODERNAS

Creación rápida, mantenimiento y administración de aplicaciones.

Ejecución en entornos complejos de nube híbrida sin modificaciones.

Enfoque que permite a las organizaciones obtener el máximo beneficio de tecnologías innovadoras como contenedores y microservicios.

Establecimiento prácticas innovadoras como Agile, DevOps y la integración y el entrega contínua (CI / CD).

Page 49: Containers & Cloud Native

GENERAL DISTRIBUTION

Autoservicio

Políglota

Automatización

Colaboración

Seamless

Basado en estándares

Web-scale

Open Source

Grado Empresarial

Seguridad

Page 50: Containers & Cloud Native

GENERAL DISTRIBUTION

CONTAINER

ARQUITECTURA DE MICROSERVICIOS

CONTAINER

CLIENT

RES

T A

PI

SERVICE

DATASTORE

50

Page 51: Containers & Cloud Native

GENERAL DISTRIBUTION

ARQUITECTURA DE MICROSERVICIOS

CONTAINER

CLIENT

RES

T A

PI

SERVICE

CONTAINER

NodeJSService

CONTAINER

Spring BootService

CONTAINER

JBoss EAPService

CONTAINER

TomcatService

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CONTAINER

DATASTORE

CONTAINER

PostgreSQLDatastore

CONTAINER

MongoDBDatastore

CONTAINER

MySQLDatastore

CONTAINER

JBoss DGDatastore

Page 52: Containers & Cloud Native

GENERAL DISTRIBUTION

OpenShift Container Platform

ARQUITECTURA DE MICROSERVICIOS

CONTAINER

NodeJSService

CONTAINER

Spring BootService

CONTAINER

JBoss EAPService

CONTAINER

TomcatService

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CLIENT

RES

T A

PI

CONTAINER

PostgreSQLDatastore

CONTAINER

MongoDBDatastore

CONTAINER

MySQLDatastore

CONTAINER

JBoss DGDatastore

Page 53: Containers & Cloud Native

ARQUITECTURA DE RED HAT OPENSHIFT

Page 54: Containers & Cloud Native
Page 55: Containers & Cloud Native
Page 56: Containers & Cloud Native
Page 57: Containers & Cloud Native

DEVOPS: HABILITADOR DE AUTOGESTIÓN Y AGILIDAD

Page 58: Containers & Cloud Native

F7149-051517

58

Page 59: Containers & Cloud Native

F7149-051517

59

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

Page 60: Containers & Cloud Native

Cultura y Organización

Pruebas y Verificación

Información y Reporte

Construcción y despliegue

Manejo de Data

Release

People

Process Technology

MODELO DE MADUREZ - DEVOPS

60

Page 61: Containers & Cloud Native

DEVOPS - CULTURA

61

10 despligues por día

¿Cómo es posible?

Page 62: Containers & Cloud Native

METODOLOGÍA: PERSONAS, PROCESOS Y TECNOLOGÍA

PERSONAS

Mentoring

Training

Technology Enablement

Architecture

Center of Excellence

Operationalize Governance

Pair Program.

PROCESOS

Agile DevOps

TECNOLOGÍA

Cloud/PaaS Middleware

Reference Architectures

Reusable Solutions

Independent Learning

Technical Excellence

Scrum/Scaling Agile

Lean Portfolio Management

Leadership & Team Transformation Enablement

CI/CD

Standardized Operating Environments

BDD/TDD

Delivery Pipelines

Canary, A/B Deployment

Configuration as Code

Self-provision environments

Auto-scaling

Technology Agility

Bleeding Edge

ReusableComponents

62

Page 63: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

APPLICATIONIMAGE

63

PIPELINE PARA ENTREGA CONTINUA

DEV TEAM GIT SERVER ARTIFACT REPOSITORY

JENKINSIMAGE BUILD

● S2I construye desde el código fuente.● S2I construye desde el binario de una app.● Proceso existente de creación de imagen del

contenedor Docker.

Page 64: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

PIPELINE PARA ENTREGA CONTINUA

INTEGRATEDIMAGE

REGISTRY

OPENSHIFTCLUSTER

64

DEVELOPER GIT SERVER ARTIFACT REPOSITORY

OPENSHIFT CI/CD PIPELINE (JENKINS)

IMAGE BUILD & DEPLOY

INTEGRATEDIMAGEREGISTRY

OPENSHIFTCLUSTER

NON-PROD PRODDEV

Page 65: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

INTEGRATEDIMAGE

REGISTRY

OPENSHIFTCLUSTER

65

PIPELINE PARA ENTREGA CONTINUADEVELOPER GIT SERVER ARTIFACT REPOSITORY

OPENSHIFT CI/CD PIPELINE (JENKINS)

IMAGE BUILD & DEPLOY

INTEGRATEDIMAGEREGISTRY

OPENSHIFTCLUSTER

PROMOTETO TEST

NON-PROD PRODDEV TEST

Page 66: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

INTEGRATEDIMAGE

REGISTRY

OPENSHIFTCLUSTER

66

PIPELINE PARA ENTREGA CONTINUADEVELOPER GIT SERVER ARTIFACT REPOSITORY

OPENSHIFT CI/CD PIPELINE (JENKINS)

IMAGE BUILD & DEPLOY

INTEGRATEDIMAGEREGISTRY

OPENSHIFTCLUSTER

PROMOTETO TEST

PROMOTETO UAT

NON-PROD PRODDEV TEST UAT

Page 67: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

ServiceNowJIRA Service DeskZendeksBMC Remedy

INTEGRATEDIMAGE

REGISTRY

OPENSHIFTCLUSTER

67

PIPELINE PARA ENTREGA CONTINUADEVELOPER GIT SERVER ARTIFACT REPOSITORY

OPENSHIFT CI/CD PIPELINE (JENKINS)

IMAGE BUILD & DEPLOY

INTEGRATEDIMAGEREGISTRY

OPENSHIFTCLUSTER

GOLIVE?

PROMOTETO TEST

PROMOTETO UAT

RELEASE MANAGER

NON-PROD PROD

☒ ☑

DEV TEST UAT

Page 68: Containers & Cloud Native

OPENSHIFT TECHNICAL OVERVIEW

INTEGRATEDIMAGE

REGISTRY

OPENSHIFTCLUSTER

68

PIPELINE PARA ENTREGA CONTINUADEVELOPER GIT SERVER ARTIFACT REPOSITORY

OPENSHIFT CI/CD PIPELINE (JENKINS)

IMAGE BUILD & DEPLOY

INTEGRATEDIMAGEREGISTRY

OPENSHIFTCLUSTER

GOLIVE?

PROMOTETO TEST

PROMOTETO UAT

PROMOTETO PROD

RELEASE MANAGER

NON-PROD PRODDEV TEST UAT

☒ ☑

Page 69: Containers & Cloud Native

69

¿ QUIÉN ESTÁ HACIENDO ESTO EN SERVICIOS FINANCIEROS ?

Page 70: Containers & Cloud Native

CASO DE ÉXITO:RED HAT OPENSHIFT EN BANCA

Page 71: Containers & Cloud Native

71

MACQUARIE TRANSFORMA LA EXPERIENCIA DE BANCA DIGITAL QUE OFRECE A SUS CLIENTES

Acerca del grupo Macquarie

Sector: Servicios financierosSede central: Sídney, AustraliaTamaño de la empresa: 13 800 (empleados de Macquarie GroupSoluciones: Banca personal y empresarial.

● Gestión de patrimonios a clientes de su banca minorista, asesores, agentes y clientes empresariales.

Page 72: Containers & Cloud Native

UNA BANCA DIGITAL MÁS INTELIGENTE PARA SUS CLIENTES.

● Atención en compañías digitales líderes en la experiencia con el cliente.

● Contar con una experiencia veloz y eficiente. ● Hace 3 años comenzaron a reducir las

aplicaciones monolíticas separandola en microservicio.

● Mayor desafío es continuar satisfaciendo las expectativas de los clientes.

MICROSERVICIOS Y CONTENEDORES PARA MODERNIZAR TI.

● Integración con otras tecnologías líderes open source (Docker y Google Kubernetes para la gestión de recursos).

● RH OpenShift como nube pública en un centro de datos operado por AWS, para trasladar sus aplicaciones monolíticas a microservicios a la nube.

● RH Gluster Storage, plataforma de almacenamiento altamente escalable para asignar estado a los contenedores, y permitir a Paas operar en entornos múltiples.

● RH CloudForms, gestor de nubes para asegurar servicios y sistemas de TI contra riesgos y amenazas externas.

● Ansible de Red Hat, para automatizar los flujos de trabajo de TI y procesos de aprovisionamiento y compilación.

Page 73: Containers & Cloud Native

TRANSFORMAR LOS SISTEMAS INFORMÁTICOS PARA MEJORAR LA EXPERIENCIA DEL DESARROLLADOR Y CLIENTE.

● Mayor escalabilidad y tiempos de lanzamiento más veloces para una experiencia del cliente optimizado.

● Desarrollo más ágil y eficiente.● Seguridad de grado empresarial.● Acceso a servicio a expertos.

EXTENDER LA INNOVACIÓN PARA CONTINUAR LA TRANSFORMACIÓN DIGITAL.

● Banca Patrimonial y empresarial rediseñen sus servicios digitales utilizando los patrones y los estándares ya establecidos para la banca personal.

● Macquaire ya posee una base sólida para el desarrollo continuo y la optimización de servicios innovadores para sus clientes, están preparados para las demandas cambiantes de un mercado moderno.

● Con las soluciones de Red Hat se consiguió dos grandes ventajas: VELOCIDAD y AGILIDAD.

Page 74: Containers & Cloud Native

Beneficios:

● Mejoró la experiencia de los clientes ofreciendo mayor disponibilidad y capacidad de respuesta.● Incrementó la eficiencia, mejorando la productividad del desarrollador en más de un 50% acortando la brecha

de la comercialización de actualizaciones de horas a minutos. ● Obtuvo acceso a innovación open source con seguridad de clase empresarial y soporte Red Hat.● Incremento de conocimientos y capacidades de las tecnologías relacionadas con productos personalizados.

https://www.youtube.com/watch?v=BSg69nqB-RU

Page 75: Containers & Cloud Native

¿Dudas?

Page 76: Containers & Cloud Native

¡MUCHAS GRACIAS!