Introducción
Introducción y Filosofia de DevOps
Containers y ambientes de desarrollo
Ambientes Homogéneos para Applicaciones
Implementación de Dockerfile
Ambientes Homogéneos para Infraestructura
Pruebas
Implementación de Pruebas
Sin pruebas no hay confianza
Integración Continua
Continuous Integration y Artifacts
Continuos integration y Continuos delivery
Implementación de CI con Jenkins
Implementación de Artifacts con Jenkins
Herramientas Externas en proceso de CI
Despliegue Continuo
CD a Ambiente Staging
Continous Deployments
Implementar acceptance tests en Jenkins
Completar Pipeline de CD
Reliability
Introducción a Incident Response
Introducción a Reliability - SLO/SLI
Implementar Uptime Monitoring
Exception Trackers y Logs
Métricas
Cierre del curso
Conclusiones
Una de las maneras de resolver el ““it works in my machine”” es teniendo homogeneidad en todos los ambientes. El ejecutar código en nuestra máquina local debe parecerse lo más posible al ambiente de pruebas y producción.
Docker es lo recomendado, funciona para todos los sistemas operativos(WIN10 Pro solamente) y es reproducible, podemos tener una infraestructura que comparta todo. Las imágenes son reproducibles, programables y la documentación está en el mismo código.
Aportes 22
Preguntas 3
Deploy = Despliegue.
Deployable = Desplegable.
Me interesa mucho este tema, el facilitador tiene mucha calma para explicar y esto me agrada mucho
Pareciera que el curso no comenzara en este video, no falta algun video o clase previa?
La idea de tener docker para asegurar que independientemente del SO puedan ejecutarse las aplicaciones me hizo explotar la cabeza
Hace poco tuve un caso en mi lugar de trabajo. Todos usamos docker tanto desarrolladores como operadores pero resulta que algunos desarrolladores usan Mac con procesador M1 y al correr el dockerfile del aplicativo este no funciono y fue por la arquitectura del M1 porque cambie el paquete a instalar por ARM y funciono, es curioso porque se asegura que el SO no importa con docker pero al parecer la arquitectura del procesador si, por lo que mantener ambientes homogéneos en algunos casos se complica.
The Twelve-Factor App
.
10. Dev/prod parity
.
Una aplicación debe mantener una diferencia mínima entre su estado en desarrollo y su estado en entorno de producción.
.
Si quieres saber más visita el siguiente enlace: https://12factor.net/dev-prod-parity
docker es el rey para tener tu ambiente de desarrollo en local y asi de facil y rapido lo llevas a produccion. aca hay un curso buenissimo de docker con el profe guido vilariño, ese man es un teso en docker
Una de las opciones, Docker, como homogeneidad en todos los ambientes.
La solución para el típico problema de “it only works on my machine” es la homogeneidad en todos los ambientes: desarrollo, CI, producción, etc.
La homogeneidad es llevada a cabo con la implementación de máquinas virtuales o contenedores, muy recomendablemente, contenedores (Docker). Docker puede ser usado en cualquiera de los sistemas operativos y es reproducible.
Podemos tener por ejemplo, una infraestructura que comparte todo; tenemos el sistema operativo (no importa cuál sea), pero lo que está dentro del contenedor es lo importante; la capa de Docker es compartida entre todas las aplicaciones que están corriendo; y sin importar cuál sea el sistema operativo o el entorno, sabemos perfectamente cómo se va a comportar el contenedor.
Los contenedores son reproducibles, programables y la documentación es el código mismo.
Las máquinas virtuales no son tan portables como los contenedores y suelen tener problemas de instalación en diferentes entornos o sistemas operativos.
Que alternativa a docker podria usar para un equipo aun muy inexperto?
Deploy = Despliegue = cambios listos para aplicarse
Deployable= Desplegable = cambios revisados y listos para aplicarse
El cómo se hace eso
Espero aprender mucho de este curso, el profesor parece manejar el tema muy bien
Me parece muy internaste lo que se menciona de Docker como configurar estos ambientes
Homogeneidad: los ambientes deben de ser iguales, para ello se puede utilizar Docker.
DevOps para simplificar
Genial 😃
Ambiente se refiere a Entorno
Generalmente me pasa que hoy tenemos esos problemas está bueno entonces comenzar a usar docker…!
Nota mental: Siempre utilizar contenedores.
como se menciono una gran ventaja de usar docker con o sin docker compose es que tienes un instructivo Dockerfile
y/o docker-compose.yml
de como correr tu aplicacion, version del lenguaje, dependencias del OS, etc
con base a mi experiencia una gran ayuda, es que en dichos archivos de configuracion se listan las variables de entorno que la aplicacion necesita para correr y si usas docker compose incluso se listan los servicios que necesita tu app como bases de datos o multiples bases de datos etc
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.