gerenciando e implantando suas aplicações na nuvem da aws

Post on 02-Jul-2015

755 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra que trata das soluções da AWS que facilitam a gestão e deploy de aplicações na Nuvem: Elastic Beanstalk, OpsWorks e CloudFormation

TRANSCRIPT

Gerenciando e implantando suas

aplicações na Nuvem da AWS: Elastic

Beanstalk, OpsWorks e CloudFormation

José Papo

AWS Tech Evangelist

@josepapo

Infraestrutura Global US West

(Northern

California)

US East (Northern

Virginia)

EU (Ireland)

Asia

Pacific (Singapore)

Asia

Pacific (Tokyo)

Regiões AWS

Pontos Edge AWS

GovCloud (US ITAR

Region)

US West (Oregon)

South

America (Sao Paulo)

Asia

Pacific (Australia)

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Management

Networking

Modelo de Referência

Como facilitar o deploy e controle do que é feito nos ambientes de dev, test e produção?

Alto nível, pacotes simples

Controle declarativo de

ajuste fino

“Eu só quero minha app funcionando!”

“Eu quero ter controle e também versionar todo o

meu deploy de data center como se fosse um

arquivo de config”

Alto nível, pacotes simples

Controle declarativo de

ajuste fino

“Eu só quero minha app funcionando!”

“Eu quero ter controle e também versionar todo o

meu deploy de data center como se fosse um

arquivo de config”

Elastic Beanstalk

CloudFormation

AWS OpsWorks

“Eu quero minha solução funcionando

com DevOps”

aws.amazon.com/pt/application-management/

Alto nível, pacotes simples

Controle declarativo de

ajuste fino

“Eu só quero minha app funcionando!”

“Eu quero ter controle e também versionar todo o

meu deploy de data center como se fosse um

arquivo de config”

Elastic Beanstalk

CloudFormation

AWS OpsWorks

“Eu quero minha solução funcionando

com DevOps”

Deploy e gestão rápida de apps na AWS…

Elastic Beanstalk

CloudFormation

OpsWorks

Múltiplas plataformas

Elastic Beanstalk

CloudFormation

.Net PHP

Java Python

Ruby Node.js

OpsWorks

Só o pacote da aplicação é necessário

Elastic Beanstalk

CloudFormation

OpsWorks

Beanstalk automaticamente cria o ambiente…

Elastic Beanstalk

CloudFormation

Tools

…adicioando o Elastic Load Balancer…

Elastic Beanstalk

CloudFormation

OpsWorks

…Auto Scaling groups

Elastic Beanstalk

CloudFormation

OpsWorks

…e lançando instancias

Elastic Beanstalk

CloudFormation

OpsWorks

…tudo integrado no Elastic Beanstalk

Elastic Beanstalk

CloudFormation

OpsWorks

…e publicado com um CNAME

Elastic Beanstalk

CloudFormation

OpsWorks

…com logs e versões da app armazenados no S3

Elastic Beanstalk

CloudFormation

OpsWorks

E os dados?

Como você cria uma app para o AWS ElasticBeanstalk?

Como qualquer outra app!

Sua aplicação sem dependências específicas ao ambiente

Elastic Beanstalk

CloudFormation

Código enviado ao Beanstalk

Código pode ser baixado e

usado localmente

OpsWorks

Empacotamento como usual…

Elastic Beanstalk

CloudFormation

Java .war file

Microsoft Web

Deploy package

PHP .zip file

Python .zip file

Git IDE plugins

OpsWorks

Deploy e updates via Console

Elastic Beanstalk

CloudFormation

OpsWorks

Wizards e ferramentas de linha de comando

Elastic Beanstalk

CloudFormation

CheckDNSAvailability elastic-beanstalk-check-dns-availability

CreateApplication elastic-beanstalk-create-application

CreateApplicationVersion

elastic-beanstalk-create-application-version

CreateEnvironment

