SlideShare una empresa de Scribd logo
1 de 64
© 2020, Amazon Web Services, Inc. or its Affiliates.
Prácticas recomendadas de CI/CD
para crear aplicaciones modernas
Javier Cristancho
Sr. Solutions Architect
Camilo Cortes
Solutions Architect
AmazonWeb Services
2020
© 2020, Amazon Web Services, Inc. or its Affiliates.
Agenda
CI/CD para aplicaciones modernas
Integración continua
Despliegue continuo
Infraestructura como código
© 2020, Amazon Web Services, Inc. or its Affiliates.
CI/CD para aplicaciones modernas
© 2020, Amazon Web Services, Inc. or its Affiliates.
Enfoques para el desarrollo de aplicaciones
modernas
• Acelerar la entrega de nuevos servicios con alta calidad
• Simplificación del manejo de entornos
• Reducción del impacto en el cambio de código
• Automatización de operaciones
• Obtener conocimientos
• Proteger al cliente y a la empresa
© 2020, Amazon Web Services, Inc. or its Affiliates.
Enfoques para el desarrollo de aplicaciones
modernas
• Aceleración de la entrega de nuevos servicios con CI/CD de alta calidad
• Simplificación del manejo de entornos con tecnologías Serverless
• Reducción del impacto en cambios de código con Arquitectura de microservicios
• Automatización de operaciones con Infraestructura como código
• Obteniendo información de los recursos y aplicaciones - Observabilidad
• Proteger al cliente y a la empresa con controles de seguridad y cumplimiento
© 2020, Amazon Web Services, Inc. or its Affiliates.
Fuente: Informe del estado de operaciones de desarrollo 2018 DORA
Implementación más frecuente Semana — Mes Hora — Día
Mejora el tiempo de entrega 1—6 meses 1—7 días
Reduce la tasa de error 46— 60% 0— 15%
Efectos del CI/CD
© 2020, Amazon Web Services, Inc. or its Affiliates.
CI/CD para despliegue de Aplicaciones Modernas
MonitorearDesplegarProbarConstruir
Repositorio Cod./
Artefactos
Código
AWS Cloud9
AW IDEToolkits
AWS
X-Ray
AWS
CodeBuild
AWS
CodeCommit
AWS
CodeDeploy
AWS CodeBuild
+Third Party
Amazon
CloudWatch
AWS CodePipeline
Modelar AWS CloudFormation AWS SAMAWS Cloud Development Kit
AWS
CodeArtifact
AmazonCodeGuru
© 2020, Amazon Web Services, Inc. or its Affiliates.
Pilares para ofrecer una aplicación moderna
Infraestructura
como código
Implementación
continua
Integración
continua
© 2020, Amazon Web Services, Inc. or its Affiliates.
Integración continua
© 2020, Amazon Web Services, Inc. or its Affiliates.
Objetivos de Integración Continua
Integración continua
Código Construir Pruebas Producción
© 2020, Amazon Web Services, Inc. or its Affiliates.
Integración continua
1. Inicia automáticamente una nueva compilación cuando se agrega código
2. Crear y probar código en un entorno consistente y replicable
3. Genera continuamente un artefacto listo para implementar
4. Ciclo de retroalimentación continua cuando falla una compilación
Objetivos de Integración Continua
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodePipeline
• Prestación continua de servicios para una
actualización rápida y fiable de las aplicaciones
• Modele y visualice los procesos de lanzamiento de su
aplicación
• Cree, pruebe e implemente su código cada vez que
se produzca un cambio
• Se integra con herramientas de terceros y AWS
© 2020, Amazon Web Services, Inc. or its Affiliates.
Características de un Pipeline
• Ejecución y control de etapas del pipeline
• Cada etapa tiene una o más acciones
• Después de que todas las acciones en una etapa
han concluido, la etapa transita a la siguiente
• Cada "run" de un pipeline es una ejecución
• Existen muchos tipos de acciones soportadas
• Aprobación — requiere aprobación humana
• Lambda – ejecuta una función Lambda
• Step function – Inicia un Step Function
• etc.
Source
Source
CodeCommit
Build
MyCodeBuild
CodeBuild
Deploy
MyDotNetApp
CodeDeploy
MyPipeline
© 2020, Amazon Web Services, Inc. or its Affiliates.
Build
AWS CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
Acciones Paralelas
Source
Source
GitHub
MyApplication
Deploy
JavaApp
Elastic Beanstalk
© 2020, Amazon Web Services, Inc. or its Affiliates.
Build
AWS CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
TestAPI
Runscope
Acciones secuenciales
Deploy
JavaApp
Elastic Beanstalk
Source
Source
GitHub
MyApplication
© 2020, Amazon Web Services, Inc. or its Affiliates.
Build
AWS CodeBuild
AWS CodeBuild
Staging-Deploy
JavaApp
Elastic Beanstalk
Prod-Deploy
JavaApp
Elastic Beanstalk
QATeamReview
Manual Approval
Aprobación Manual
Review
MyApplication
© 2020, Amazon Web Services, Inc. or its Affiliates.
Un Pipeline en la práctica
8. Retrieve build artifact
EC2 instance
Source artifact
S3
Build artifact
S3
5. Get source artifact
6. Store build artifact
3. Poll for job
4. Acknowledge job
7. Put success
9. Deploy build artifact
Elastic Beanstalk
web container
Java app
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
JavaApp
Elastic Beanstalk
MyApplication
1. Get changes
© 2020, Amazon Web Services, Inc. or its Affiliates.
Integración con varios Partners
AWS CodePipeline
Source Build Test Deploy
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon EC2
AWS CodeDeploy
AWS Elastic Beanstalk
Stacks de AWS OpsWorks
Contenedores
AWS CodeDeploy
Amazon ECS
Amazon ECS (Blue/Green)
AWS Fargate
Amazon EKS usando
Lambda/CodeBuild
Serverless
AWS CodeDeploy
AWS CloudFormation
(AWS SAM)
AWS Lambda
AWS CodePipeline: Servicios admitidos para
despliegue
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeCommit
• Servicio de Git completamente gestionado por AWS
• Ofrece repositories privados de Git
• Soportado por Amazon S3
• Escala en demanda
• Cifrado en reposo con llaves definidas por el cliente
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeCommit
Git objects
in Amazon S3
Encryption keys
in AWS KMS
SSH or HTTPS
git push
AWS CodeCommit
Git index
in Amazon DynamoDB
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeBuild
• Servicio de compilación administrado (Serverless)
• Compila código fuente
• Ejecuta pruebas
• Crea artefactos de software
• Escala y procesa múltiples compilaciones
simultáneamente
• Puede moniterar sus procesos en Amazon CloudWatch
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeBuild
• Cada compilación se ejecuta en un nuevo contenedor
Docker para un entorno consistente e inmutable
• Docker y AWS CLI están instalados en todas las
imágenes oficiales de CodeBuild
• Proporcione entornos de construcción personalizados
adaptados a sus necesidades mediante el uso de
imágenes personalizadas
© 2020, Amazon Web Services, Inc. or its Affiliates.
Build Images
Pre-built Images for Popular Frameworks
• Java
• Python
• Node.js
• Ruby
• Go
• Android
• .NET (Windows-only)/.NET Core
• Docker
Build your own docker image with custom tooling
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeBuild - buildspec.yml Ejemplo
version: 0.2
env:
variables:
JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64"
phases:
install:
runtime-versions:
java: corretto8
build:
commands:
- echo Build started on `date`
- mvn install
post_build:
commands:
- echo Test started on `date`
- mvn surefire-report:report
reports:
SurefireReports:
files:
- '**/*'
base-directory: 'target/surefire-reports’
artifacts:
type: zip
files:
- target/messageUtil-1.0.jar
discard-paths: yes
Crear y almacenar los artefactos de S3
Variables a ser usadas en la etapa de build
Ejecutar procesos de pruebas - testing
Ejecutar comandos de “build”
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeBuild
See breakdown of
individual unit tests,
status of the tests,
duration, and messages
from the tests
© 2020, Amazon Web Services, Inc. or its Affiliates.
Despliegue Continuo
© 2020, Amazon Web Services, Inc. or its Affiliates.
Despliegue Continuo
Objetivos de implementación continua
Código Construir Pruebas producción
© 2020, Amazon Web Services, Inc. or its Affiliates.
Objetivos del Despliegue Continuo
Despliegue continuo
1. Implementación automática de nuevas versiones en entornos de prueba
2. Implementar en producción de forma segura y sin impacto para los clientes
3. Realizar entregas más frecuentes
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy
• Despliegue automático en instancias de EC2 o Funciones
Lambda
• Maneja la complejidad de actualizar sus aplicaciones
• Evite el downtime durante el despliegue de aplicaciones
• Blue/Green Deployment
• Canary Testing
• Reversión automática en caso de fallas
• Implementación en instancias de EC2, AWS Lambda,
ECS/Fargate o servidores on-premises
© 2020, Amazon Web Services, Inc. or its Affiliates.
Implementación de código: implementaciones de EC2
versión: 0.0
os: linux
archivos:
- Fuente:/
destino: /var/www/html
permisos:
- objeto: /var/www/html
patrón: «*.html»
propietario: root
grupo: raíz
modo: 755
ganchos:
ApplicationStop:
- ubicación: scripts/deregister_from_elb.sh
Antes de instalar:
- ubicación: scripts/install_dependencies.sh
ApplicationStart:
- ubicación: scripts/start_httpd.sh
ValidateService:
- ubicación: scripts/test_site.sh
- ubicación: scripts/register_with_elb.sh
© 2020, Amazon Web Services, Inc. or its Affiliates.
v2 v2 v2 v2 v2 v2
Uno a la vez
La mitad a la vez
Todo a la vez
v2 v2 v2 v1 v1 v1
v2 v1 v1 v1 v1 v1 Agente
Grupo de Despliegue en Dev.
O
Grupo de Despliegue en Producción
Elija la velocidad de implementación y el grupo
Agente
Agente Agente Agente
Agente Agente Agente
© 2020, Amazon Web Services, Inc. or its Affiliates.
ELB + Auto Scaling
Auto Scaling group
Load
Balancer
Auto Scaling group
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
100%
production
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Blue target
group
Blue tasks: v1
code
100%
production
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Green target
group
Blue target
group
Blue tasks: v1
code
100%
production
traffic
100%
test
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Blue target
group
Green tasks: v2
code
Provision green tasks
100%
test
traffic
Blue tasks: v1
code
100%
production
traffic
Green target
group
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Green target
group
Green tasks: v2
code
Shift test traffic to green; run validation tests against test endpoint
Blue target
group
Blue tasks: v1
code
100%
production
traffic
100%
test
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Green target
group
Green tasks: v2
code
Shift production traffic to green; roll back in case of alarm
Blue target
group
Blue tasks: v1
code
100%
production
traffic
100%
test
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
CodeDeploy: Amazon ECS blue/green deployment
Green target
group
Green tasks: v2
code
Drain blue tasks
Blue target
group
100%
production
traffic
100%
test
traffic
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy: AWS Lambda deployments
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy: AWS Lambda deployments
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy: AWS Lambda deployments
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy: AWS Lambda deployments
© 2020, Amazon Web Services, Inc. or its Affiliates.
Arquitectura completa de un proceso de CI/CD
AWS CodeBuild
AWS CodeCommit AWS CodePipeline
AWS Cloud9
AWS Command
Line Interface
AWSTools
and SDKs
Amazon
CloudWatch
AWS
X-Ray
CodePipeineTemplate
Amazon S3)
Third-party
tool(s)
AWS CodeDeploy Integration
AWS Cloud
User
EC2 instance contents
One Box Fleet One Box Fleet
Performance
Pen-testing
One Box Fleet
One Box FleetRules enforcement
AWS Config
© 2020, Amazon Web Services, Inc. or its Affiliates.
CI/CD de Contenedores en Amazon EKS -
Arquitectura
end users
Git Push
AWS Cloud
Region
1 2 4 5
6
3
© 2020, Amazon Web Services, Inc. or its Affiliates.
CI/CD de Contenedores en Amazon EKS -
Arquitectura
© 2020, Amazon Web Services, Inc. or its Affiliates.
Infraestructura como código
© 2020, Amazon Web Services, Inc. or its Affiliates.
Enfoques para el desarrollo de aplicaciones
modernas
• Aceleración de la entrega de nuevos servicios con CI/CD de alta calidad
• Simplificación del manejo de entornos con tecnologías Serverless
• Reducción del impacto en cambios de código con Arquitectura de microservicios
• Automatización de operaciones con Infraestructura como código
• Obteniendo información de los recursos y aplicaciones - Observabilidad
• Proteger al cliente y a la empresa con controles de seguridad y cumplimiento
© 2020, Amazon Web Services, Inc. or its Affiliates.
Infraestructura como objetivos de código
Infraestructura como código
Código Construir
cuestionari
o
producción
© 2020, Amazon Web Services, Inc. or its Affiliates.
Infraestructura como objetivos de código
Infraestructura como código
1. Realizar cambios en la infraestructura replicables y predecibles
2. Liberar los cambios de infraestructura utilizando las mismas herramientas que
usamos para los cambios de código
3. Replique el entorno de producción en otros entornos que permitan realizar
pruebas continuas
© 2020, Amazon Web Services, Inc. or its Affiliates.
Entregar infraestructura como código
«Maestro»
rama
Código fuente Construir cuestionario producción
Crear plantilla Crear y ejecutar
cambios
Crear y ejecutar
cambios
© 2020, Amazon Web Services, Inc. or its Affiliates.
Modelo de aplicación Serverless AWS (AWS SAM)
https://aws.amazon.com/serverless/sam/
• Marco de código abierto para crear aplicaciones sin
servidor en AWS
• Sintaxis abreviada para declarar funciones, API, bases de
datos y asignaciones de origen de eventos
• Transforma AWS SAM Syntax en AWS CloudFormation
Syntax on Deploy
• Admite todos los tipos de recursosAWS CloudFormation
© 2020, Amazon Web Services, Inc. or its Affiliates.
Plantilla AWS SAM
Sintaxis abreviada
para declarar
funciones, tablas y
eventos
awstemplateFormatVersion: '2010-09-09'
Transformar: AWS። sin servidor-2016-10-31
Recursos:
GetFunction:
Tipo: AWS። Serverless። Función
Propiedades:
Controlador: index.get
Tiempo de ejecución: nodejs6.10
CódigoURI: src/
Políticas: AmazonDynamodBreadOnlyAccess
Eventos:
GetResource:
Tipo: Api
Propiedades:
Ruta de acceso: /resource/ {resourceId}
Método: get
Tabla:
Tipo: AWS። Sin servidor። SimpleTable
© 2020, Amazon Web Services, Inc. or its Affiliates.
Plantilla AWS SAM
awstemplateFormatVersion: '2010-09-09'
Transformar: AWS። sin servidor-2016-10-31
Recursos:
GetFunction:
Tipo: AWS። Serverless። Función
Propiedades:
Controlador: index.get
Tiempo de ejecución: nodejs6.10
CódigoURI: src/
Políticas: AmazonDynamodBreadOnlyAccess
Eventos:
GetResource:
Tipo: Api
Propiedades:
Ruta de acceso: /resource/ {resourceId}
Método: get
Tabla:
Tipo: AWS። Sin servidor። SimpleTable
Solo 18 filas crean muchas
características:
• Función AWS Lambda
• Gateway de API deAmazon
• Tabla deAmazon DynamoDB
• Funciones de IAM
© 2020, Amazon Web Services, Inc. or its Affiliates.
Utilizar SAM CLI para empaquetar e implementar
pip install —user aws-sam-cli
sam init
sam construir
paquete sam
sam desplegar
© 2020, Amazon Web Services, Inc. or its Affiliates.
Kit de desarrollo de la nube de AWS (CDK de AWS)
• Framework de código abierto para definir infraestructura
conTypeScript, Python, Java, and .NET
• Provee librería de recursos (constructores) basado en
mejores prácticas de AWS.
• Provee recursos mediante AWS CloudFormation
• Soporta todos los tipos de recursosAWS CloudFormation
AWS
CDK
https://github.com/aws/aws-cdk
© 2020, Amazon Web Services, Inc. or its Affiliates.
Diseña la
infraestructura
como
componentes
reutilizables
AWS CDK
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CDK
Framework que soporta multiples lenguajes
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CDK – Componentes principales
A
ut
o
S
c
al
in
g
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CDK – Constructores
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS CDK – Constructores
© 2020, Amazon Web Services, Inc. or its Affiliates.
Pilares para ofrecer una aplicación moderna
Infraestructura
como código
Implementación
continua
Integración
continua
© 2020, Amazon Web Services, Inc. or its Affiliates.
Gracias !
Javier Cristancho
Solutions Architect
Camilo Cortes
Solutions Architect
AmazonWeb Services
2020

