76

Containers & Cloud Native

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

2

Containers & Cloud Native

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

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

4

CLOUD NATIVE APPS

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

F7149-051517

8

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

F7149-051517

9

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

DE SOA A MICROSERVICIOS

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

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

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

INSERT DESIGNATOR, IF NEEDED14

¿QUÉ SON LOS MICROSERVICIOS?

Sistema Monolítico

Microservicios

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

16

DATA DESCENTRALIZADA

Involucrar a los DBA’s.

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

MONOLITO

MyApp

MICROSERVICIOS

MICROSERVICIOS

MICROSERVICIOS

MICROSERVICIOS

MICROSERVICIOS

MICROSERVICIOS

RED DE MSA

CONTENEDORES

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

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

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

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

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.

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

RED DE MSA

@burrsutter - bit.ly/istio-intro

Observability

@burrsutter - bit.ly/istio-intro

MyService

Monitoring

Tracing

API

Discovery

Invocation

Resilience

Pipeline

Authentication

Logging Elasticity

Microservices'ilities + Istio

@burrsutter - bit.ly/istio-intro

@burrsutter - bit.ly/istio-intro

@burrsutter - bit.ly/istio-intro

Kiali.ioNew Service Graph

@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

@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

@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

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

Sidecar

OPENSHIFT SERVICE MESH (OSM)

Observe Observe

Secure

ControlConnect

Jaeger Prometheus

Istio

KIALI (GUI VISUALIZATION FOR ISTIO / OSM)

45

PATRONES DE LOS MICROSERVICIOS

MyService

Monitoreo

Tracing

API

Descubrimiento

Invocación

Resiliencia

Pipeline

Autenticación

Logging Elasticidad

F7149-051517

46

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

MÁS QUE ORQUESTACIÓN

DE CONTENEDORES

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).

GENERAL DISTRIBUTION

Autoservicio

Políglota

Automatización

Colaboración

Seamless

Basado en estándares

Web-scale

Open Source

Grado Empresarial

Seguridad

GENERAL DISTRIBUTION

CONTAINER

ARQUITECTURA DE MICROSERVICIOS

CONTAINER

CLIENT

RES

T A

PI

SERVICE

DATASTORE

50

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

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

ARQUITECTURA DE RED HAT OPENSHIFT

DEVOPS: HABILITADOR DE AUTOGESTIÓN Y AGILIDAD

F7149-051517

58

F7149-051517

59

DEL MAINFRAME A LAS TRIBES

Cliente Negocio IT/Back-Office

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

DEVOPS - CULTURA

61

10 despligues por día

¿Cómo es posible?

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

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.

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

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

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

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

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

☒ ☑

69

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

CASO DE ÉXITO:RED HAT OPENSHIFT EN BANCA

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.

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.

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.

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

¿Dudas?

¡MUCHAS GRACIAS!