SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Cloud Native
development in the JVM
Agenda
• ¿Que es Cloud Native?
• Principios
• JVM
12 factores
• Heroku
• Circa 2011
• Considera buenos principios de diseño
Varias definiciones
•Pivotal ~2015 https://pivotal.io/cloud-native
•Container Solutions 2017
•http://container-solutions.com/what-is-cloud-native/
•Information Week 2015
•https://www.informationweek.com/cloud/platform-as-a-service/
cloud-native-what-it-means-why-it-matters/d/d-id/1321539?
Cloud native es un enfoque para crear y
ejecutar aplicaciones que aproveche las
ventajas del modelo de entrega de
Cloud Computing. Cloud native trata
sobre cómo se crean e implementan
las aplicaciones,
no dónde se ejecutan.
"Un enfoque para diseñar, construir y
ejecutar aplicaciones basadas en
infraestructura como servicio combinadas
con nuevas herramientas y servicios
operativos como integración continua,
motores de contenedores y orquestadores.
El objetivo general es mejorar la velocidad, la
escalabilidad y finalmente el margen.".
Cloud Native utiliza una stack de
software de código abierto para ser:
• Containerized: Cada parte (aplicaciones, procesos, etc.) se
empaqueta en su propio contenedor. Esto facilita la reproducibilidad, la
transparencia y el aislamiento de los recursos.
• Dinámicamente orquestado: Los contenedores se programan
(scheduled) y gestionan activamente para optimizar la utilización de los
recursos.
• Orientado a microservicios. Las aplicaciones se segmentan en
microservicios. Esto aumenta significativamente la agilidad general y el
mantenimiento de las aplicaciones.
Cloud Native 2018
• Declarativo:API declarativas respaldadas por la
infraestructura como software (no como código estático)
que convergen en un estado deseado. Esto se aplica a
infraestructura, políticas, implementaciones de aplicaciones,
¡todo!
• Dinámico: debido a la alta tasa de cambio y la realización de
implementaciones frecuentes (aplicaciones e
infraestructura).
• Service Discovery,Testing patterns, Service Mesh, etc.
Cloud Native 2018
• Resiliente: a los cambios y descubrimiento de ambientes.
Microservicios es un patrón para esto, pero también puede incluir
otras opciones. La flexibilidad permite la fiabilidad, que es el factor más
importante de los sistemas complejos
• Escalable: las aplicaciones se deben empaquetar de una manera para
escalar horizontalmente en lugar de verticalmente. Idealmente, esto
sería contenedores pero también puede ser lo que llamaría
"contenedores accidentales" para cosas como lambda, motor de
aplicaciones o cualquier PaaS donde no empaque explícitamente su
código en una unidad ejecutable.
Microservicios “automáticos”
• Auto-provisioning: aprovisionamiento automático de entornos
“as code”, inmutables.
• Auto-scaling: monitoreo/observabilidad de los diversos
componentes de tu aplicación y asignación de recursos
automáticamente cuando sea apropiado
• Auto-redundancy: cloud-native apps son resilientes a la falla. En
caso de un problema, el procesamiento de la aplicación se
traslada instantáneamente a otro servidor o centro de datos de
forma automática y sin problemas.
A considerar
• Las operaciones se transformarán en un mundo cloud native
• Tus workloads necesitarán ser priorizadas.
• Los desarrolladores necesitarán codificar un contrato.
• Necesitarás una plataforma ¿construir o comprar?
Cloud Native Infrastructure
• Infraestructura “escondida” debajo de abstracciones consumibles por
APIs manejadas por software.
• Crea una capa nueva responsable de controlar la capa de IaaS que
tiene debajo.
• Permite escalar, mantener y aprovisionar más fácilmente.
• Los patrones influencian no solo a la infraestructura, si no también las
aplicaciones y personas que la operan.
¿Qué no es?
• Correr infraestructura en nube pública.
• No es correr aplicaciones en contenedores.
• No es solo correr un orquestador.
• No es microservicios o Infrastructure as code.
Cloud Native Applications
Una aplicación cloud native es desarrollada
para correr dentro de una plataforma y es
diseñada para resiliencia, agilidad, operabilidad
y observabilidad.
Características de una
aplicación Cloud Native
• Microservicios
• Reportes de salud
• Telemetria
• Resiliencia
• Declarativo, no Reactivo
Service Mesh
¿Qué es un Service Mesh?
• Es una capa de infraestructura configurable y que está encima de
nuestros microservicios.
• Nos provee service discovery, load balancing, seguridad entre muchas
otras cualidades según la alternativa que usemos.
• Usualmente se implemente utilizando proxys (llamados sidecars) en
cada uno de nuestros servicios.
Sidecars
• Se encarga de las comunicaciones interservicio, monitoreo, seguridad y
cualquier cosa que pueda ser abstraída de los servicios individuales.
• De esta manera los desarrolladores solo manejan el desarrollo y
mantenimiento de las aplicaciones, y las operaciones se mantienen
como otra capa.
Alternativas
•Linkerd
•Conduit
•Istio
•Consul
Istio
●Load balancing para trafico HTTP, gRPC,WebSocket, y TCP.
●Routing rules, retries, failovers y fault injection.
●Access controls, rate limites y quotas.
●Metricas, logs y trazabilidad.
●Ingress y egress.
●Seguridad servicio a servicio.
Plataformas
• Kubernetes
• Servicios registrados en Consul
• Servicios corriendo enVMs individuales.
Arquitectura
• Data plane: Se compone de un set de proxies inteligentes (Envoy)
encargados de mediar y controlar toda la comunicación de los
microservicios.
• Control plane: Maneja y configura los proxies. Configura también a
Mixer para verificar que las políticas sean cumplidas y la telemetría sea
recolectada.
ENVOY
• Es un proxy altamente performante escrito en C++, media la entrada y
salida de todo el tráfico.
• Es desplegado como sidecar en el mismo pod donde habite cada
aplicación.Aprovechando este modelo no es necesario rehacer la
arquitectura ni reescribir código.
¡Nuevas herramientas!
Microservices
Microservices
•Propósito único
•Unidades de despliegue y operación separadas
•Interfaz simple bien definida
•Modular e independiente
•Persistencia aislada
•Reemplazable sobre mantenible
•Ideal para grandes sistemas
Los microservices no son
más que SOA hecho correctamente
Principios de arquitectura
• Un microservice es un componente de despliegue
independiente, de alcance limitado que admite la
interoperabilidad a través de la comunicación basada
en mensajes.
• La arquitectura de microservices es un estilo de
ingeniería de sistemas de software altamente
automatizados y orientados a alta disponibilidad.
Principios
• Pequeño en tamaño (Subjetivo)
• Mensajería habilitada
• Limitado por contextos
• Desarrollado de forma autónoma
• Desplegable de forma independiente
• Descentralizado
Más sobre Arquitectura
• En una arquitectura de microservices, los servicios
tienden a ser más simples, pero la arquitectura tiende a
volverse más compleja.
• Esa complejidad a menudo se administra con
herramientas, automatización y procesos.
• Es un hecho que el control y la administración de un
sistema de microservices es más costoso que en otros
estilos arquitectónicos.
¿Alguien haciendo Microservices?
¿y la JVM apá?
Micronaut
• Compile timeVS runtime
• Modelo de programación conocido
• Cloud Native features
• Service Discovery
• Load Balancing
• Observability
• Distributed tracing
Demo