Más contenido relacionado

La actualidad más candente

Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpToshiaki Maki
 
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Managing Egress with Istio
Managing Egress with IstioManaging Egress with Istio
Managing Egress with IstioSolo.io
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security JourneyJerry Jalava
 
[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] LimaAkihiro Suda
 
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech TalksDeep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech TalksAmazon Web Services
 
Kubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS examKubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS examAhmed AbouZaid
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Henning Jacobs
 
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트Amazon Web Services Korea
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 

La actualidad más candente (20)

Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
 
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Managing Egress with Istio
Managing Egress with IstioManaging Egress with Istio
Managing Egress with Istio
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security Journey
 
[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima
 
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech TalksDeep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
 
Kubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS examKubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS exam
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 

Similar a Mejores prácticas de CI / CD para construir aplicaciones modernas

Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...Amazon Web Services LATAM
 
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsDevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSAmazon Web Services LATAM
 
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAmazon Web Services LATAM
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresGuillermo Javier Bellmann
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Amazon Web Services
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.melidevelopers
 
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...Amazon Web Services
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000Javier Suárez Ruiz
 
DevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareDevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareAmazon Web Services LATAM
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSAmazon Web Services LATAM
 
Optimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSOptimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSAmazon Web Services LATAM
 

Similar a Mejores prácticas de CI / CD para construir aplicaciones modernas (20)

Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
 
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsDevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWS
 
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
Introducción a Amazon EKS
Introducción a Amazon EKSIntroducción a Amazon EKS
Introducción a Amazon EKS
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
 
DevOps en AWS
DevOps en AWS DevOps en AWS
DevOps en AWS
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...
Impulsando la innovación con arquitectura de contenedores - MXO202 - Mexico C...
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
 
DevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de softwareDevOps en AWS, acelarando el desarrollo de software
DevOps en AWS, acelarando el desarrollo de software
 
Azure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARMAzure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARM
 
Comenzando con la nube híbrida
Comenzando con la nube híbridaComenzando con la nube híbrida
Comenzando con la nube híbrida
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWS
 
Optimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSOptimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWS
 

Más de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

Más de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
Bases de datos NoSQL en AWS
Bases de datos NoSQL en AWSBases de datos NoSQL en AWS
Bases de datos NoSQL en AWS
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 

Último (20)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 

Mejores prácticas de CI / CD para construir aplicaciones modernas

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. Prácticas recomendadas de CI/CD para crear aplicaciones modernas Javier Cristancho Sr. Solutions Architect Camilo Cortes Solutions Architect AmazonWeb Services 2020
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. Agenda CI/CD para aplicaciones modernas Integración continua Despliegue continuo Infraestructura como código
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates. CI/CD para aplicaciones modernas
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. Enfoques para el desarrollo de aplicaciones modernas • Acelerar la entrega de nuevos servicios con alta calidad • Simplificación del manejo de entornos • Reducción del impacto en el cambio de código • Automatización de operaciones • Obtener conocimientos • Proteger al cliente y a la empresa
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. Enfoques para el desarrollo de aplicaciones modernas • Aceleración de la entrega de nuevos servicios con CI/CD de alta calidad • Simplificación del manejo de entornos con tecnologías Serverless • Reducción del impacto en cambios de código con Arquitectura de microservicios • Automatización de operaciones con Infraestructura como código • Obteniendo información de los recursos y aplicaciones - Observabilidad • Proteger al cliente y a la empresa con controles de seguridad y cumplimiento
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates. Fuente: Informe del estado de operaciones de desarrollo 2018 DORA Implementación más frecuente Semana — Mes Hora — Día Mejora el tiempo de entrega 1—6 meses 1—7 días Reduce la tasa de error 46— 60% 0— 15% Efectos del CI/CD
  • 7. © 2020, Amazon Web Services, Inc. or its Affiliates. CI/CD para despliegue de Aplicaciones Modernas MonitorearDesplegarProbarConstruir Repositorio Cod./ Artefactos Código AWS Cloud9 AW IDEToolkits AWS X-Ray AWS CodeBuild AWS CodeCommit AWS CodeDeploy AWS CodeBuild +Third Party Amazon CloudWatch AWS CodePipeline Modelar AWS CloudFormation AWS SAMAWS Cloud Development Kit AWS CodeArtifact AmazonCodeGuru
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. Pilares para ofrecer una aplicación moderna Infraestructura como código Implementación continua Integración continua
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. Integración continua
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates. Objetivos de Integración Continua Integración continua Código Construir Pruebas Producción
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. Integración continua 1. Inicia automáticamente una nueva compilación cuando se agrega código 2. Crear y probar código en un entorno consistente y replicable 3. Genera continuamente un artefacto listo para implementar 4. Ciclo de retroalimentación continua cuando falla una compilación Objetivos de Integración Continua
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodePipeline • Prestación continua de servicios para una actualización rápida y fiable de las aplicaciones • Modele y visualice los procesos de lanzamiento de su aplicación • Cree, pruebe e implemente su código cada vez que se produzca un cambio • Se integra con herramientas de terceros y AWS
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. Características de un Pipeline • Ejecución y control de etapas del pipeline • Cada etapa tiene una o más acciones • Después de que todas las acciones en una etapa han concluido, la etapa transita a la siguiente • Cada "run" de un pipeline es una ejecución • Existen muchos tipos de acciones soportadas • Aprobación — requiere aprobación humana • Lambda – ejecuta una función Lambda • Step function – Inicia un Step Function • etc. Source Source CodeCommit Build MyCodeBuild CodeBuild Deploy MyDotNetApp CodeDeploy MyPipeline
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. Build AWS CodeBuild AWS CodeBuild NotifyDevelopers Lambda Acciones Paralelas Source Source GitHub MyApplication Deploy JavaApp Elastic Beanstalk
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. Build AWS CodeBuild AWS CodeBuild NotifyDevelopers Lambda TestAPI Runscope Acciones secuenciales Deploy JavaApp Elastic Beanstalk Source Source GitHub MyApplication
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. Build AWS CodeBuild AWS CodeBuild Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval Aprobación Manual Review MyApplication
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. Un Pipeline en la práctica 8. Retrieve build artifact EC2 instance Source artifact S3 Build artifact S3 5. Get source artifact 6. Store build artifact 3. Poll for job 4. Acknowledge job 7. Put success 9. Deploy build artifact Elastic Beanstalk web container Java app Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk MyApplication 1. Get changes
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. Integración con varios Partners AWS CodePipeline Source Build Test Deploy
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EC2 AWS CodeDeploy AWS Elastic Beanstalk Stacks de AWS OpsWorks Contenedores AWS CodeDeploy Amazon ECS Amazon ECS (Blue/Green) AWS Fargate Amazon EKS usando Lambda/CodeBuild Serverless AWS CodeDeploy AWS CloudFormation (AWS SAM) AWS Lambda AWS CodePipeline: Servicios admitidos para despliegue
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeCommit • Servicio de Git completamente gestionado por AWS • Ofrece repositories privados de Git • Soportado por Amazon S3 • Escala en demanda • Cifrado en reposo con llaves definidas por el cliente
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeCommit Git objects in Amazon S3 Encryption keys in AWS KMS SSH or HTTPS git push AWS CodeCommit Git index in Amazon DynamoDB
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeBuild • Servicio de compilación administrado (Serverless) • Compila código fuente • Ejecuta pruebas • Crea artefactos de software • Escala y procesa múltiples compilaciones simultáneamente • Puede moniterar sus procesos en Amazon CloudWatch
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeBuild • Cada compilación se ejecuta en un nuevo contenedor Docker para un entorno consistente e inmutable • Docker y AWS CLI están instalados en todas las imágenes oficiales de CodeBuild • Proporcione entornos de construcción personalizados adaptados a sus necesidades mediante el uso de imágenes personalizadas
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. Build Images Pre-built Images for Popular Frameworks • Java • Python • Node.js • Ruby • Go • Android • .NET (Windows-only)/.NET Core • Docker Build your own docker image with custom tooling
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeBuild - buildspec.yml Ejemplo version: 0.2 env: variables: JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64" phases: install: runtime-versions: java: corretto8 build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Test started on `date` - mvn surefire-report:report reports: SurefireReports: files: - '**/*' base-directory: 'target/surefire-reports’ artifacts: type: zip files: - target/messageUtil-1.0.jar discard-paths: yes Crear y almacenar los artefactos de S3 Variables a ser usadas en la etapa de build Ejecutar procesos de pruebas - testing Ejecutar comandos de “build”
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeBuild See breakdown of individual unit tests, status of the tests, duration, and messages from the tests
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. Despliegue Continuo
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. Despliegue Continuo Objetivos de implementación continua Código Construir Pruebas producción
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. Objetivos del Despliegue Continuo Despliegue continuo 1. Implementación automática de nuevas versiones en entornos de prueba 2. Implementar en producción de forma segura y sin impacto para los clientes 3. Realizar entregas más frecuentes
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy • Despliegue automático en instancias de EC2 o Funciones Lambda • Maneja la complejidad de actualizar sus aplicaciones • Evite el downtime durante el despliegue de aplicaciones • Blue/Green Deployment • Canary Testing • Reversión automática en caso de fallas • Implementación en instancias de EC2, AWS Lambda, ECS/Fargate o servidores on-premises
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. Implementación de código: implementaciones de EC2 versión: 0.0 os: linux archivos: - Fuente:/ destino: /var/www/html permisos: - objeto: /var/www/html patrón: «*.html» propietario: root grupo: raíz modo: 755 ganchos: ApplicationStop: - ubicación: scripts/deregister_from_elb.sh Antes de instalar: - ubicación: scripts/install_dependencies.sh ApplicationStart: - ubicación: scripts/start_httpd.sh ValidateService: - ubicación: scripts/test_site.sh - ubicación: scripts/register_with_elb.sh
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. v2 v2 v2 v2 v2 v2 Uno a la vez La mitad a la vez Todo a la vez v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agente Grupo de Despliegue en Dev. O Grupo de Despliegue en Producción Elija la velocidad de implementación y el grupo Agente Agente Agente Agente Agente Agente Agente
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. ELB + Auto Scaling Auto Scaling group Load Balancer Auto Scaling group
  • 34. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment 100% production traffic
  • 35. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Blue target group Blue tasks: v1 code 100% production traffic
  • 36. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Green target group Blue target group Blue tasks: v1 code 100% production traffic 100% test traffic
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Blue target group Green tasks: v2 code Provision green tasks 100% test traffic Blue tasks: v1 code 100% production traffic Green target group
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Green target group Green tasks: v2 code Shift test traffic to green; run validation tests against test endpoint Blue target group Blue tasks: v1 code 100% production traffic 100% test traffic
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Green target group Green tasks: v2 code Shift production traffic to green; roll back in case of alarm Blue target group Blue tasks: v1 code 100% production traffic 100% test traffic
  • 40. © 2020, Amazon Web Services, Inc. or its Affiliates. CodeDeploy: Amazon ECS blue/green deployment Green target group Green tasks: v2 code Drain blue tasks Blue target group 100% production traffic 100% test traffic
  • 41. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy: AWS Lambda deployments
  • 42. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy: AWS Lambda deployments
  • 43. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy: AWS Lambda deployments
  • 44. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy: AWS Lambda deployments
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates. Arquitectura completa de un proceso de CI/CD AWS CodeBuild AWS CodeCommit AWS CodePipeline AWS Cloud9 AWS Command Line Interface AWSTools and SDKs Amazon CloudWatch AWS X-Ray CodePipeineTemplate Amazon S3) Third-party tool(s) AWS CodeDeploy Integration AWS Cloud User EC2 instance contents One Box Fleet One Box Fleet Performance Pen-testing One Box Fleet One Box FleetRules enforcement AWS Config
  • 46. © 2020, Amazon Web Services, Inc. or its Affiliates. CI/CD de Contenedores en Amazon EKS - Arquitectura end users Git Push AWS Cloud Region 1 2 4 5 6 3
  • 47. © 2020, Amazon Web Services, Inc. or its Affiliates. CI/CD de Contenedores en Amazon EKS - Arquitectura
  • 48. © 2020, Amazon Web Services, Inc. or its Affiliates. Infraestructura como código
  • 49. © 2020, Amazon Web Services, Inc. or its Affiliates. Enfoques para el desarrollo de aplicaciones modernas • Aceleración de la entrega de nuevos servicios con CI/CD de alta calidad • Simplificación del manejo de entornos con tecnologías Serverless • Reducción del impacto en cambios de código con Arquitectura de microservicios • Automatización de operaciones con Infraestructura como código • Obteniendo información de los recursos y aplicaciones - Observabilidad • Proteger al cliente y a la empresa con controles de seguridad y cumplimiento
  • 50. © 2020, Amazon Web Services, Inc. or its Affiliates. Infraestructura como objetivos de código Infraestructura como código Código Construir cuestionari o producción
  • 51. © 2020, Amazon Web Services, Inc. or its Affiliates. Infraestructura como objetivos de código Infraestructura como código 1. Realizar cambios en la infraestructura replicables y predecibles 2. Liberar los cambios de infraestructura utilizando las mismas herramientas que usamos para los cambios de código 3. Replique el entorno de producción en otros entornos que permitan realizar pruebas continuas
  • 52. © 2020, Amazon Web Services, Inc. or its Affiliates. Entregar infraestructura como código «Maestro» rama Código fuente Construir cuestionario producción Crear plantilla Crear y ejecutar cambios Crear y ejecutar cambios
  • 53. © 2020, Amazon Web Services, Inc. or its Affiliates. Modelo de aplicación Serverless AWS (AWS SAM) https://aws.amazon.com/serverless/sam/ • Marco de código abierto para crear aplicaciones sin servidor en AWS • Sintaxis abreviada para declarar funciones, API, bases de datos y asignaciones de origen de eventos • Transforma AWS SAM Syntax en AWS CloudFormation Syntax on Deploy • Admite todos los tipos de recursosAWS CloudFormation
  • 54. © 2020, Amazon Web Services, Inc. or its Affiliates. Plantilla AWS SAM Sintaxis abreviada para declarar funciones, tablas y eventos awstemplateFormatVersion: '2010-09-09' Transformar: AWS። sin servidor-2016-10-31 Recursos: GetFunction: Tipo: AWS። Serverless። Función Propiedades: Controlador: index.get Tiempo de ejecución: nodejs6.10 CódigoURI: src/ Políticas: AmazonDynamodBreadOnlyAccess Eventos: GetResource: Tipo: Api Propiedades: Ruta de acceso: /resource/ {resourceId} Método: get Tabla: Tipo: AWS። Sin servidor። SimpleTable
  • 55. © 2020, Amazon Web Services, Inc. or its Affiliates. Plantilla AWS SAM awstemplateFormatVersion: '2010-09-09' Transformar: AWS። sin servidor-2016-10-31 Recursos: GetFunction: Tipo: AWS። Serverless። Función Propiedades: Controlador: index.get Tiempo de ejecución: nodejs6.10 CódigoURI: src/ Políticas: AmazonDynamodBreadOnlyAccess Eventos: GetResource: Tipo: Api Propiedades: Ruta de acceso: /resource/ {resourceId} Método: get Tabla: Tipo: AWS። Sin servidor። SimpleTable Solo 18 filas crean muchas características: • Función AWS Lambda • Gateway de API deAmazon • Tabla deAmazon DynamoDB • Funciones de IAM
  • 56. © 2020, Amazon Web Services, Inc. or its Affiliates. Utilizar SAM CLI para empaquetar e implementar pip install —user aws-sam-cli sam init sam construir paquete sam sam desplegar
  • 57. © 2020, Amazon Web Services, Inc. or its Affiliates. Kit de desarrollo de la nube de AWS (CDK de AWS) • Framework de código abierto para definir infraestructura conTypeScript, Python, Java, and .NET • Provee librería de recursos (constructores) basado en mejores prácticas de AWS. • Provee recursos mediante AWS CloudFormation • Soporta todos los tipos de recursosAWS CloudFormation AWS CDK https://github.com/aws/aws-cdk
  • 58. © 2020, Amazon Web Services, Inc. or its Affiliates. Diseña la infraestructura como componentes reutilizables AWS CDK
  • 59. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CDK Framework que soporta multiples lenguajes
  • 60. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CDK – Componentes principales A ut o S c al in g
  • 61. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CDK – Constructores
  • 62. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS CDK – Constructores
  • 63. © 2020, Amazon Web Services, Inc. or its Affiliates. Pilares para ofrecer una aplicación moderna Infraestructura como código Implementación continua Integración continua
  • 64. © 2020, Amazon Web Services, Inc. or its Affiliates. Gracias ! Javier Cristancho Solutions Architect Camilo Cortes Solutions Architect AmazonWeb Services 2020