elastic-beanstalk-create-environment

eb init wizard para inicializar uma aplicação

eb start/stop iniciar/desligar uma aplicação

eb update

atualizar uma versão de aplicação

eb status

verificar status de uma aplicação

OpsWorks

Integração com Eclipse

Elastic Beanstalk

CloudFormation

OpsWorks

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Eclipse

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Eclipse

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Eclipse

Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Elastic Beanstalk

CloudFormation

OpsWorks Integração com Visual Studio

Integração com Git

Elastic Beanstalk

CloudFormation

OpsWorks

Configurações do container

Elastic Beanstalk

CloudFormation

OpsWorks

Elastic Beanstalk

CloudFormation

OpsWorks Configurações do container

Elastic Beanstalk

CloudFormation

OpsWorks Configurações do container

Elastic Beanstalk

CloudFormation

OpsWorks Configurações do container

Elastic Beanstalk

CloudFormation

OpsWorks Configurações do container

E acesso completo aos recursos do Elastic Beanstalk caso necessário

Instancias EC2, AMIs, AutoScaling groups…

Alto nível, pacotes simples

Controle declarativo de

ajuste fino

“Eu só quero minha app funcionando!”

“Eu quero ter controle e também versionar todo o

meu deploy de data center como se fosse um

arquivo de config”

Elastic Beanstalk

CloudFormation

AWS OpsWorks

“Eu quero minha solução funcionando

com DevOps”

Elastic Beanstalk

CloudFormation

CloudFormation

Uma interface consistente de scripts para criar/configurar

recursos AWS

Um framework para gestão de ciclo de vida de recursos criados

usando scripts

Security Scaling

Database

Networking Monitoring

Messaging

Workflow

DNS

Load Balancing

Backup CDN

Compute

Storage

CloudFormation – framework de automação

OpsWorks

CloudFormation components & terminology

Elastic Beanstalk

CloudFormation

Template CloudFormation

Stack

JSON

Parametros

Recursos

Ações

Serviços AWS configurados

Suporta os principais serviços

Customizável

Framework

Criação do Stack

Atualizações do Stack

Detecção de erros e rollback

OpsWorks

Template examples

Elastic Beanstalk

CloudFormation

Template {

"Parameters" : {

"KeyName" : {

"Description" : "Name of an existing EC2 KeyPair to enable SSH

access to the instance",

"Type" : "String"

}

},

}

Exemplo: Recebendo parametros

OpsWorks

JSON

Parametros

Recursos

Ações

Template examples

Elastic Beanstalk

CloudFormation

Template {

"AWSTemplateFormatVersion" : "2010-09-09",

"Description" : "Create RDS with fixed username and password",

"Resources" : {

"MyDB" : {

"Type" : "AWS::RDS::DBInstance",

"Properties" : {

"AllocatedStorage" : "5",

"DBInstanceClass" : "db.m1.small",

"Engine" : "MySQL",

"EngineVersion" : "5.5",

"MasterUsername" : "MyName",

"MasterUserPassword" : "MyPassword"

}

}

}

}

Exemplo: Criando uma instancia RDS

OpsWorks

JSON

Parametros

Recursos

Ações

Template examples

Elastic Beanstalk

CloudFormation