Más contenido relacionado

La actualidad más candente

Introducción al protocolo AMQP
Introducción al  protocolo AMQPIntroducción al  protocolo AMQP
Introducción al protocolo AMQPAbraham Ntd
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Desarrollo de Cloud Computing
Desarrollo de Cloud ComputingDesarrollo de Cloud Computing
Desarrollo de Cloud Computingcampuspartyquito
 
Serverless en tu idioma - ChilangoDev Ene 2017
Serverless en tu idioma - ChilangoDev Ene 2017Serverless en tu idioma - ChilangoDev Ene 2017
Serverless en tu idioma - ChilangoDev Ene 2017Martin Trejo
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Guillermo Javier Bellmann
 
Plataforma windows azure
Plataforma windows azurePlataforma windows azure
Plataforma windows azureLeonardo Mejia
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIsJorge Rodriguez
 
Liquid Day - Microservicios y contenedores
Liquid Day - Microservicios y contenedoresLiquid Day - Microservicios y contenedores
Liquid Day - Microservicios y contenedoresSoftware Guru
 
Arquitectura en la nube convertido
Arquitectura en la nube convertidoArquitectura en la nube convertido
Arquitectura en la nube convertidoMelissaBarahona4
 
MCT Colombia Meeting Abr 2016 - Linux + Azure: Debate
MCT Colombia Meeting Abr 2016 - Linux + Azure: DebateMCT Colombia Meeting Abr 2016 - Linux + Azure: Debate
MCT Colombia Meeting Abr 2016 - Linux + Azure: DebateCloudFirst Campus
 

