Documente Academic
Documente Profesional
Documente Cultură
Jhon Inga
Middleware Solutions Architect
jhon@redhat.com
Openshift se instala en cualquier infraestructura
OPENSHIFT
Sea ambiente virtual...
Homologado para:
OPENSHIFT
Nube privada...
Homologado para:
OPENSHIFT
O nube pública
Homologado para:
OPENSHIFT
Los nodos son instancias de RHEL donde su aplicación se
ejecutará
OPENSHIFT
Las aplicaciones se ejecutan en varios
nodos
OPENSHIFT
Master orquesta las aplicaciones en
nodos
OPENSHIFT
Toda comunicación es segura en el Openshift
OPENSHIFT
Máster proporciona una API para usuarios y
clientes
OPENSHIFT
Máster utiliza una base de datos (clave-valor)
llamado etcd
OPENSHIFT
Master proporciona un "programador" de
aplicaciones
OPENSHIFT
La programación de las aplicaciones se basa en
políticas
OPENSHIFT
En el momento de la creación de la aplicación, se eligen los mejores
nodos
OPENSHIFT
Puede separar aplicaciones en entornos
DEV
QA
OPENSHIFT
Servicio permite que la aplicación se comunique
internamente
● postgresql:5432
● <service>.<pod_namespace>.svc.
cluster.local:<port>
● variables internas
OPENSHIFT
Replication Controller gestiona el ciclo de vida de la
aplicación
OPENSHIFT
Registry es donde se almacena las imágenes de la
aplicación
OPENSHIFT
Openshift administra el balanceo automáticamente
Balancer
OPENSHIFT
Y si la aplicación falla?
Balancer
OPENSHIFT
Openshift la recupera y crea una nueva automáticamente
Balancer
OPENSHIFT
¿Y la sesión de los usuarios?
Balancer
OPENSHIFT
La sesión se puede replicar
Balancer
JDG
JDG
OPENSHIFT
O externalizar
Balancer
JDG
JDG
OPENSHIFT
¿Y si la aplicación no está lista para ser usada?
Balancer
OPENSHIFT
Openshift agrega la aplicación al balanceo cuando está lista
Balancer
OPENSHIFT
¿Y si quiero separar el tráfico en balanceadores diferentes?
Balancer
DEV
QA
OPENSHIFT
Openshift permite un enfoque multitenant
Balancer
DEV
Balancer
QA
OPENSHIFT
Openshift bloquea la comunicación entre entornos de
aplicación
DEV
QA
OPENSHIFT
Y si la aplicación intenta consumir todo los recursos
del nodo?
OPENSHIFT
Y si la aplicación intenta consumir todo los recursos
del nodo?
OPENSHIFT
Y si la aplicación intenta consumir todo los recursos
del nodo?
OPENSHIFT
Openshift la impedirá por medio de las cuotas y
límites
OPENSHIFT
Y si un nodo falla o necesita mantenimiento?
OPENSHIFT
Openshift migrará las aplicaciones a otros nodos
OPENSHIFT
Y si las instancias de mi aplicación no son suficientes?
OPENSHIFT
Openshift realizará un auto-scaling (scale-out)
OPENSHIFT
Y también el scale será en automático
OPENSHIFT
¿Y si necesito ahorrar más recursos?
OPENSHIFT
Openshift pondrá la app en idle
OPENSHIFT
Cuando se tiene acceso a OpenShift se iniciará una app
nuevamente
Cliente
OPENSHIFT
Y cómo agrego mi app en Openshift?
OPENSHIFT
Openshift construye apps usando Source-to-Image (sti/s2i)
OPENSHIFT
Sólo tienes que identificar al repositorio del
Git Repo
código fuente
OPENSHIFT
Y una plantilla o entorno del lenguaje
Git Repo
(opcional)
OPENSHIFT
Openshift crea la imagen y la guarda en el
Git Repo
Registro
OPENSHIFT
Y ejecuta la imagen de la aplicación recién
Git Repo
creada
OPENSHIFT
Además de la fuente, también es posible usar el binario de la
aplicación
JAR/WAR/EAR
OPENSHIFT
STI también se aplica para otros templates como Httpd
Git Repo
OPENSHIFT
Y si quiero ejecutar el proceso batch?
OPENSHIFT
Openshift ejecutará cron jobs
Cron:
*/1 * * * *
OPENSHIFT
Y si hay un error de seguridad en mi aplicación?
OPENSHIFT
Openshift actualizará la aplicación de manera automática
OPENSHIFT
Y si quiero supervisar los recursos de la aplicación?
OPENSHIFT
Openshift permite monitorear:
● CPU
● Memoria
● Red
OPENSHIFT
Por medio de Hawkular, Heapster y Cassandra
NODE
RED HAT
POD POD
CONTAINER METRICS CLOUDFORMS
NODE
FLUENTD
POD POD
API OPENSHIFT WEB
HEAPSTER HAWKULAR
POD POD CONSOLE
NODE USER
RHEL
FLUENTD CUSTOM
POD POD DASHBOARDS
POD POD ELASTI
CADVISOR
ELASTI
C
CCASSANDRA
RHEL
POD POD
RHEL
OPENSHIFT
Y si deseo supervisar los logs de mi aplicación de manera
centralizada?
OPENSHIFT
Openshift ya viene con el stack EFK
● ElasticSearch
● Fluentd
● Kibana
OPENSHIFT
Openshift ya viene con el stack EFK
NODE
POD POD
OPERATION LOGS
NODE
ELASTI ELASTI
FLUENTD ELASTI ELASTI
POD POD C C
ELASTICSEARCH
C C KIBANA
POD POD
ADMIN
NODE
RHEL APPLICATION LOGS
FLUENTD
POD POD
POD POD
FLUENTD
ELASTI ELASTI
ELASTI ELASTI
C C
RHEL ELASTICSEARCH
C C KIBANA
POD POD
USER
RHEL
OPENSHIFT
Y si un nodo se satura de instancias de mi aplicación?
OPENSHIFT
Openshift creará nuevas aplicaciones usando QoS
● Guaranteed
● Burstable
● BestEffort
OPENSHIFT
Y si todos los nodos se saturan?
OPENSHIFT
CloudForms agrega más nodos
OPENSHIFT
Las aplicaciones pueden utilizar un storage para servicios
stateful
OPENSHIFT
Compatible con las principales tecnologías
del mercado
Homologado para:
OpenStack
NFS Azure Disk AWS EBS
Cinder
OPENSHIFT
Y puede utilizar persistencia con contenedores
MASTER
RHGS RHGS POD POD RHGS POD POD POD POD POD
OPENSHIFT
La capa de enrutamiento permite el acceso externo a la
aplicación
OPENSHIFT
Y si quiero probar nuevas versiones de mi aplicación?
OPENSHIFT
Openshift ejecuta un rolling update como canary deploy
OPENSHIFT
Y también hace rollback manual o automático
OPENSHIFT
Openshift realiza el A/B Testing
v1.0
OPENSHIFT
Y el Blue Green Deployment
Balancer
OPENSHIFT
Y si quiero implementar implementar CI/CD?
OPENSHIFT
Openshift ya viene integrado con Jenkins y sus slaves
S S S
OPENSHIFT
Los slaves se quitan después de su ejecución
S S S
OPENSHIFT
Openshift también se comunica con servicios externos
External Database
OPENSHIFT
Desarrollador accede a Openshift por la web, CLI o IDE
OPENSHIFT
CONTAINERS EN PRODUCCIÓN USANDO EL
RED HAT OPENSHIFT
Otros Clientes que usan Openshift
79 OpenShift
Demo
time!
DEMO OPENSHIFT CI/CD
Sonar Nexus
Qube Reposit.
Jenkins:
Coverage Static
Analysis
Jenkins:
Unit Tests OpenShift: OpenShift:
Build Docker Image Promote Image
Deploy to DEV Deploy to STAGE
81 OpenShift
Muchas gracias
plus.google.com/+RedHat facebook.com/redhatinc
linkedin.com/company/red-hat twitter.com/RedHatNews
youtube.com/user/RedHatVideos
CAMBIOS FUNDAMENTALES
OS Dependencies OS deps
Hypervisor
Hardware
Hardware
Físico
Virtual
Source CI/CD
Dev Container Nube Privada
Repository Engine
Nube Pública
DEMO OPENSHIFT CI/CD
88 OpenShift