Documente Academic
Documente Profesional
Documente Cultură
1
Programa de la agenda
1 Conceptos y Siglas
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Native Computing Foundation
5 Demo: Jenkins y Kubernetes
2
Programa de la agenda
1 Conceptos y Siglas
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Native Computing Foundation
5 Demo: Jenkins y Kubernetes
3
La tecnología ha llegado muy lejos…
~ 1980 Cascada Monolítico Servidor Físico Datacenter
~ 1990
Oper Buil
Ahora
ate d
Deplo
y Test
Release
4
¿Lo que efectivamente las empresas buscan?
Reducir el
costo
Acelerar el
desarrollo
Disminuir
Go-Live
5
Los conceptos de moda y algunas siglas
GPL Transformación
Gnu Program License
CNCF Digital
Open Source Public Cloud
Cloud Native Computing Foundation
SDS
DevOps
Private Cloud Software-Defined Storage
Hybrid Cloud
SRE NFV
DevSecOps IOT Network Function Virtualization
Internet of Thing Multi Cloud Site Reliability Engineering
CI / CD
Machine Learning
Continuos Integration / Continuous Delivery
Agile Microservices
ITIL AI
Lean Big Data Artificial Inteligence
SDN Containers
SCRUM Blockchain
Software-Defined Network
VR HPC
AR Analytics
Augmented Reality
Virtual Reality Serverless High Performance Computing
6
Los conceptos de moda y algunas siglas
SDS
Open Source
Transformación
GPL
Public Cloud Software-Defined Storage
Cloud
Cloud Native
Native Computing
Computing Foundation
Foundation
ITIL AI
CI / CD
Lean Big Data Artificial Inteligence
SDN Containers
Continuos
SCRUM
Software-Defined Network
AR
Continuos Integration
Integration // Continuous
VR
Continuous Delivery
Delivery
Blockchain
Microservices
HPC
Analytics
Augmented Reality
Virtual Reality Serverless High Performance Computing
7
Transformación Transformación Digital es el
proceso de exploración de las tecnologías
Digital
digitales y soporte de las capacidades para crear
un modelo de negocios digital nuevo y robusto.
-Gartner
8
El concepto de Agile
Agile, ahora conocido por algunos de sus autores de manifiestos como agilidad, se centra en
eliminar las barreras del proceso y permitir que las partes interesadas clave, personas como
desarrolladores y clientes, colaboren más estrechamente para acelerar la entrega. Agile destaca
la constancia del cambio y reconoce que, como productores de software, a menudo no sabemos
todo lo que necesitamos para concebir, desarrollar y entregar con éxito software de alta calidad
en ciclos de vida monolíticos.
Entonces, aunque Agile ha llegado a significar cosas diferentes en las últimas dos décadas, sus
fundamentos permanecen: eliminar las barreras de proceso que empoderan a las personas,
producir software de trabajo rápidamente, colaborar estrechamente con los clientes y responder
(en lugar de resistirse) al cambio.
9 -Synopsis
Manifiesto Agile
Seguimos estos principios:
• Nuestra máxima prioridad es satisfacer al
cliente a través de la entrega temprana y
continua de software valioso.
• La gente de negocios y los desarrolladores
deben trabajar juntos a diario durante todo el
proyecto.
• El software de trabajo es la medida principal
del progreso.
• Los procesos ágiles promueven el desarrollo
sostenible.
• El patrocinador, los desarrolladores y los
usuarios deberían poder mantener un ritmo
constante indefinidamente.
10
DevOps es la práctica de los ingenieros de
operaciones y desarrollo que participan juntos en
todo el ciclo de vida del servicio, desde el diseño
hasta el proceso de desarrollo y el soporte de
producción.
-The Agile Admin blog
Culture
Automation
Lean
Measurement
Sharing
12
DevOps Logo
13
Fundamentos DevOps
Primera
Metodologia Personas
Procesos
Herramientas
14
Fundamentos DevOps
Segunda Metodologia
15
Fundamentos DevOps
Tercera Metodologia
Gestión eficiente
Trabajar en lotes pequeños.
Límites de trabajo en progreso.
Circuitos de retroalimentacion.
Visualización.
16
Fundamentos DevOps
Cuarta Metodologia
Controle de cambio
Quinta Metodologia
Infraestructura como Código
Sistemas tratados como código.
Comprobado en control de fuente.
Revisado, construido y probado.
Gestionado programáticamente.
18
Fundamentos DevOps
19
20
CI/CD
(Continuous Integration / Continuous Delivery)
Integración Continua
• El commit del código es frecuente en el control
de código fuente.
• Ejecuta compilaciones automatizadas en cada
commit de código.
• Resultado = Detección de errores más rápido
Entrega Continua
• Paso 1: Integración Continua
• Liberar compilaciones de código para usuarios
finales.
• Resultado = Enviar software más rápido a los
usuarios finales.
21
Diferencia entre
Diferencia entre Agile,
Agile, CI/CD
CI/CD y DevOps
y DevOps
se
se centra en
centra en se
se centra en
centra en se
se centra en
centra en
procesos
procesos ciclos
ciclosde
devida
vida definidos por
definidos por cultura
cultura
software
software
resaltando
resaltando resaltando
resaltando
cambio
cambio resaltando
resaltando roles
roles
herramientas
herramientas
mientras acelera
mientras acelera que
que enfatizan
enfatizan
entrega
entrega que
que enfatizan
enfatizan sensibilidad
sensibilidad
automatización
automatización
22
18
Programa de la agenda
1 Conceptos y Siglas
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Native Computing Foundation
5 Demo: Jenkins y Kubernetes
23
El código abierto es un modelo de
desarrollo de software basado en la colaboración
abierta. Se enfoca más en los beneficios prácticos
(acceso al código fuente) que en cuestiones éticas
o de libertad que tanto se destacan en el software
libre. Para muchos el término “libre” hace
referencia al hecho de adquirir un software de
manera gratuita.
24
Software Open Source, algunos pocos ejemplos
PostgreSQL C++ Prometheus
Kata
Linux Kubernetes Jenkins MongoDB
LXC MySQL Fluentd
Git Go Docker
KDE Containerd KVM
Python Grafana
Vagrant
OpenStack Terraform XEN
Rundek Elastic
Gnome OpenLDAP
Postfix Wireshark oVirt
Istio
FreeIPA Keepalive Ansible JavaSC
Thunderbird
Firefox HAProxy Virtualbox
Corosync Sendmail
Ruby Spacewalk
Gimp Ceph Gluster
25
LibreOffice
Software Open Source, algunos pocos ejemplos
Prometheus
PostgreeSQL C++
Kata
Linux Kubernetes LXC MySQL
MongoDB
KDE Go KVM
Grafana
Python Containerd
OpenStack
Docker Terraform Rundek Elastic Git XEN
Gnome OpenLDAP
Fluentd Jenkins
Postfix Wireshark oVirt
HAProxy
Istio
FreeIPA Keepalive Ansible
Virtualbox
JavaSC
Thunderbird
Firefox
Ruby
Gimp
Vagrant
Corosync Sendmail
Ceph Gluster
Spacewalk
26
LibreOffice
Programa de la agenda
1 Conceptos y Siglas
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Native Computing Foundation
5 Demo: Jenkins y Kubernetes
27
En una arquitectura de microservicios,
cada microservicios es propietario de una tarea
simple y se comunica con los clientes o con otros
microservicios mediante mecanismos de
comunicación sencillos, como las solicitudes de
Microservices
la API de REST.
-Karthik Gaekwad
28
Comparación de arquitectura de aplicaciones y microservicios
User Interface
Entidad de
Microservice implementación
Microservice
Entidad de UI única
implementación
única Business Layer
Quieres...
Desarrollo de App tradicionales Microservicios
Waterfall Lifecycle Complejidad pero flexible
• Entregado como monolito, • Entregado como componentes
menos partes móviles, más fácil individuales
probar
• La implementación / prueba se • La implementación / prueba se
centra en un componente grande centra en muchos servicios y en
diferentes combinaciones de
versiones
• Más difícil de escalar • Fácil de escalar
• Menos ágil • Más ágil
34
Casos de uso comunes de adopción de microservicios
Quiero ampliar mi
aplicación monolítica existente
agregando microservicios en la
periferia.
Quiero
descomponer una
aplicación modular existente en
una aplicación de estilo
microservicios
Quiero construir una
nueva
aplicación de estilo
microservicios desde cero.
35
En estos tiempos, el software se está distribuyendo
como un servicio: se le denomina web apps,
o software as a service (SaaS).
36
https://12factor.net/es/
Programa de la agenda
1 Conceptos y Siglas
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Native Computing Foundation
5 Demo: Jenkins y Kubernetes
37
La Cloud
Native Computing
Foundation utiliza una pila de software de
código abierto para implementar aplicaciones como
microservicios, empacando cada parte en su propio
contenedor y orquestando dinámicamente esos
contenedores para optimizar la utilización de los
recursos, además de generar estándares para el
Mercado.
-CNCF
38
Un panorama tecnológico complicado, en rápida evolución
39
El Mapa del Sendero hacia Cloud Native
40
Kubernetes es un sistema de código libre
para la automatización del despliegue, ajuste de
escala y manejo de aplicaciones en contenedores
que fue originalmente diseñado por Google y
donado a la Cloud Native Computing
Foundation. Soporta diferentes entornos para la
ejecución de contenedores, incluido Docker.
-Wikipedia
41
Pods
Replica Sets
Services
Volumes
Namespace
43
Grafana Grafana es una suite de visualización y
análisis de métricas de código abierto. Se usa más
comúnmente para visualizar datos de series
temporales para análisis de infraestructura y
aplicaciones, pero muchos lo usan en otros
dominios, incluidos sensores industriales, domótica,
clima y control de procesos.
-Grafana..com
44
Jenkins es un servidor de automatización
open source escrito en Java. Está basado en el
proyecto Hudson y es, dependiendo de la visión,
un fork del proyecto o simplemente un cambio
de nombre.
-Wikipedia
45
Git es un software de control de versiones
diseñado por Linus Torvalds, pensando en la
eficiencia y la confiabilidad del mantenimiento
de versiones de aplicaciones cuando éstas tienen
un gran número de archivos de código Fuente.
-Wikipedia
46
Docker es un proyecto de código abierto que
automatiza el despliegue de aplicaciones dentro
de contenedores de software, proporcionando
una capa adicional de abstracción y
automatización de virtualización de aplicaciones
en múltiples sistemas operativos.
-Wikipedia
47
Oracle VM VirtualBox es un
software de virtualización para arquitecturas
x86/amd64. Actualmente es desarrollado por
Oracle Corporation como parte de su familia de
productos de virtualización.
-Wikipedia
48
Vagrant es una herramienta para la creación
y configuración de entornos de desarrollo
virtualizados. Originalmente se desarrolló para
VirtualBox y sistemas de configuración tales
como Chef, Salt y Puppet.
-Wikipedia
49
Oracle Linux es el sistema operativo
Linux de Oracle diseñado para la nube abierta.
Está disponible gratuitamente bajo el Licencia
Pública General de GNU (GPLv2). Es 100%
compatible con Red Hat e incluye las
herramientas estandares de CNCF (Kubernetes,
Docker, Ceph, Gluster …).
-Oracle
50
Programa de la agenda
1 Conceptos y Acrónimos
2 Softwares Open Source
3 Aplicación Monolítica y Microservicios
4 Cloud Natives Computing Foundation
5 Demo: Jenkins y Kubernetes
51
Arquitectura de la demo
App Services
POD
Monitoring / Graphic
CI / CD
Orchestration
Runtime
devnode kmaster kworker1
Oracle Linux 7.6 Oracle Linux 7.6 Oracle Linux 7.6
2 vCPUs 1 vCPU 1 vCPU
6 GB Mem 2 GB Mem 2 GB Mem
36 GB Disk 1 36 GB Disk 1 36 GB Disk 1
10 GB Disk 2 5 GB Disk 2 5 GB Disk 2
2 NICs (Nat, Internal) 2 NICs (Nat, Internal) 2 NICs (Nat, Internal)
53
Jenkins – Primeros pasos
54
Jenkins – Primeros pasos
55
Jenkins – Primeros pasos
56
Jenkins – Primeros pasos
57
Jenkins – Primeros pasos
58
Jenkins – Primeros pasos
59
Jenkins – Primeros pasos
60
Jenkins – Primeros pasos
61
Jenkins – Primeros pasos
62
Jenkins – Primeros pasos
63
Jenkins – Primeros pasos
64
Jenkins – Primeros pasos
65
Jenkins – Primeros pasos
66
Jenkins – Primeros pasos
67
Jenkins – Primeros pasos
68
Jenkins – Primeros pasos
69
Jenkins – Primeros pasos
70
Jenkins – Primeros pasos
71
Jenkins – Primeros pasos
78
Demo
80
Enlaces útiles para referencia
GRATIS - DEVOPS Essentials Professional Certificate Training Material
https://www.ennovate.cl/wp-content/uploads/2019/01/Material-Trainer-DEPC-V1-parte1.pdf
StackShare
https://stackshare.io
StackOverflow – for developers, by developers
https://stackoverflow.com/
Kubernetes
https://kubernetes.io/es/
Jenkins
https://jenkins.io/
81
Enlaces útiles para referencia
Oracle Linux Cloud Native Environment
https://www.oracle.com/a/ocom/docs/oracle-linux-cloud-native-environment-
ds.pdf?elq_mid=129432&sh=26132309220818150526292227322215&cmid=CNVG180718P00078
82
TIPS
Podcast
devopscafe.org
Maillist
devopsweekly.com John Willis
@botchgalupe
Twiter
Gareth Rushgrove Damon Edwards
@garethr @damonedwards
devops.com theshipshow.com
@devopsdotcom
arresteddevops.com
Alan Shiel
@ashimmy devopsmastery.com/podcasts
Brian Wagner
@devopsmaster
83
Sugestión de libros
84
Sugestión de libros
85