La actualidad más candente (11)

Capitulo 3
Capitulo 3Capitulo 3
Capitulo 3
 
Introducción al protocolo AMQP
Introducción al  protocolo AMQPIntroducción al  protocolo AMQP
Introducción al protocolo AMQP
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Desarrollo de Cloud Computing
Desarrollo de Cloud ComputingDesarrollo de Cloud Computing
Desarrollo de Cloud Computing
 
Serverless en tu idioma - ChilangoDev Ene 2017
Serverless en tu idioma - ChilangoDev Ene 2017Serverless en tu idioma - ChilangoDev Ene 2017
Serverless en tu idioma - ChilangoDev Ene 2017
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
 
Plataforma windows azure
Plataforma windows azurePlataforma windows azure
Plataforma windows azure
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIs
 
Liquid Day - Microservicios y contenedores
Liquid Day - Microservicios y contenedoresLiquid Day - Microservicios y contenedores
Liquid Day - Microservicios y contenedores
 
Arquitectura en la nube convertido
Arquitectura en la nube convertidoArquitectura en la nube convertido
Arquitectura en la nube convertido
 
MCT Colombia Meeting Abr 2016 - Linux + Azure: Debate
MCT Colombia Meeting Abr 2016 - Linux + Azure: DebateMCT Colombia Meeting Abr 2016 - Linux + Azure: Debate
MCT Colombia Meeting Abr 2016 - Linux + Azure: Debate
 

Similar a Cloud Native Development in the JVM

Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyDomingo Suarez Torres
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
 
Cloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptxCloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptxJuanCarlosBarillas3
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y BarcelonaSanti Macias Rodriguez
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nubepcland
 
Presentacion la arquitectura de la nube
Presentacion la arquitectura de la nubePresentacion la arquitectura de la nube
Presentacion la arquitectura de la nubeRobertoLagos13
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...MongoDB
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...campus party
 
Arquitectura de la nube
Arquitectura de la nubeArquitectura de la nube
Arquitectura de la nubeGersonReyes11
 
Arquitectura de la nube
Arquitectura de la nubeArquitectura de la nube
Arquitectura de la nubeyilisava
 
Arquitectura de la nube modelos de servicio y despliegue
Arquitectura de la nube modelos de servicio y despliegueArquitectura de la nube modelos de servicio y despliegue
Arquitectura de la nube modelos de servicio y desplieguekimberlymuoz5
 
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....Yhorby Matias
 
Nube informatica erika
Nube informatica  erikaNube informatica  erika
Nube informatica erikaerikakarol
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricBelatrix Software
 
Lynxwork OpenStack Services
Lynxwork OpenStack ServicesLynxwork OpenStack Services
Lynxwork OpenStack ServicesArturo Vargas
 

Similar a Cloud Native Development in the JVM (20)

Microservicios.pptx
Microservicios.pptxMicroservicios.pptx
Microservicios.pptx
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
Cloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptxCloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptx
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nube
 
Presentacion la arquitectura de la nube
Presentacion la arquitectura de la nubePresentacion la arquitectura de la nube
Presentacion la arquitectura de la nube
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
Arquitectura de la nube
Arquitectura de la nubeArquitectura de la nube
Arquitectura de la nube
 
Arquitectura de la nube
Arquitectura de la nubeArquitectura de la nube
Arquitectura de la nube
 
Arquitectura de la nube modelos de servicio y despliegue
Arquitectura de la nube modelos de servicio y despliegueArquitectura de la nube modelos de servicio y despliegue
Arquitectura de la nube modelos de servicio y despliegue
 
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
 
M vs m
M vs mM vs m
M vs m
 
