São Paulo
Infraestrutura como Código
©2015,Amazon Web Services, Inc. or its affiliates. All rights reserved
Damian Traverso - Solutions Architect
28 Maio, 2015 | São Paulo
Negócio
Entrega
Continua
DevOps
precisa experimentar, inovar, reduzir
riscos
de serviços e aplicações
cultura, automatização, medição,
compartilhamento
Infraestrutura como Código
Sua situação é...
Nuvem
AWS CloudFormation
AWS CloudFormation
• Criar templates da infraestrutura e aplicações
que deseja executar/rodar na AWS
• Deixar que o AWS CloudFormation crie
automaticamente os recursos necessários
• Simplificar o controle de versão, replicação ou
atualização da sua infraestrutura e aplicações
usando templates
• Permitir a integração com outras ferramentas
de desenvolvimento, CI/CD e ferramentas de
Change Management
Iterar
Workflow básico
Projetar
Escrever
código da
Aplicação
Criar
Stacks
Criar
Templates da
Infraestrutura
mmend
Or
Custo
e I
er D
eytics
depends o
Payme
Projetar - Serviço de pedido de comidas
Catálogo de
comidas
Website de pedidos
Serviço de
pagamentosBD Clientes
Analytics
Serviço de
recomendações
Serviço de
fulfilment
Serviço de
inventário
depende de
EC2
tance
o Scaling group
BD Clientes
Software pkgs,
config, & data
CloudWatch
alarms
Serviço de
Inventário
Serviço de
recomendaçõesElastic Load
Balancing EC2
Instances
Auto Scaling Group
ElastiCache
memcached clustersecurity group
Criar Templates
EC2
tance
o Scaling group
CloudFormation Template
Software pkgs,
config, & data
CloudWatch
alarms
Elastic Load
Balancing
EC2
Instances
Auto Scaling Group
ElastiCache
memcached clustersecurity group
"Resources" {
"SecurityGroup" {},
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"MinSize" : "1",
"MaxSize" : "3”,
"LoadBalancerNames" : [ { "Ref" :
"LoadBalancer" } ],
...
}
},
"LoadBalancer" : {},
"CacheCluster" : {},
"Alarm" : {}
},
Criar Templates - Recursos
CloudFormation Template
Recommendations
Info para
Customizar na
criação do
Stack
Exemplos: Tipo de
instância, versão
de um pacote, etc.
EC2
instance
Auto Scaling group
Criar Templates - Parâmetros
Serviço DB
Clientes
Inventario
Analytics
"Parameters" : {
"CustomerDBServiceEndPoint" : {
"Description" : "URL of the Customer DB
Service",
"Type" : "String”
},
"CustomerDBServiceKey" : { "Description" : "API key
for the Customer DB Service",
"Type" : "String”,
"NoEcho" : "true”
},
"InstanceType" : {
"Description" : "WebServer EC2 instance type",
"Type" : "String", "Default" : "m3.medium",
"AllowedValues" :
["m3.medium","m3.large","m3.xlarge"],
"ConstraintDescription" : "Must be a valid
instance type”
CloudFormation Template
Elastic Load
Balancing
"Resources" : {
"LoadBalancer" :
{},
...
},
"Outputs" : {
"WebsiteDNSName"
: {
"Description" : "The DNS name of the
website",
"Value" : {
"Fn::GetAtt" : [ "LoadBalancer", "DNSName" ]
}
}
}
Criar Templates - Saídas (outputs)
CloudFormation Template
Software pkgs,
config, & data
EC2
instance
Auto Scaling group
"AWS::CloudFormation::Init
": {
"webapp-config": {
"packages" : {}, "sources" : {}, "files"
: {},
"groups" : {}, "users" : {},
"commands" : {}, "services" : {}
},
"chef-config" : {}
}
Criar Templates - Implantação e configuração de
software
 Declarativo
 Reutilizável
 Depurável
 Atualizável
 Altamente seguro
 BIOT (Bring In Other
Tools)
Criar Templates – Funções da linguagem
Criar Template
Gerenciar Template










Auto Scaling
Amazon CloudFront
AWS CloudTrail










IAM
AWS OpsWorks
Amazon
Amazon
Amazon
Amazon
Amazon
Amazon
Amazon
Amazon
RDS
Redshift
Route 53
S3
SimpleDB
SNS
SQS
VPC
Amazon
Amazon
Amazon
CloudWatch
DynamoDB
EC2
AWS Elastic Beanstalk
Amazon ElastiCache
Elastic Load Balancing
Amazon Kinesis
and more …
Usar uma grande variedade de serviços da AWS
Iterar
Workflow básico
Projetar
Escrever
código da
Aplicação
Criar
Stacks
Criar
Templates da
Infraestrutura
Criação
dos
templates
Controle
de versão
Revisão do
código
Integração
Infraestrutura como código - Workflow
“It’s all software”
Serviços
Frontend
• Consumer Website, Seller Website,
Mobile Backend
• Search, Payments, Reviews,
Recommendations
• CRM DBs, Common Monitoring,
Alarms, Subnets, Security Groups
• VPCs, Internet Gateways, VPNs,
NATs
• IAM Users, Groups, Roles
“It’s all software” – Organizado como software
Serviços
Backend
Serviços
Compartilhados
Rede
Identidades
Software de
aplicação
Templates JSON /
geradores de templates
JSON
Código fonte
Pacote Templates
JSON
Loader / Interpretador AWS CloudFormation
Aplicação em memória Infraestrutura na nuvem
“It’s all software” – criado e gerenciado como software
Software de
infraestrutura
Iteração na Infraestrutura
In-place Blue-Green
Migração
simplificada
Stack em
funcionamento não é
modificado
Custo-benefício
Mais
rápido
Atualização do Stack
Stacks
Templates
Tráfego
Estendendo AWS CloudFormation
EC2
tance
o Scaling group
Web Ana
Servi
S
mation
“Create, Update, Rollback, or Delete”
+ Metadata
Provision
AWS ResourcesSoftware pkgs,
config, & data
CloudWatch
alarms
Web Analytics
Service
AWS
CloudFormartion
“Success” + Metadata
"Resources" : {
"WebAnalyticsTrackingID" : {
"Type" : "Custom::WebAnalyticsService::TrackingID",
"Properties" : {
"ServiceToken" : "arn:aws:sns:...",
"Target" : {"Fn::GetAtt" : ["LoadBalancer", "DNSName"]},
"Plan" : "Gold"
}
Elastic Load
Balancing
EC2
Instances
Auto Scaling Group
ElastiCache
memcached clustersecurity group
},
...
Estendendo usando ‘Custom Resources’
EC2
tance
o Scaling group
Your AWS Lambda functionsYour AWS CloudFormation stack
// Implement custom logic here
Look up an AMI ID
Look up VPC ID and Subnet IDSoftware pkgs,
config, & data
CloudWatch
alarms
Reverse an IP address
Lambda-powered
custom resources
Elastic Load
Balancing
ElastiCache
memcached clustersecurity group
‘Custom Resources’ com Lambda
EC2
Instances
Auto Scaling Group
Implantação de aplicações como
código
CloudFormation
Modelar Templates
Replicar
Automatizar
Criação da
Infraestrutura
Implantação da
Aplicação
EC2
SQS, SNS, Amazon
Kinesis, etc.
Banco de dados
VPC
IAM
Baixar pacotes,
instalar Software,
configurar
aplicações, reiniciar
aplicações, etc.
Chef
CloudFormation::Init OpsWorks
Amazon Machine Images
‘Implantação de aplicações’ como código, dentro de um Template
Chef, Puppet,
CodeDeploy, ...
ow.ly/DiNCm
AWS::CloudFormation::Init
"MyInstance" : {
"Type" : "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"webapp-config" : {
"packages" : {}, "sources" : {}, "files" : {},
"groups" : {}, "users" : {},
"commands" : {}, "services" : {}
 Declarativo
 Reutilizável
 Depurável
 Atualizável
 Altamente seguro
 BIOT (Bring In Other Tools)
AWS::CloudFormation::Init
"AWS::CloudFormation::Init" : {
"webapp-config" : {
"packages" : {}, "sources" : {}, "files" : {},
"groups" : {}, "users" : {},
"commands" : {}, "services" : {}
 Declarativo
"sources" : {
"/etc/myapp" : "https://s3.amazonaws.com/mybucket/myapp.tar.gz"
}
AWS::CloudFormation::Init
 Depurável
AWS::CloudFormation::Init
"packages" : {},
"sources" : {},
"files" : {},
"groups" : {},
"users" : {},
"commands" : {},
"services" : {}
 Atualizável
1. Atualizar Metadata da
instância
2. UpdateStack
3. Processo do CloudFormation
atualiza a configuração
Instância
EC2
Metadata
cfn-hup
ow.ly/DiNkz
AWS::CloudFormation::Init
 Capacidade de utilizar outras ferramentas como AWS CodeDeploy e Chef
"install_chef" : {},
"install_wordpress" : {
"commands" : {
"01_get_cookbook" : {}, ...,
"05_configure_node_run_list" : {
"command" : "knife node run_list add -z `knife node
list -z recipe[wordpress]",
"cwd" : "/var/chef/chef-repo",
"env" : { "HOME" : "/var/chef" }
"
ow.ly/DqkrB
AWS::CloudFormation::Init
 Suporte para IAM Roles
"YourInstance" : {
"Metadata" : {
"AWS::CloudFormation::Authentication" : {
"S3AccessCreds" : {
"type" : "S3",
"roleName" : { "Ref" : "InstanceRole"},
"buckets" : ["your-bucket"]
}
}
},
"AWS::CloudFormation::Init" : {}
Escolha o tipo de
autenticação.
O uso de IAM Roles
é recomendado
Baixado de maneira
segura
"UserData": {
"# Get the latest CloudFormation helper scripts
"yum update -y aws-cfn-bootstrapn",
packagen",
"# Trigger CloudFormation::Init configuration n",
"/opt/aws/bin/cfn-init --stack ", {"Ref": "AWS::StackId"},
" --resource WebServerInstance ",
" --region ", {"Ref": "AWS::Region"}, "n",
"# Signal completionn",
"/opt/aws/bin/cfn-signal –e $? --stack ", {"Ref": "AWS::StackId"},
" --resource WebServerInstance ",
" --region ", {"Ref": "AWS::Region"}, "n"
AWS::CloudFormation::Init
file = /var/log/cfn-init.log
log_stream_name = {instance_id}/cfn-init.log
file = /var/log/cfn-hup.log
log_stream_name = {instance_id}/cfn-hup.log
"install_logs": {
"packages" : { ... "awslogs" ... },
"services" : { ... "awslogs" ... }
"files": {
"/tmp/cwlogs/cfn-logs.conf": {}
ow.ly/E0zO3
Usar CloudWatch Logs para debug
ow.ly/E0zO3
Usar CloudWatch Logs para debug
B
Criar AMIs para inicialização mais rápida
Criar AMIs para manter imagens de referência (Golden AMIs)
Dev/Test
Stacks
Criação
de AMIs
Staging/Prod Stacks
Rastreabilidade
CloudFormation::Init,
UserData, Chef, etc.
Custom AMI
Instâncias EC2 Instâncias EC2
Usando CloudFormation e OpsWorks
juntos
EC2
SQS, SNS, Amazon
Kinesis, etc.
Banco de dados
VPC
IAM
Descargar pacotes,
instalar Software,
configurar
aplicações, restarts,
etc.
OpsWorks
Ciclo de vida da
aplicação
Console interativo
OpsWorks & CloudFormation lado a lado(?)
Criação da
Infraestrutura
Implantação da
Aplicação
CloudFormation
Modelar Templates
Replicar
Automatizar
EC2
SQS, SNS, Amazon
Kinesis, etc.
Banco de dados
VPC
IAM
Descargar pacotes,
instalar Software,
configurar
aplicações, restarts,
etc.
OpsWorks
Ciclo de vida da
aplicação
Consola interativa
OpsWorks dentro de CloudFormation (?)
Criação da
Infraestrutura
Implantação da
Aplicação
CloudFormation
Modelar Templates
Replicar
Automatizar
Infraestrutura como código no fluxo
CI/CD
Code Re
C
T
App Developers TestApp Pkgs,
CloudFormation
Templates, Etc.
App Code
& Templates
AWS
CloudFormation
Staging
CI ServerIssue Tracker Dev Env
"Infra-as-Code"
DevOps Engineers,
Infrastructure Developers,
Systems Engineers
Code Review Prod
Code Repo
Infraestrutura como código no fluxo CI/CD
Criar Templates dos recursos
existentes
urces to templr
CloudFormer: criar Templates dos recursos existentes
1. Lançar um stack da Aplicação
CloudFormer
2. Escolher os
recursos que serão
utilizados
3. Personalizar o
Template
4. Criar um novo stack
Praticantes de Infraestrutura como Código
• Desenvolvedores / DevOps valorizam CloudFormation pela sua capacidade de
tratar infraestrutura como código, permitindo-lhes aplicar os princípios de
engenharia de software, tais como SOA, controle de revisão, revisões de código,
testes de integração de infra-estrutura.
• Administradores de TI e Provedores de Serviços gerenciados valorizam
CloudFormation como uma plataforma para permitir a padronização, controle do
consumo, e especialização de funções.
• ISVs valorizam CloudFormation pela sua capacidade de apoiar na
escalabilidade de produtos SaaS em ambientes compartilhados, por conseguir
replicar e atualizar os stacks rapidamente.
Os ISVs também valorizam CloudFormation como uma maneira de empacotar e
implantar o seu software em diferentes contas da AWS
Obrigado!!
São Paulo

Infraestrutura como codigo

  • 1.
  • 2.
    Infraestrutura como Código ©2015,AmazonWeb Services, Inc. or its affiliates. All rights reserved Damian Traverso - Solutions Architect 28 Maio, 2015 | São Paulo
  • 3.
    Negócio Entrega Continua DevOps precisa experimentar, inovar,reduzir riscos de serviços e aplicações cultura, automatização, medição, compartilhamento Infraestrutura como Código Sua situação é... Nuvem
  • 4.
  • 5.
    AWS CloudFormation • Criartemplates da infraestrutura e aplicações que deseja executar/rodar na AWS • Deixar que o AWS CloudFormation crie automaticamente os recursos necessários • Simplificar o controle de versão, replicação ou atualização da sua infraestrutura e aplicações usando templates • Permitir a integração com outras ferramentas de desenvolvimento, CI/CD e ferramentas de Change Management
  • 6.
  • 7.
    mmend Or Custo e I er D eytics dependso Payme Projetar - Serviço de pedido de comidas Catálogo de comidas Website de pedidos Serviço de pagamentosBD Clientes Analytics Serviço de recomendações Serviço de fulfilment Serviço de inventário depende de
  • 8.
    EC2 tance o Scaling group BDClientes Software pkgs, config, & data CloudWatch alarms Serviço de Inventário Serviço de recomendaçõesElastic Load Balancing EC2 Instances Auto Scaling Group ElastiCache memcached clustersecurity group Criar Templates
  • 9.
    EC2 tance o Scaling group CloudFormationTemplate Software pkgs, config, & data CloudWatch alarms Elastic Load Balancing EC2 Instances Auto Scaling Group ElastiCache memcached clustersecurity group "Resources" { "SecurityGroup" {}, "WebServerGroup" : { "Type" : "AWS::AutoScaling::AutoScalingGroup", "Properties" : { "MinSize" : "1", "MaxSize" : "3”, "LoadBalancerNames" : [ { "Ref" : "LoadBalancer" } ], ... } }, "LoadBalancer" : {}, "CacheCluster" : {}, "Alarm" : {} }, Criar Templates - Recursos
  • 10.
    CloudFormation Template Recommendations Info para Customizarna criação do Stack Exemplos: Tipo de instância, versão de um pacote, etc. EC2 instance Auto Scaling group Criar Templates - Parâmetros Serviço DB Clientes Inventario Analytics "Parameters" : { "CustomerDBServiceEndPoint" : { "Description" : "URL of the Customer DB Service", "Type" : "String” }, "CustomerDBServiceKey" : { "Description" : "API key for the Customer DB Service", "Type" : "String”, "NoEcho" : "true” }, "InstanceType" : { "Description" : "WebServer EC2 instance type", "Type" : "String", "Default" : "m3.medium", "AllowedValues" : ["m3.medium","m3.large","m3.xlarge"], "ConstraintDescription" : "Must be a valid instance type”
  • 11.
    CloudFormation Template Elastic Load Balancing "Resources": { "LoadBalancer" : {}, ... }, "Outputs" : { "WebsiteDNSName" : { "Description" : "The DNS name of the website", "Value" : { "Fn::GetAtt" : [ "LoadBalancer", "DNSName" ] } } } Criar Templates - Saídas (outputs)
  • 12.
    CloudFormation Template Software pkgs, config,& data EC2 instance Auto Scaling group "AWS::CloudFormation::Init ": { "webapp-config": { "packages" : {}, "sources" : {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {} }, "chef-config" : {} } Criar Templates - Implantação e configuração de software  Declarativo  Reutilizável  Depurável  Atualizável  Altamente seguro  BIOT (Bring In Other Tools)
  • 13.
    Criar Templates –Funções da linguagem
  • 14.
  • 15.
  • 16.
              Auto Scaling Amazon CloudFront AWSCloudTrail           IAM AWS OpsWorks Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon RDS Redshift Route 53 S3 SimpleDB SNS SQS VPC Amazon Amazon Amazon CloudWatch DynamoDB EC2 AWS Elastic Beanstalk Amazon ElastiCache Elastic Load Balancing Amazon Kinesis and more … Usar uma grande variedade de serviços da AWS
  • 17.
  • 18.
  • 19.
    Serviços Frontend • Consumer Website,Seller Website, Mobile Backend • Search, Payments, Reviews, Recommendations • CRM DBs, Common Monitoring, Alarms, Subnets, Security Groups • VPCs, Internet Gateways, VPNs, NATs • IAM Users, Groups, Roles “It’s all software” – Organizado como software Serviços Backend Serviços Compartilhados Rede Identidades
  • 20.
    Software de aplicação Templates JSON/ geradores de templates JSON Código fonte Pacote Templates JSON Loader / Interpretador AWS CloudFormation Aplicação em memória Infraestrutura na nuvem “It’s all software” – criado e gerenciado como software Software de infraestrutura
  • 21.
  • 22.
    In-place Blue-Green Migração simplificada Stack em funcionamentonão é modificado Custo-benefício Mais rápido Atualização do Stack Stacks Templates Tráfego
  • 23.
  • 24.
    EC2 tance o Scaling group WebAna Servi S mation “Create, Update, Rollback, or Delete” + Metadata Provision AWS ResourcesSoftware pkgs, config, & data CloudWatch alarms Web Analytics Service AWS CloudFormartion “Success” + Metadata "Resources" : { "WebAnalyticsTrackingID" : { "Type" : "Custom::WebAnalyticsService::TrackingID", "Properties" : { "ServiceToken" : "arn:aws:sns:...", "Target" : {"Fn::GetAtt" : ["LoadBalancer", "DNSName"]}, "Plan" : "Gold" } Elastic Load Balancing EC2 Instances Auto Scaling Group ElastiCache memcached clustersecurity group }, ... Estendendo usando ‘Custom Resources’
  • 25.
    EC2 tance o Scaling group YourAWS Lambda functionsYour AWS CloudFormation stack // Implement custom logic here Look up an AMI ID Look up VPC ID and Subnet IDSoftware pkgs, config, & data CloudWatch alarms Reverse an IP address Lambda-powered custom resources Elastic Load Balancing ElastiCache memcached clustersecurity group ‘Custom Resources’ com Lambda EC2 Instances Auto Scaling Group
  • 26.
  • 27.
    CloudFormation Modelar Templates Replicar Automatizar Criação da Infraestrutura Implantaçãoda Aplicação EC2 SQS, SNS, Amazon Kinesis, etc. Banco de dados VPC IAM Baixar pacotes, instalar Software, configurar aplicações, reiniciar aplicações, etc.
  • 28.
    Chef CloudFormation::Init OpsWorks Amazon MachineImages ‘Implantação de aplicações’ como código, dentro de um Template Chef, Puppet, CodeDeploy, ...
  • 29.
    ow.ly/DiNCm AWS::CloudFormation::Init "MyInstance" : { "Type": "AWS::EC2::Instance", "Metadata" : { "AWS::CloudFormation::Init" : { "webapp-config" : { "packages" : {}, "sources" : {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {}  Declarativo  Reutilizável  Depurável  Atualizável  Altamente seguro  BIOT (Bring In Other Tools)
  • 30.
    AWS::CloudFormation::Init "AWS::CloudFormation::Init" : { "webapp-config": { "packages" : {}, "sources" : {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {}  Declarativo "sources" : { "/etc/myapp" : "https://s3.amazonaws.com/mybucket/myapp.tar.gz" }
  • 31.
  • 32.
    AWS::CloudFormation::Init "packages" : {}, "sources": {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {}  Atualizável 1. Atualizar Metadata da instância 2. UpdateStack 3. Processo do CloudFormation atualiza a configuração Instância EC2 Metadata cfn-hup
  • 33.
    ow.ly/DiNkz AWS::CloudFormation::Init  Capacidade deutilizar outras ferramentas como AWS CodeDeploy e Chef "install_chef" : {}, "install_wordpress" : { "commands" : { "01_get_cookbook" : {}, ..., "05_configure_node_run_list" : { "command" : "knife node run_list add -z `knife node list -z recipe[wordpress]", "cwd" : "/var/chef/chef-repo", "env" : { "HOME" : "/var/chef" }
  • 34.
    " ow.ly/DqkrB AWS::CloudFormation::Init  Suporte paraIAM Roles "YourInstance" : { "Metadata" : { "AWS::CloudFormation::Authentication" : { "S3AccessCreds" : { "type" : "S3", "roleName" : { "Ref" : "InstanceRole"}, "buckets" : ["your-bucket"] } } }, "AWS::CloudFormation::Init" : {} Escolha o tipo de autenticação. O uso de IAM Roles é recomendado Baixado de maneira segura
  • 35.
    "UserData": { "# Getthe latest CloudFormation helper scripts "yum update -y aws-cfn-bootstrapn", packagen", "# Trigger CloudFormation::Init configuration n", "/opt/aws/bin/cfn-init --stack ", {"Ref": "AWS::StackId"}, " --resource WebServerInstance ", " --region ", {"Ref": "AWS::Region"}, "n", "# Signal completionn", "/opt/aws/bin/cfn-signal –e $? --stack ", {"Ref": "AWS::StackId"}, " --resource WebServerInstance ", " --region ", {"Ref": "AWS::Region"}, "n" AWS::CloudFormation::Init
  • 36.
    file = /var/log/cfn-init.log log_stream_name= {instance_id}/cfn-init.log file = /var/log/cfn-hup.log log_stream_name = {instance_id}/cfn-hup.log "install_logs": { "packages" : { ... "awslogs" ... }, "services" : { ... "awslogs" ... } "files": { "/tmp/cwlogs/cfn-logs.conf": {} ow.ly/E0zO3 Usar CloudWatch Logs para debug
  • 37.
  • 38.
    B Criar AMIs parainicialização mais rápida Criar AMIs para manter imagens de referência (Golden AMIs) Dev/Test Stacks Criação de AMIs Staging/Prod Stacks Rastreabilidade CloudFormation::Init, UserData, Chef, etc. Custom AMI Instâncias EC2 Instâncias EC2
  • 39.
    Usando CloudFormation eOpsWorks juntos
  • 40.
    EC2 SQS, SNS, Amazon Kinesis,etc. Banco de dados VPC IAM Descargar pacotes, instalar Software, configurar aplicações, restarts, etc. OpsWorks Ciclo de vida da aplicação Console interativo OpsWorks & CloudFormation lado a lado(?) Criação da Infraestrutura Implantação da Aplicação CloudFormation Modelar Templates Replicar Automatizar
  • 41.
    EC2 SQS, SNS, Amazon Kinesis,etc. Banco de dados VPC IAM Descargar pacotes, instalar Software, configurar aplicações, restarts, etc. OpsWorks Ciclo de vida da aplicação Consola interativa OpsWorks dentro de CloudFormation (?) Criação da Infraestrutura Implantação da Aplicação CloudFormation Modelar Templates Replicar Automatizar
  • 42.
  • 43.
    Code Re C T App DevelopersTestApp Pkgs, CloudFormation Templates, Etc. App Code & Templates AWS CloudFormation Staging CI ServerIssue Tracker Dev Env "Infra-as-Code" DevOps Engineers, Infrastructure Developers, Systems Engineers Code Review Prod Code Repo Infraestrutura como código no fluxo CI/CD
  • 44.
    Criar Templates dosrecursos existentes
  • 45.
    urces to templr CloudFormer:criar Templates dos recursos existentes 1. Lançar um stack da Aplicação CloudFormer 2. Escolher os recursos que serão utilizados 3. Personalizar o Template 4. Criar um novo stack
  • 46.
    Praticantes de Infraestruturacomo Código • Desenvolvedores / DevOps valorizam CloudFormation pela sua capacidade de tratar infraestrutura como código, permitindo-lhes aplicar os princípios de engenharia de software, tais como SOA, controle de revisão, revisões de código, testes de integração de infra-estrutura. • Administradores de TI e Provedores de Serviços gerenciados valorizam CloudFormation como uma plataforma para permitir a padronização, controle do consumo, e especialização de funções. • ISVs valorizam CloudFormation pela sua capacidade de apoiar na escalabilidade de produtos SaaS em ambientes compartilhados, por conseguir replicar e atualizar os stacks rapidamente. Os ISVs também valorizam CloudFormation como uma maneira de empacotar e implantar o seu software em diferentes contas da AWS
  • 47.
  • 48.