Post on 27-May-2020
El Desarrollo de Software:Motor de la Innovación y
Competitividad EmpresarialMiguel Ángel DÍAZBDM AppDev & Middlewaremadiaz@redhat.com
AGENDA● Reto● DevOps● Contenedores● Microservicios● NO MORIR: Openshift
¿PO
R D
ÓN
DE
SE
EMP
IEZA
?
Entrega más rápida de aplicaciones y devops
Modernizar aplicaciones existentes con contenedores
Construir aplicaciones nativas cloud con microservicios
DevOps
PRODUCT MANAGERSNegocio
DESARROLLADORESDesarrollo rápido
Agile
OPERACIONESEstabilidad
DevOps
TODOS LOS EQUIPOS ESTÁN PARA FACILITAR EL NEGOCIO
PERO NO TIENEN LOS MISMOS OBJETIVOS
CICLOSCOMPRIMIDOS
IDEA CI/CD
DEVOPS ES EL COMIENZO DEL
VIAJE
LA AUTOMATIZACIÓN
ES EL DESTINO
1 Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación
Configurar build scripts
Escribir código de la aplicación
Test UnitarioDespliegue a entorno Dev compartido
Test Integración
DEV
1
Construir y Desplegar aplicación
Sign off paradesplegar
Integration testingRegression testingFunctional testingNon-functional testingPerformance testingStress testingManual testing
TEST
Construir y Desplegar aplicación
Smoke test
Conseguir Fix Aplicación
Root cause análisis
Issue detectado
Monitorizar la aplicación
OPS
2 3 4
567
1 2 3
456
Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación
Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación1 2 3
4
5678
9
1 Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación
Configurar build scripts
Escribir código de la aplicación
Test UnitarioDespliegue a entorno Dev compartido
Test Integración
DEV
1
Construir y Desplegar aplicación
Sign off paradesplegar
Integration testingRegression testingFunctional testingNon-functional testingPerformance testingStress testingManual testing
TEST
Construir y Desplegar aplicación
Smoke test
Conseguir Fix Aplicación
Root cause análisis
Issue detectado
Monitorizar la aplicación
OPS
2 3 4
567
1 2 3
456
Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación
Solicitar una VMSolicitar plataforma middleware
Configurar entorno para la aplicación1 2 3
4
5678
9
CONJUNTO DE PRÁCTICAS que enfatiza la comunicación, colaboración e integración entre los desarrolladores de software y los profesionales de operaciones.
Busca automatizar el proceso de entrega del software y los cambios en la infraestructura.
Su objetivo es ayudar a crear un entorno donde la construcción, prueba y lanzamiento de un software pueda ser más rápido, con mayor fiabilidad y mayor capacidad de escalado.
¿Qué es devops?
https://www.paradigmadigital.com/blog/
Source: Puppet + DORA, 2016 State of DevOps Report. March 2016. http://www.ciosummits.com/Online_Assets_Puppet_2016_State_of_DevOps_Report.pdf
Las organizaciones que ya trabajan en DevOps declaran:
200x mayor frecuencia de despliegues
24x más rápidos en recuperar de fallos
3x menor número de fallos
2,555x menor tiempo de entrega
14
CONTENEDORES
¿Qué son los contenedores?Los contenedores de Linux son tecnologías que permiten empaquetar y aislar las aplicaciones con sus entornos de tiempo de ejecución completo, es decir, con todos los archivos necesarios para ejecutarse.
Esto facilita mover entre entornos a la aplicación contenida (desarrollo, prueba, producción, etc.) mientras retiene la funcionalidad completa. Se ejecuta lo mismo en Integración, QA, PreProducción y Producción.
HOST OS
CONTENEDOR
LIBRERÍAS
RUNTIME
APLICACIÓN
CGroupsSELinuxOrquestación...
10%
20%
15%
10%
5%
10%
30%
35%
30%
80%
80%
80%
Optimización de recursos y operación
● VM mínima es GRANDE -> BAJA utilización en entornos no productivos● La misma imagen del contenedor se utiliza en dev, test y prod.● En cada entorno o proyecto diferente solo varían los parámetros (formulario)● Puedo crear entornos de prueba efímeros rápidamente
PaaS Utilización
80%
VM Utilización
Media Ponderada: ¿? (20%)
APP 1
APP 2
APP 3
DEV TEST PRE PROD
RED HAT AND CONTAINERS
BENEFICIOS TANGIBLES DE LOS CONTENEDORES
18 Source: Bain/Red Hat Digital Transformation Survey (n=449)
RED HAT AND CONTAINERS19
¿QUÉ SON LOS MICROSERVICIOS?
Aplicación Monolítica
22
22
"Un componente es una unidad de software que es independientemente reemplazable y actualizable"Martin Fowler http://martinfowler.com/articles/microservices.html
Características de una Arquitectura de Microservicios
(MSA)
24
MICROSERVICIOS: no son SOA pequeñitos
25
Aplicaciones SOA centralizadas y a menudo complejas, con conceptos como ESB, BPEL, o WS-*.
Típicamente incluyen reglas muy sofisticadas de enrutamiento, transformación, coreografía y reglas de negocios.
SMART ENDPOINTS AND DUMP PIPES
● Inteligencia está distribuida● Construida en los endpoints ● Conexiones “tontas”: usualmente REST o mensajería ligera
26
26
GOODBYE FUENTE DE DATOS ÚNICA
Gestión descentralizada de los datosCada equipo trabajando en un microservicio debiera escoger la persistencia que quisieran
■ Asegura bajo acoplamiento■ Mejora el tiempo de respuesta■ Right tool for the job
27
27
Beneficios de una Arquitectura de Microservicios
(MSA)
Más fácil ESCALAR
Sistema Monolítico
Microservicios
● Los microservicios son más pequeños, más fáciles de probar y por lo tanto más fáciles de empaquetar en
contenedores.
Despliegues más RÁPIDOSMenor COMPLEJIDAD en el código
VS
● Con el microservicio cada servicio se puede tratar como entidades separadas.
● Se pueden probar por separado y tienen su propio calendario de lanzamiento.
Desarrollo más RÁPIDO
Programmers(18)
Operators(6)
DBAs(3)
Project Managers
(2)
Business Analysts(4)
QualityAssurance
(6)
Mediante equipos más pequeños
DevOpsteam
32
● Construir sistemas distribuidos a gran escala es realmente difícil
● Se necesitan nuevas herramientas de monitorización
● Gestión de Dependencias● Gestión de la Heterogeneidad (lenguajes,
frameworks, almacenes de datos)● Gestión de los datos es un desafío● ORQUESTACIÓN● Se requiere reorganización de equipos
MICROSERVICIOS – LO FEO
CONTENEDORES
MICROSERVICIOS
DEVOPS
Auto ServicioA desarrolladores
Políglota(Multi-Lenguaje)
Soporte CI/CD
Colaboración(proyectos)
Estandarizacióny seguridad
EscalabilidadY operación
Open Source
ProductoEmpresarial
OpenShift: Plataforma de Contenedores de Red Hat
MONOLÍTICA
PRE-SOA SOA MICROSERVICIOS
Virtualización Contenerización
CONTENEDOR
µSVC
CONTENEDOR
µSVC
VM
App Server
SVC
MICROSERVICIOS EN CONTENEDORES: LIGEROS, FLEXIBLES, CLOUD-READY
CONTENEDOR
Aplicaciones modernas requieren Arquitecturas modernas
OPENSHIFT CONTAINER PLATFORM
CONTENEDOR CONTENEDOR CONTENEDOR CONTENEDOR CONTENEDOR CONTENEDOR
µSVC µSVC µSVC RH Mobile SVC SVCµSVC
OrquestaciónAlmacenamiento
Persistente
RH Gluster
40
CASOS DE USOHACIENDO
DEVOPS UNA REALIDAD
EL VALOR DE NEGOCIO DE OPENSHIFT
Source: The Business Value of Red Hat OpenShift, IDC, September 2016
8 m
530%
66%
20%
$1.3 M
PAYBACK
AHORROS INFRAESTRUCTURA
ROI A 5 AÑOS
MÁS RAPIDEZ EN ENTREGA APPS
MEJORA PRODUCTIVIDAD EQUIPOS IT
INCREMENTO BENEFICIOS ANUALES POR CADA 100 DESARROLLADORES
40%
52
REFERENCIAS
256
“Estamos ante un nuevo entorno que exige que el cliente esté en el centro de todo lo que hacemos y la tecnología es una de las palancas clave para abordar ese proceso de transformación”, afirma Ricardo Moreno, Global Head of BBVA Engineering. “Este acuerdo de colaboración con Red Hat nos permitirá sacar el máximo partido a las posibilidades que ofrece el cloud computing con el fin de avanzar en nuestra transformación en un banco digital más flexible y más escalable”.
https://info.bbva.com/es/noticias/ciencia/tecnologia/bbva-firma-una-alianza-estrategica-red-hat-acelerar-la-transformacion-global-del-grupo/
IT IS MORE THAN THE PRODUCTS!!!Banco Santander recupera su consejo asesor internacionalSegún ha explicado la presidenta del banco, el objetivo de este nuevo consejo consultivo es apoyar la transformación digital del grupo en un entorno como el actual.http://www.eleconomista.es/empresas-finanzas/noticias/7431393/03/16/El-santander-recupera-el-consejo-asesor-internacional-que-sera-presidido-por-el-ex-secretario-del-tesoro-de-eeuu.html
“Así, formarán parte del mismo Sheila Bair, rectora de la Washington College; Mike Rhodin, director general en IBM Watson; Frank D'Souza, consejero delegado de Cognizant y miembro del Consejo de General Electric; Marjorie Scardino, miembro del Consejo de Twitter; George Kurtz, consejero delegado de CrowdStrike; Jim Whitehurst, director general de Red Hat; y Charles Phillips, consejero delegado de Infor.”
March 16, 2016