Notas del editor

  1. ES: Las técnicas de integración continua y entrega continua (CI/CD) permiten a los equipos aumentar la agilidad y entregar rápidamente un producto de alta calidad. En esta charla, le guiamos sobre las prácticas recomendadas para crear canalizaciones CI/CD que le permitan administrar aplicaciones sin servidor y en contenedores. Cubriremos el modelo Infrastructure as Code (AWS SAM), así como cómo configurar canalizaciones con AWS CodePipeline y AWS CodeBuild, y le mostraremos cómo automatizar las implementaciones con AWS CodeDeploy. EN: Las técnicas de integración continua y entrega continua (CI/CD) permiten a los equipos aumentar la agilidad y liberar rápidamente un producto de alta calidad. En esta charla, le guiamos a través de las prácticas recomendadas para crear flujos de trabajo de CI/CD que le permitan administrar sus aplicaciones sin servidor y en contenedores. Cubriremos los modelos de aplicación Infrastructure as Code, como AWS Serverless Application Model (AWS SAM), así como cómo configurar canalizaciones de lanzamiento de CI/CD con AWS CodePipeline y AWS CodeBuild, y le mostraremos cómo automatizar implementaciones seguras con AWS CodeDeploy.
  2. Vamos a contarles de la agenda de esta presentación Em la prime parte vamos a hablar de CI/CD/ para aplicaciones moderas Integración Continua Y en la segunda parte nos estará acompanhando Camilo Cortes para entrear em mayor detalle para el despliegue continuo e infraestructura como código
  3. Whenever we talk to people about how we transformed our development practices, they want to know how they can do it themselves. And the good news is – they absolutely can, using the same tools that we built from our experience learning these lessons. We’ve built services to help with each stage of the development lifecycle, and we’ve also got Code Pipeline to manage the entire release process
  4. https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html
  5. Our sample pipeline in practice… Let’s take a look at an example Pipeline. I’ve created a simple 3 stage Pipeline to talk though my example. Source actions are special actions. They continuously poll the source providers, such as GitHub and S3, in order to detect changes. Once a change is detected, the new pipeline run is created and the new pipeline begins its run. The source actions retrieve a copy of the source information and place it into a customer owned S3 bucket. Once the source action is completed, the Source stage is marked as successful and we transition to the Build stage. In the Build Stage we have one action, Jenkins. Jenkins was integrated into CodePipeline as a CustomAction and has the same lifecycle as all custom actions. Talk through interaction Once the build action is completed, the Build stage is marked as successful and we transition to the Deploy stage The Deploy stage contains one action, an AWS Elastic Beanstalk deployment action. The Beanstalk action retrieves the build artifact from the customer’s S3 bucket and deploys it to the Elastic Beanstalk web container. S3 storage is used as an intermediary through these steps. IAM controls can be placed on components in this workflow to ensure security of the process CodePipeline will show where a task has failed or succeeded
  6. We have partnered with popular source, build, test and deployment systems to provide out-of-the-box integrations. Jenkins, CloudBees and Solano offer CI services for build stages BlazeMeter, Apica, HP StormRunner and Runscope are load testing partners. GhostInspector is a User Interface Testing partner GitHub is a source code partner Xebia Labs is a deployment partner.
  7. For each report, you can see the breakdown of individual unit tests, status of the tests, duration, and messages from the tests. The summary section shows you the overall Passed/Failed test count and pass rate along with the duration taken
  8. Automates code deployments to any instance and Lambda Handles the complexity of updating your applications Avoid downtime during application deployment Roll back automatically if failure detected Deploy to Amazon EC2, Lambda, ECS/Fargate or on-premises servers Limit “blast radius” with traffic control
  9. Ok, so here’s our setup. Nothing fancy here, just an auto scaling group set to a capacity of 3 registered to a load balancer. While a deployment is in progress, we don’t want the load balancer to keep sending traffic to the instance. To do this, when an instance begins a deployment, we’ll move it to “Standby” in the autoscaling group.
  10. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  11. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  12. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  13. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  14. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  15. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  16. Provisions “green” tasks, then flips traffic at the load balancer Validation “hooks” enable testing at each stage of the deployment Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  17. Code Completion - no round trips to the docs Encapsulate the resources as reusable constructs for sharing both privately and publicly
  18. Python JavaScript Typescript Java C-Sharp
  19. CDK CLI that developers use to build and deploy their CDK Applications Init - Templates Synth – Verify Deploy – Send changes Destroy – Clean up dev environments
  20. Here’s and example of a pattern construct
  21. Let’s take a look at an example Pipeline. I’ve created a simple 3 stage Pipeline to talk though my example. Source actions are special actions. They continuously poll the source providers, such as GitHub and S3, in order to detect changes. Once a change is detected, the new pipeline run is created and the new pipeline begins its run. The source actions retrieve a copy of the source information and place it into a customer owned S3 bucket. Once the source action is completed, the Source stage is marked as successful and we transition to the Build stage. In the Build Stage we have one action, Jenkins. Jenkins was integrated into CodePipeline as a CustomAction and has the same lifecycle as all custom actions. Talk through interaction Once the build action is completed, the Build stage is marked as successful and we transition to the Deploy stage The Deploy stage contains one action, an AWS Elastic Beanstalk deployment action. The Beanstalk action retrieves the build artifact from the customer’s S3 bucket and deploys it to the Elastic Beanstalk web container. You can add a manual approval at the point where you want the pipeline to stop running until someone approves or rejects the revision in progress. Pipeline will stop executing when it has reached the point at which you set the approval action Pipeline execution resumes only when the action has been approved Approval action managed with AWS Identity and Access Management (IAM) permissions Notify approvers in several ways including email, SMS, webhooks, and more Useful for manual QA actions or as part of “Canary” deploy models