Template "AWS::CloudFormation::Init" : {

"config" : {

"packages" : {

"yum" : {

"mysql" : [],

"mysql-server" : [],

"httpd" : [],

"php" : [],

"php-mysql" : []

}

},

"sources" : {

"/var/www/html" : "https://s3.amazonaws.com/

cloudformation-examples/

CloudFormationPHPSample.zip"

},

Exemplo: Instalando software

OpsWorks

JSON

Parametros

Recursos

Ações

Benefícios de ambientes definidos por scripts

Elastic Beanstalk

CloudFormation

Template

Definição procedural Crie um stack

completo programaticamente

Configuração conhecida Armazene os scripts no controle de versões

Dirigido por parametros Templates dinâmicos e

dirigidos pela equipe DevOps

Colaboração Compartilhe templates de maneira simples

OpsWorks

NASA TV & Curiosity Route 53 DNS Multi-region & AZ

Elastic Load Balancing Amazon Live Streaming

Cloud Front Cloud Formation

NASA TV & Curiosity Route 53 DNS Multi-region & AZ

Elastic Loadbalancing Amazon Live Streaming

Cloud Front Cloud Formation

Template ELBs

~100 servidores Nginx para cache

2-3 servidores Nginx para aplicação

Stack

Template CloudFormation define a infraestrutura de

vídeos e imagens

NASA TV & Curiosity Route 53 DNS Multi-region & AZ

Elastic Loadbalancing Amazon Live Streaming

Cloud Front Cloud Formation

Com a demanda crescente é possível criar novos stacks em diferentes AZs ou regiões com

um clique ou programaticamente

Rollout complexo feito em apenas um

clique

Alto nível, pacotes simples

Controle declarativo de

ajuste fino

“Eu só quero minha app funcionando!”

“Eu quero ter controle e também versionar todo o

meu deploy de data center como se fosse um

arquivo de config”

Elastic Beanstalk

CloudFormation

AWS OpsWorks

“Eu quero minha solução funcionando

com DevOps”

Solução DevOps poderosa com suporte a Chef

Elastic Beanstalk

CloudFormation

Stack Layers Management

Ambiente

gerenciado

Definição do ambiente

Serviços de

gestão

Escalabilidade, clonagem de

ambientes, self healing

Coleção de

recursos

Camada de aplicação, de base de dados, etc

OpsWorks

Apps

Os ativos de

aplicação

Código-fonte ou executáveis para

implantar em uma camada

Criação simples de stacks com definição de camadas

Elastic Beanstalk

CloudFormation

OpsWorks

Layers

Load balancing

HA Proxy ou Elastic Load Balancers

Container de aplicação

Static, Node.js, Rails, PHP, etc

Camada de banco de dados

MySQL, SQL Server, Oracle, etc

Elastic Beanstalk

CloudFormation

OpsWorks

Layers Ganglia

MemCached

Camadas customizadas

+

Criação simples de stacks com definição de camadas

Scaling and auto-healing

Elastic Beanstalk

CloudFormation

OpsWorks

Auto healing

Troca de uma instancia com problemas mesmo

sem escalabilidade

i.e. sempre manter 3 nós em 3 AZs

Time based scaling

Criar uma nova instancia EC2 em horários determinados

i.e. executa algumas instancias apenas em dias ou horas específicas

Load based scaling

Adicionar e remover instancias com base em

regras de carga

i.e. cria novas instancias quando a CPU passar de 80%

Escalabilidade e auto-healing

Elastic Beanstalk

CloudFormation

OpsWorks

Escalabilidade e auto-healing

Elastic Beanstalk

CloudFormation

OpsWorks Lo

ad b

ased

Ti

me

bas

ed

Implantação de aplicações

Elastic Beanstalk

CloudFormation

OpsWorks

Elastic Beanstalk

CloudFormation

OpsWorks Implantação de aplicações

Elastic Beanstalk

CloudFormation

OpsWorks Implantação de aplicações

Customização com chef recipes

Elastic Beanstalk

CloudFormation

OpsWorks

Inicie rapidamente com Beanstalk (controle o caos)

Controle granular e script com CloudFormation

(especificações do data center em script)

Gerencie com camadas e recipes Chef com OpsWorks

(controle com customização Chef)

aws.amazon.com/pt/application-management

Saiba mais em…

RECURSOS TÉCNICOS

awshub.com.br

OBRIGADO! aws.typepad.com/brasil

slideshare.net/AmazonWebServicesLATAM

José Papo

AWS Tech Evangelist

@josepapo

top related