Nube informatica erika
Nube informatica  erikaNube informatica  erika
Nube informatica erika
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service Fabric
 
Principios de cloud native
Principios de cloud nativePrincipios de cloud native
Principios de cloud native
 
Lynxwork OpenStack Services
Lynxwork OpenStack ServicesLynxwork OpenStack Services
Lynxwork OpenStack Services
 

Más de Domingo Suarez Torres

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesDomingo Suarez Torres
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivirDomingo Suarez Torres
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosDomingo Suarez Torres
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityDomingo Suarez Torres
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextDomingo Suarez Torres
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Domingo Suarez Torres
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootDomingo Suarez Torres
 

Más de Domingo Suarez Torres (20)

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
 
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMXContenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
 
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDLJava Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
 
Cloud Native Mexico Presentacion
Cloud Native Mexico PresentacionCloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
 
gRPC: Beyond REST
gRPC: Beyond RESTgRPC: Beyond REST
gRPC: Beyond REST
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016
 
Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (13)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Cloud Native Development in the JVM

  • 2. Agenda • ¿Que es Cloud Native? • Principios • JVM
  • 3. 12 factores • Heroku • Circa 2011 • Considera buenos principios de diseño
  • 4.
  • 5. Varias definiciones •Pivotal ~2015 https://pivotal.io/cloud-native •Container Solutions 2017 •http://container-solutions.com/what-is-cloud-native/ •Information Week 2015 •https://www.informationweek.com/cloud/platform-as-a-service/ cloud-native-what-it-means-why-it-matters/d/d-id/1321539?
  • 6. Cloud native es un enfoque para crear y ejecutar aplicaciones que aproveche las ventajas del modelo de entrega de Cloud Computing. Cloud native trata sobre cómo se crean e implementan las aplicaciones, no dónde se ejecutan.
  • 7. "Un enfoque para diseñar, construir y ejecutar aplicaciones basadas en infraestructura como servicio combinadas con nuevas herramientas y servicios operativos como integración continua, motores de contenedores y orquestadores. El objetivo general es mejorar la velocidad, la escalabilidad y finalmente el margen.".
  • 8.
  • 9. Cloud Native utiliza una stack de software de código abierto para ser: • Containerized: Cada parte (aplicaciones, procesos, etc.) se empaqueta en su propio contenedor. Esto facilita la reproducibilidad, la transparencia y el aislamiento de los recursos. • Dinámicamente orquestado: Los contenedores se programan (scheduled) y gestionan activamente para optimizar la utilización de los recursos. • Orientado a microservicios. Las aplicaciones se segmentan en microservicios. Esto aumenta significativamente la agilidad general y el mantenimiento de las aplicaciones.
  • 10.
  • 11. Cloud Native 2018 • Declarativo:API declarativas respaldadas por la infraestructura como software (no como código estático) que convergen en un estado deseado. Esto se aplica a infraestructura, políticas, implementaciones de aplicaciones, ¡todo! • Dinámico: debido a la alta tasa de cambio y la realización de implementaciones frecuentes (aplicaciones e infraestructura). • Service Discovery,Testing patterns, Service Mesh, etc.
  • 12. Cloud Native 2018 • Resiliente: a los cambios y descubrimiento de ambientes. Microservicios es un patrón para esto, pero también puede incluir otras opciones. La flexibilidad permite la fiabilidad, que es el factor más importante de los sistemas complejos • Escalable: las aplicaciones se deben empaquetar de una manera para escalar horizontalmente en lugar de verticalmente. Idealmente, esto sería contenedores pero también puede ser lo que llamaría "contenedores accidentales" para cosas como lambda, motor de aplicaciones o cualquier PaaS donde no empaque explícitamente su código en una unidad ejecutable.
  • 13. Microservicios “automáticos” • Auto-provisioning: aprovisionamiento automático de entornos “as code”, inmutables. • Auto-scaling: monitoreo/observabilidad de los diversos componentes de tu aplicación y asignación de recursos automáticamente cuando sea apropiado • Auto-redundancy: cloud-native apps son resilientes a la falla. En caso de un problema, el procesamiento de la aplicación se traslada instantáneamente a otro servidor o centro de datos de forma automática y sin problemas.
  • 14. A considerar • Las operaciones se transformarán en un mundo cloud native • Tus workloads necesitarán ser priorizadas. • Los desarrolladores necesitarán codificar un contrato. • Necesitarás una plataforma ¿construir o comprar?
  • 15. Cloud Native Infrastructure • Infraestructura “escondida” debajo de abstracciones consumibles por APIs manejadas por software. • Crea una capa nueva responsable de controlar la capa de IaaS que tiene debajo. • Permite escalar, mantener y aprovisionar más fácilmente. • Los patrones influencian no solo a la infraestructura, si no también las aplicaciones y personas que la operan.
  • 16. ¿Qué no es? • Correr infraestructura en nube pública. • No es correr aplicaciones en contenedores. • No es solo correr un orquestador. • No es microservicios o Infrastructure as code.
  • 17. Cloud Native Applications Una aplicación cloud native es desarrollada para correr dentro de una plataforma y es diseñada para resiliencia, agilidad, operabilidad y observabilidad.
  • 18. Características de una aplicación Cloud Native • Microservicios • Reportes de salud • Telemetria • Resiliencia • Declarativo, no Reactivo
  • 20. ¿Qué es un Service Mesh? • Es una capa de infraestructura configurable y que está encima de nuestros microservicios. • Nos provee service discovery, load balancing, seguridad entre muchas otras cualidades según la alternativa que usemos. • Usualmente se implemente utilizando proxys (llamados sidecars) en cada uno de nuestros servicios.
  • 21. Sidecars • Se encarga de las comunicaciones interservicio, monitoreo, seguridad y cualquier cosa que pueda ser abstraída de los servicios individuales. • De esta manera los desarrolladores solo manejan el desarrollo y mantenimiento de las aplicaciones, y las operaciones se mantienen como otra capa.
  • 23. Istio ●Load balancing para trafico HTTP, gRPC,WebSocket, y TCP. ●Routing rules, retries, failovers y fault injection. ●Access controls, rate limites y quotas. ●Metricas, logs y trazabilidad. ●Ingress y egress. ●Seguridad servicio a servicio.
  • 24. Plataformas • Kubernetes • Servicios registrados en Consul • Servicios corriendo enVMs individuales.
  • 25. Arquitectura • Data plane: Se compone de un set de proxies inteligentes (Envoy) encargados de mediar y controlar toda la comunicación de los microservicios. • Control plane: Maneja y configura los proxies. Configura también a Mixer para verificar que las políticas sean cumplidas y la telemetría sea recolectada.
  • 26.
  • 27.
  • 28. ENVOY • Es un proxy altamente performante escrito en C++, media la entrada y salida de todo el tráfico. • Es desplegado como sidecar en el mismo pod donde habite cada aplicación.Aprovechando este modelo no es necesario rehacer la arquitectura ni reescribir código.
  • 30.
  • 31.
  • 33. Microservices •Propósito único •Unidades de despliegue y operación separadas •Interfaz simple bien definida •Modular e independiente •Persistencia aislada •Reemplazable sobre mantenible •Ideal para grandes sistemas
  • 34. Los microservices no son más que SOA hecho correctamente
  • 35. Principios de arquitectura • Un microservice es un componente de despliegue independiente, de alcance limitado que admite la interoperabilidad a través de la comunicación basada en mensajes. • La arquitectura de microservices es un estilo de ingeniería de sistemas de software altamente automatizados y orientados a alta disponibilidad.
  • 36. Principios • Pequeño en tamaño (Subjetivo) • Mensajería habilitada • Limitado por contextos • Desarrollado de forma autónoma • Desplegable de forma independiente • Descentralizado
  • 37. Más sobre Arquitectura • En una arquitectura de microservices, los servicios tienden a ser más simples, pero la arquitectura tiende a volverse más compleja. • Esa complejidad a menudo se administra con herramientas, automatización y procesos. • Es un hecho que el control y la administración de un sistema de microservices es más costoso que en otros estilos arquitectónicos.
  • 39.
  • 40.
  • 41. ¿y la JVM apá?
  • 42.
  • 43.
  • 44. Micronaut • Compile timeVS runtime • Modelo de programación conocido • Cloud Native features • Service Discovery • Load Balancing • Observability • Distributed tracing
  • 45. Demo