Vamos a tratar de resolver las siguientes preguntas…
¿Qué es DevOps?
¿Cuáles son los componentes de DevOps?
¿Qué NO es DevOps?
¿Por qué Amazon Web Services (AWS) para DevOps?
¿Cuáles son los siguientes pasos para implementar DevOps en tu organización?
Construir y publicar software de manera más sencilla, confiable y rápida con DevOps y Amazon AWS
1. Construir y publicar software de manera
más
sencilla, confiable y rápida
con DevOps y Amazon AWS
2. Pregunta durante el webinar, y
al finalizar en redes sociales
usando el hashtag
#inbestdevops.
La presentación y el código
fuente presentado se te
enviará por correo electrónico
al terminar.
3. Acerca de mi
• Encargado de los temas de
DevOps en iNBest.
• Me gusta mucho hablar de
innovación tecnológica en
redes sociales.
• Actualmente estudio un nano
degree en Inteligencia
Artificial.
Luis Cosio
Socio / DevOps
luis.cosio@inbest.me
6. Vamos a tratar de
resolver las
siguientes
preguntas…
1. ¿Qué es DevOps?
2. ¿Cuáles son los componentes de
DevOps?
3. ¿Qué NO es DevOps?
4. ¿Por qué Amazon Web Services
(AWS) para DevOps?
5. ¿Cuáles son los siguientes pasos
para implementar DevOps en tu
organización?
8. ¿Qué es DevOps?
• Es un conjunto de prácticas que permiten crear y
lanzar software de forma más rápida y
confiable.
• El objetivo es establecer una cultura dentro de una
organización donde el proceso de desarrollar,
probar y liberar software suceda de
manera expedita, frecuentemente y
segura.
9. Se trata de habilitar a tu organización para que
pueda agregar valor rápidamente con TI
10.
11. El modelo tradicional de TI
Procesos manuales
difíciles de repetir/lentos
Riesgo en los cambios
Diferencias en los
ambientes de pruebas,
producción, etc.
Cultura
¿Quién
levanto el
servidor la
última vez?
Artemio…
Pero
Artemio ya
no trabaja
aquí
Desarrollo
Producción
”No se puede fallar”
Migrar tu software
de versión muy
riesgoso
13. *
A diferencia de modelos de desarrollo e implementación de
software como ITIL, CMMI o SCRUM, no existe un consenso
oficial o generalizado de lo que es o no es DevOps.
Vamos a platicar de las mejores prácticas y de lo que
sabemos que DevOps le agrega valor a nuestros
clientes.
14. Principios y valores básicos
Procesos
Herramientas
Personas
_______________________
_______
DevOps
+
15. Principios y valores básicos
Iterativo
Incremental
Continuo
Automatizado
De auto servicio
Colaborativo
Holístico
16. Procesos
• Los procesos gira alrededor de la
experimentación, del aprender, de obtener
retroalimentación, de decisiones basadas
en evidencias y métricas con la guía del
modelo.
19. Personas
•Todos participantes en el proceso productivo
de una organización deben de colaborar desde
el principio – ejecutivos, usuarios finales,
desarrolladores, equipos de infraestructura,
seguridad y cualquier otro involucrado en el
proceso.
21. NO es una herramienta
• DevOps no es tan sencillo como implementar una
serie de herramientas. No se puede pasar de la
teoría a implementar las prácticas sin tener los
principios claros y embebidos dentro de la
organización.
22. NO concierne exclusivamente a TI
• Aunque los desarrolladores y las áreas de TI se
encuentran al centro de los principios de la
filosofía de DevOps, son solo una parte de una
ecuación mucho más grande donde se conjugan
todos los equipos de trabajo de una organización.
23. Principios y valores básicos
Procesos y metodología
Herramientas
Personas
_______________________
_______
DevOps
+
Lo que DevOps SI es
25. 54%
De las empresas creen que la la
implementación de software es crítica
25%
Implementan software de manera correcta
Pero solamente…
69%
Tienen mejor desempeño
que aquellas que no
implementan software
correctamente
Fuente: “The Software Edge: How effective software development drives competitive advantage” IBM Institute of Business Value, 2013.
26. Mejora la calidad del
trabajo en las áreas
involucradas
• Organizaciones que adoptan prácticas de
DevOps pasan 22% menos tiempo en
trabajos no planeados o retrabajos.
• Como resultado de esto, pasan en
promedio 29% más tiempo en nuevas
funcionalidades.
Se trata de habilitar a tu organización para
que pueda agregar valor rápidamente
Fuente: “2016 State of DevOps Report | presented by Puppet + DORA” Puppet Labs, 2016.
28. AWS es una plataforma de servicios
de nube que ofrece potencia de
cómputo, almacenamiento de bases
de datos, entrega de contenido y
otra funcionalidad para ayudar a las
empresas a escalar y crecer.
Beneficios de AWS:
• Amplia plataforma de infraestructura
de TI.
• Una plataforma para prácticamente
cualquier caso de uso.
• La seguridad, reconocida como mejor
que la de una instalación física.
29. Por qué AWS y DevOps
Comience con rapidez Servicios totalmente
administrados
Diseñado para escalar
y crecer
Programable
Automatización Seguro Ecosistema de socios
(iNBest)
Pague por lo que use
30. La oferta de AWS para DevOps
Integración y entrega continuas
AWS CodePipeline
Flujos de trabajo de publicación
de software
AWS CodeBuild
Compile y pruebe código
AWS CodeDeploy
Automatización de la
implementación
Micro servicios
Amazon EC2 Container Service
Plataforma Docker de producción
AWS Lambda
Informática sin servidor
Infraestructura como código
AWS CloudFormation
Aprovisionamiento de la
infraestructura con
plantillas
AWS OpsWorks
Administración de la
configuración de Chef
Amazon EC2 Systems
Manager
Administración de la
configuración
AWS Config
Política como código
Monitorización y registro
Amazon CloudWatch
Monitorización de la nube y la
red
AWS X-Ray
Rastreo distribuido
AWS CloudTrail
Supervisión de la actividad y el
uso de la API
Plataforma como servicio
AWS Elastic Beanstalk
Ejecute y administre aplicaciones web
33. Wordpress
AWSTemplateFormatVersion: '2010-09-09'
Metadata:
License: Apache-2.0
Description: 'AWS CloudFormation Sample Template
WordPress_Single_Instance: WordPress
is web software you can use to create a beautiful website or blog.
This template
installs WordPress with a local MySQL database for storage. It
demonstrates using
the AWS CloudFormation bootstrap scripts to deploy WordPress.
**WARNING** This template
creates an Amazon EC2 instance. You will be billed for the AWS
resources used if
you create a stack from this template.'
Parameters:
DBName:
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConstraintDescription: must begin with a letter and contain
only alphanumeric
characters.
34. Comercio electrónico en
~ 30 minutos
• Escalable a grandes cantidades de
usuarios
• Disponibilidad 99.999%
• Respaldos automatizados
• Seguridad perimetral
37. ¿Cómo puedo empezar a implementar
DevOps en mi organización?
• Implementar DevOps involucra diferentes pasos dentro de tu
organización en diversas áreas.
• La implementación es un viaje, requiere que evoluciones del
proceso tradicional “de cascada” a la entrega continua de valor.
• Aunque muchas organizaciones hoy en día han tomado algún
paso en este viaje, no están preparadas para continuar el
camino de manera exitosa.
• Se requiere disciplina organizacional.
• Tener una empresa consultora que te acompañe en este viaje
puede hacer el proceso menos doloroso y ágil.
Por ejemplo, automatizar el proceso de desarrollo de software sin que exista una cultura de colaboración entre todas las partes involucradas puede generar riesgos y resultados no óptimos.
El punto es que todos los participantes en crear un producto o un sistema deben de colaborar desde el principio – ejecutivos, usuarios finales, desarrolladores, equipos de infraestructura, seguridad y cualquier otro involucrado en el proceso.
Por lo regular, la resistencia al cambio y los niveles de disciplina de estas diferentes áreas incrementan de manera significativa el fracaso de las iniciativas de DevOps dentro de las organizaciones, particularmente en aquellas donde los procesos de “desarrollo en cascada” o “tradicionales” son predominantes. Sin embargo, según un estudio de Gartner, la mayoría de las organizaciones que intenten implementar metodologías ágiles en los próximos años van a percatarse de la necesidad de implementar iniciativas de DevOps a la par.
Companies that can close the resulting execution gap stand to benefit. In fact, almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a rentabilidadstandpoint
--------------------------------------------------------------------------------------------------
Note: Outperformers were determined by a self-assessment of profitability against peers in the industry, ranging from 1 (Significant underperformers) to 5 (Significant outperformers) Significant outperformers were ranked as a 5, Average performers a 3-4 and Underperformers 1-2