SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

Automating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeployAutomating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeployAmazon Web Services
 
Gestão de Infraestrutura de TI
Gestão de Infraestrutura de TIGestão de Infraestrutura de TI
Gestão de Infraestrutura de TIRóger Marroni
 
Gerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSGerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSAmazon Web Services LATAM
 
Introdução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesIntrodução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesJose Papo, MSc
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerStefan Teixeira
 
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOINSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOEdlauva Santos
 

Destaque (11)

Apresentação Cloud Computing World Forum
Apresentação Cloud Computing World ForumApresentação Cloud Computing World Forum
Apresentação Cloud Computing World Forum
 
Automating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeployAutomating Software Deployments with AWS CodeDeploy
Automating Software Deployments with AWS CodeDeploy
 
AWS CodeDeploy Getting Started
AWS CodeDeploy Getting StartedAWS CodeDeploy Getting Started
AWS CodeDeploy Getting Started
 
Gestão de Infraestrutura de TI
Gestão de Infraestrutura de TIGestão de Infraestrutura de TI
Gestão de Infraestrutura de TI
 
Gerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSGerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWS
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Como avaliar os alunos
Como avaliar os alunosComo avaliar os alunos
Como avaliar os alunos
 
Introdução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesIntrodução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web Services
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOINSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
 

Semelhante a Infraestrutura como codigo

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 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
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesAmazon Web Services LATAM
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaRicardo Martins ☁
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Amazon Web Services LATAM
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Ricardo Ferreira Costa
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudAmazon Web Services LATAM
 
Passo a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemPasso a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemAmazon Web Services LATAM
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWSAmazon Web Services LATAM
 

Semelhante a Infraestrutura como codigo (20)

Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
 
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 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
 
Escalando com segurança na AWS
Escalando com segurança na AWSEscalando com segurança na AWS
Escalando com segurança na AWS
 
Overview AWS - Bemobi
Overview AWS - BemobiOverview AWS - Bemobi
Overview AWS - Bemobi
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web Services
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à prática
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 
Passo a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemPasso a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvem
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWS
 

Mais de Amazon 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 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
 
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
 
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
 

Mais de Amazon Web Services LATAM (20)

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 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.
 
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
 
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
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
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
 

Infraestrutura como codigo

  • 2. 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
  • 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
  • 5. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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”
  • 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
  • 16.           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
  • 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
  • 22. 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
  • 24. 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’
  • 25. 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
  • 27. 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.
  • 28. Chef CloudFormation::Init OpsWorks Amazon Machine Images ‘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" }
  • 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 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" }
  • 34. " 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
  • 35. "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
  • 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
  • 38. 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
  • 39. Usando CloudFormation e OpsWorks 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. Infraestrutura como código no fluxo CI/CD
  • 43. 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
  • 44. Criar Templates dos recursos 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 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