Buscar

eBook AWS 2020

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aplicações modernas 
Como reinventar a entrega de valor da sua empresa
As aplicações modernas estão mudando a 
forma como sua empresa agrega valor para 
os clientes
A transformação digital afetou drasticamente a maneira 
como as empresas entregam valor e o ritmo com que fazem 
mudanças em seus produtos e serviços. Toda empresa está 
se tornando uma empresa de tecnologia. As organizações 
estão cada vez mais criando produtos que são tecnológicos 
por si mesmos ou são fortemente influenciados pela 
tecnologia. Para competir nesse novo mundo, as empresas 
devem criar produtos digitais melhores e isso a um ritmo 
cada vez mais rápido. 
Muitas empresas estão inovando mais rapidamente ao mudar a maneira como 
projetam, criam e gerenciam aplicações por meio do que podemos chamar 
de aplicações modernas. As aplicações modernas aumentam a agilidade de 
suas equipes, bem como a confiabilidade, a segurança e a escalabilidade das 
aplicações. As aplicações modernas são criadas com mais rapidez do que 
nunca. Elas podem escalar rapidamente até milhões de usuários, oferecer 
disponibilidade global, gerenciar petabytes (e até exabytes) de dados e 
responder em milissegundos.
INTRODUÇÃO
2
“A invenção requer duas coisas: 
a capacidade de fazer muitos 
experimentos e não ter que 
conviver com o dano colateral dos 
experimentos que falharam.”
Andy Jassy, CEO, Amazon Web Services
50%
da tecnologia de comunicação da 
informação será alocada diretamente 
à transformação digital até 2023, 
segundo as previsões
67%
dos executivos acreditam que 
devem acompanhar o ritmo para 
permanecerem competitivos 
90%
das novas aplicações serão nativas 
da nuvem até 2025, segundo as 
previsões
Para criar aplicações modernas, você também 
precisa reconsiderar os padrões de arquitetura, 
os modelos operacionais e o processo de entrega 
de software da aplicação. Embora essas mudanças 
possam ser drásticas para a organização, o processo 
não precisa ser agressivo. Muitas organizações 
dão um salto inspirado para criar aplicações 
modernas na nuvem, mas várias outras adotam 
uma abordagem gradual, lidando com uma 
aplicação por vez. 
Observamos características comuns de aplicações 
modernas em nossa experiência criando 
aplicações para a Amazon.com e atendendo a 
milhões de clientes da AWS. As aplicações com 
essas características permitiram que nossos 
clientes aumentassem a agilidade e criassem 
aplicações melhores para apoiar o sucesso 
da empresa. Embora você possa modernizar 
aplicações partindo de qualquer ponto, o 
resultado é o mesmo: aplicações mais seguras, 
confiáveis, escaláveis e rapidamente disponíveis 
para clientes e parceiros.
Este guia aborda 
os seguintes tópicos: 
• Inovadores digitais
• Características das aplicações 
modernas
 1 Cultura de propriedade
 2 Padrões de arquitetura: 
microsserviços
 3 Computação em aplicações 
modernas: contêineres e AWS 
Lambda
 4 Gerenciamento de dados: propósito 
específico e desacoplamento
 5 Agilidade na atuação dos 
desenvolvedores: abstração, 
automação e padronização
 6 Modelo operacional: 
arquitetura sem servidor o tanto 
quanto possível
 7 Gerenciamento e governança: como 
usar proteções programáticas 
• Comece a criar aplicações modernas 
hoje mesmo
INTRODUÇÃO
3
INOVADORES DIGITAIS
 1 https://www.forrester.com/report/Digital+Rewrites+The+Rules+Of+Business/-/E-RES137090
4
OUVIR
ITERAR EXPERIMENTAR
CICLO
DA INOVAÇÃO
Inovação requer ouvir os clientes
Em um relatório recente de Vision Report, Digital Rewrites the Rules of 
Business, a Forrester Research definiu a mentalidade centrada no cliente de um 
inovador digital. A principal missão desses inovadores modernos é: 
“Aproveitar os ativos e os ecossistemas digitais para melhorar 
continuamente os resultados do cliente e, ao mesmo tempo, 
melhorar a excelência operacional […] aplicando o pensamento 
digital às experiências, operações, ecossistemas e inovações do 
cliente.” 1
Focar no cliente significa tomar decisões de negócios trabalhando no 
sentido contrário, partindo do ponto de vista do cliente. Significa aprimorar 
constantemente os produtos e os serviços para oferecer melhor os resultados 
que encantam os clientes. Por fim, significa ouvir o que o cliente realmente 
valoriza para que você possa continuar inventando e iterando em benefício 
dele. Isso se chama o “ciclo da inovação”. 
A ideia básica é que o motivador de qualquer inovação surge com a 
demanda do cliente e melhora com os comentários do cliente. Isso se repete 
de modo constante (e lucrativo) até que a demanda mude e todo o ciclo 
recomece. Quanto mais rapidamente as equipes puderem girar o próprio 
ciclo da inovação, mais forte será seu diferencial no mercado e mais você se 
destacará da concorrência.
APLICAÇÕES MODERNAS NA PRÁTICA
O desenvolvimento de aplicações 
modernas é uma abordagem 
eficiente para projetar, criar e 
gerenciar software na nuvem. 
Essa abordagem comprovada 
aumenta a agilidade das equipes de 
desenvolvimento, a confiabilidade 
e a segurança das aplicações, 
permitindo a criação e o lançamento 
de produtos melhores em menos 
tempo. Com base em nossa 
experiência em ajudar organizações 
de todos os tipos a criar aplicações, 
identificamos as características 
comuns das aplicações modernas às 
quais os inovadores digitais recorrem 
para obter sucesso. 
5
Características das aplicações modernas
1 Cultura de propriedade 
2 Padrões de arquitetura: microsserviços
3 Computação em aplicações modernas: contêineres e AWS Lambda
4 Gerenciamento de dados: propósito específico e desacoplamento
5 Agilidade na atuação dos desenvolvedores: abstração, automação e padronização
6 Modelo operacional: arquitetura sem servidor o tanto quanto possível
7 Gerenciamento e governança: como usar proteções programáticas
UMA CULTURA DE PROPRIEDADE
Como criar uma cultura 
de propriedade 
A inovação vem, em última análise, das pessoas. 
Portanto, o desenvolvimento de aplicações 
modernas tem como ponto de partida a 
capacitação das pessoas para que gerem melhores 
resultados para os clientes. Usamos o conceito de 
“produtos, não projetos” para descrever como isso 
afeta a estrutura da equipe. Dito de modo simples, 
a ideia é que as equipes que criam os produtos 
são responsáveis por operá-los e mantê-los. Esse 
conceito torna as equipes de produto responsáveis 
pelo desenvolvimento de todo o produto e não 
apenas de uma parte dele. 
Após mais de uma década criando e executando 
a aplicação Web altamente escalável do site 
Amazon.com, aprendemos em primeira mão a 
importância de dar autonomia às nossas equipes. 
Quando atribuímos à equipe a responsabilidade 
por todo o ciclo de vida da aplicação, incluindo 
as tarefas de receber comentários dos clientes, 
planejar o roteiro, desenvolver e operar a 
aplicação, ela se apropriou do produto e sentiu-
se capacitada a desenvolver e entregar novos 
resultados aos clientes. A autonomia gera 
motivação, abre as portas para a criatividade e 
desenvolve uma cultura que permite assumir 
riscos em um ambiente de confiança.
Embora adotar uma cultura de propriedade 
não seja algo inerentemente técnico, continua 
sendo um dos aspectos mais desafiadores do 
desenvolvimento de aplicações modernas. 
Capacitar as equipes para que se apropriem 
do produto envolve mudar a mentalidade da 
organização, a estrutura das equipes e o trabalho 
pelo qual elas são responsáveis.
6
Como desenvolver uma cultura de inovação
1 Comece com os clientes: toda inovação deve começar com uma necessidade do cliente e, por fim, 
 encantar os clientes. Tenha como prioridade implacável concentrar-se na demanda dos clientes.
2 Contrate criadores e deixe-os criar: remova qualquer obstáculo que retarde o processo de criação 
 e lançamento de produtos e recursos para os clientes. Quanto mais rápido você iterar, mais rápido o 
 ciclo do flywheel vai girar. 
3 Apoie criadores com um conjunto de princípios:não fale da boca para fora, mas respire e viva 
 a inovação em todas as áreas da empresa, da liderança às vendas e ao suporte.
MICROSSERVIÇOS
Padrões de arquitetura: microsserviços 
Embora uma aplicação monolítica possa ser facilmente gerenciada hoje 
em dia, o crescimento costuma trazer desafios, inclusive a forma como se 
compartilha a responsabilidade pela aplicação entre as equipes. Você pode 
criar uma forte cultura de propriedade, mas ainda enfrentar dificuldades 
para aumentar a escala se a arquitetura da aplicação incluir dependências 
rígidas que impeçam as equipes de assumir a responsabilidade pelo 
produto final. É por isso que recomendamos criar arquiteturas de 
microsserviços para aplicações que crescem e mudam rapidamente. 
Os microsserviços são a expressão arquitetônica de uma cultura de 
propriedade: eles dividem e organizam as aplicações em componentes 
que uma única equipe pode deter e executar de modo independente. No 
caso de um monólito, há muitos desenvolvedores enviando alterações 
por um pipeline de liberação compartilhado, o que causa problemas em 
muitos pontos do ciclo de vida. Durante o desenvolvimento, os engenheiros 
precisam coordenar antecipadamente as mudanças para garantir que não 
causem problemas no código de outra pessoa. Para atualizar uma biblioteca 
compartilhada e aproveitar um novo recurso, é preciso convencer todas as 
outras pessoas a fazer a atualização ao mesmo tempo. Uma tarefa difícil! Se 
você quiser aplicar rapidamente uma correção importante de um recurso, 
precisará combiná-la com as alterações em andamento. 
Após o desenvolvimento, também se enfrenta uma sobrecarga ao processar 
as alterações pelo pipeline de entrega. Mesmo quando a alteração 
se resume a uma única linha em um pequeno trecho de código, os 
engenheiros precisam coordenar antecipadamente as alterações, combinar 
o código dessas alterações, resolver conflitos nas versões, recompilar toda a 
aplicação, executar todos os pacotes de teste e reimplantar mais uma vez.
7
8
MICROSSERVIÇOS
Em uma arquitetura de microsserviços, 
a aplicação é formada por componentes 
independentes que executam cada processo 
da aplicação como um serviço. Os serviços são 
criados para as funcionalidades empresariais e 
cada qual desempenha uma só função. Uma vez 
que opera de modo independente e é gerenciado 
por uma única equipe de desenvolvimento, 
cada serviço pode ser atualizado, implantado 
e dimensionado para atender à demanda 
por funções específicas de uma aplicação. 
Por exemplo, um carrinho de compras online 
pode ser usado por muitos outros usuários 
durante uma venda. Os microsserviços enviam 
e recebem dados entre si por meio de interfaces 
bem definidas, usando APIs, eventos ou fluxos 
simples. Nossos clientes dependem cada vez 
mais de arquiteturas orientadas por eventos 
(arquiteturas em que as ações são ativadas como 
resposta a mudanças nos dados) para melhorar 
a escalabilidade e a resiliência das aplicações ao 
mesmo tempo que os custos são reduzidos.
FAZER TUDO OU FAZER UMA COISA SÓ: DOIS TIPOS DE APLICAÇÕES
8
 
Aplicação única
Necessidade de implantar toda a aplicação
Um banco de dados
Organizadas em torno de camadas de tecnologia 
Estado definido em cada instância do tempo 
de execução
Uma pilha de tecnologia para toda a aplicação
Serviços com função mínima 
Implantados separadamente com interação 
conjunta
Cada um tem o próprio datastore
Organizados em torno das funcionalidades 
de negócios
Estado externalizado
Escolha de tecnologia para cada microsserviço
Aplicações monolíticas
fazem tudo
Microsserviços
fazem uma coisa
A Centrica, uma empresa britânica multinacional 
de energia e serviços, queria reduzir os custos 
e aumentar a agilidade alterando a definição 
da arquitetura das aplicações. A empresa optou 
por refatorizar adotando uma arquitetura de 
microsserviços e uma estratégia sem servidor 
para alcançar esses objetivos.
Para alterar a organização, a Centrica reuniu equipes 
representativas para criar um grupo de trabalho de 
modelo sem servidor, que iniciou a construção de 
um piloto. Depois dessa iniciativa bem-sucedida, 
outras equipes da organização também adotaram 
essa abordagem e o modelo sem servidor tornou-se 
comum em toda a organização. 
9
RETRATO DO CLIENTE
Com a arquitetura sem servidor, a empresa consegue 
detectar e responder a problemas de clientes em 
tempo real, algo que antes era impossível.
Assista ao vídeo >
GERENCIAMENTO DE DADOS
Gerenciamento de dados: propósito 
específico e desacoplamento
A mudança para arquiteturas de microsserviços tem um grande impacto 
na forma como as organizações armazenam e gerenciam dados. Se cada 
microsserviço interagir com um banco de dados monolítico, o banco 
de dados continuará sendo um ponto único de falha. É por isso que as 
aplicações modernas são criadas com datastores desacoplados, cada um 
deles fazendo parte de um único microsserviço. Isso pode parecer uma 
diferença radical em relação à arquitetura de aplicações tradicional. No 
entanto, quando reconhecemos que, à medida que cresce, uma aplicação 
monolítica impõe desafios de escalabilidade e tolerância a falhas, vemos 
que precisamos aplicar esses mesmos princípios a um banco de dados. 
Os bancos de dados evoluíram consideravelmente ao longo da última 
década. Aplicações tradicionais como ERP, CRM e comércio eletrônico 
usavam predominantemente bancos de dados relacionais porque a principal 
necessidade dessas aplicações era registrar transações e armazenar dados 
estruturados com volume de gigabytes e, ocasionalmente, terabytes. No 
entanto, as abordagens da criação de aplicações e os requisitos das próprias 
aplicações mudaram. As aplicações precisam trabalhar com terabytes e 
petabytes de dados, comportar milhões de clientes distribuídos globalmente 
e processar milhões de solicitações por segundo com latência muito baixa. 
Para absorver esses volumes, cada vez mais os desenvolvedores criam 
aplicações usando arquiteturas de microsserviços e escolhendo bancos de 
dados relacionais e não relacionais de propósito específico para atender a 
necessidades específicas das aplicações, como armazenar pares de chave-
valor e documentos.
10
Lançada em 1996 no Japão, a Pokémon se 
tornou uma das mais populares marcas de 
entretenimento em todo o mundo. Após o 
lançamento do Pokémon GO em 2016, o 
número de usuários que tinham acesso ao 
sistema cresceu para mais de 300 milhões 
em dois anos. A empresa decidiu migrar para 
o Amazon Aurora, uma solução de dados 
totalmente gerenciada, para liberar tempo e 
recursos e dedicá-los a iniciativas estratégicas.
Como resultado da migração para o Aurora, a 
The Pokémon Company obteve uma redução 
de custos mensal da ordem de dezenas de 
milhares. Além disso, a empresa aumentou 
consideravelmente a confiabilidade. Após 
experimentar 168 horas de indisponibilidade 
ou degradação de performance nos seis meses 
anteriores à migração, a solução não teve 
nenhum desses problemas depois da migração.
Leia a história completa >
“Com o Amazon Aurora, passamos de 300 para 
30 nós e deixamos de pagar licenças de banco 
de dados. Nosso custo do banco de dados foi 
reduzido em dezenas de milhares de dólares a 
cada mês.”
11
RETRATO DO CLIENTE
 Jeff Webb, gerente de desenvolvimento, The Pokémon 
Company International.
Utilização de contêineres e do AWS Lambda
A migração de monólito para microsserviços afeta a forma como o código é 
empacotado e executado e altera a computação em aplicações modernas. As 
instâncias não são mais a única opção. Agora, as aplicações modernas usam 
contêineres ou o AWS Lambda, um serviço de computação sem servidor que 
é orientado por eventos. Grande parte dessa mudança surgiu da vontade dos 
desenvolvedores de gerenciar dependências dentro de cada serviço por meio 
de um pipeline. Por sua vez, isso resultou em novas maneiras de empacotar 
aplicações. 
A escolha entre instâncias, contêineres e o Lambda se resume ao equilíbrio 
entre flexibilidadee simplicidade que é adequado à empresa, o que definimos 
como integração uniforme com outros serviços e recursos. A priorização da 
simplicidade compromete a flexibilidade. Um dos problemas mais comuns que 
continuamos tentando resolver é como priorizar a simplicidade sem renunciar a 
toda a flexibilidade.
Cada vez mais, notamos que clientes escolhem os contêineres e o Lambda 
para a computação. Os contêineres se tornaram o modo mais popular de 
empacotar código, o que faz deles uma ótima maneira de modernizar aplicações 
herdadas. Os contêineres oferecem excelente portabilidade e flexibilidade 
das configurações de aplicações. Além de permitir que você aproveite toda a 
agilidade oferecida pela nuvem, o Lambda é extremamente simples: o único 
código que você precisa escrever é a lógica de negócios.
COMPUTAÇÃO EM APLICAÇÕES MODERNAS 
12
RETRATO DO CLIENTE
13
A AbiBird é uma divisão subsidiária integral da 
ATF Services, um grupo australiano de empresas 
com 60 filiais na Austrália e Nova Zelândia e 350 
funcionários e contratados. A empresa oferece um 
serviço de sensores infravermelhos residenciais que 
ajudam a monitorar as atividades de residentes 
idosos por meio de um aplicativo para smartphones. 
A AbiBird usava o Microsoft Azure quando 
percebeu que 62 tíquetes de suporte técnico 
haviam sido criados no provedor de nuvem 
para manter o serviço em execução. A empresa 
precisava de mais estabilidade e escalabilidade. 
A AbiBird optou por migrar para a AWS e agora 
usa uma combinação de serviços de computação 
para atender às suas necessidades. Ela utiliza o 
AWS Lambda no back-end pela facilidade de uso, 
escalabilidade e natureza gerenciada do serviço. 
 
A empresa também usa serviços de contêiner da 
AWS, hospedando uma API pública no Amazon 
ECS e utilizando o AWS Fargate para executar 
contêineres sem se preocupar com a administração 
da sua própria frota de máquinas virtuais.
“Acreditamos que a nossa tecnologia, executada 
na AWS, permitirá que um número crescente 
de idosos viva de forma independente em suas 
casas, o local onde são mais felizes.”
 Robin Mysell, CEO, ATF Services e AbiBird
Desde o lançamento desse sistema na AWS 
em 2019, a AbiBird não precisou abrir nenhum 
tíquete de suporte, o que permite a execução 
eficiente com o mínimo de sobrecarga de suporte.
Leia a história completa >
Integração contínua (CI): uma prática de desenvolvimento de 
software em que os desenvolvedores combinam regularmente 
alterações de código em um repositório central para permitir a 
execução de compilações e testes automáticos. Na maioria das vezes, 
a integração contínua é uma referência à etapa de compilação ou 
integração do processo de lançamento de software e abrange um 
componente de automação (por exemplo, um serviço de integração 
contínua ou compilação) e um componente cultural (por exemplo, 
aprender a integrar com frequência). 
Entrega contínua (CD): uma prática de desenvolvimento de software 
em que as alterações de código são preparadas automaticamente 
para o lançamento em produção. A entrega contínua expande a 
integração contínua implantando todas as alterações de código em 
um ambiente de teste e/ou de produção após a etapa de compilação.
Saiba como a Amazon automatiza implantações seguras sem 
intervenção manual >
Mais detalhes: 
Agilidade na atuação dos desenvolvedores: 
abstração, automação e padronização 
 
As arquiteturas de microsserviços tornam as equipes ágeis e aumentam sua 
velocidade de atuação. Isso significa que sua empresa cria mais recursos 
que precisa lançar, gastando o mesmo tempo. Isso é ótimo! No entanto, sua 
empresa não disponibilizará os recursos aos clientes em menos tempo se o 
processo de criação e lançamento não acompanhar o ritmo da equipe. Os 
pipelines tradicionais de processos de desenvolvimento e lançamento são 
retardados por processos manuais e código personalizado. Em última análise, 
o código personalizado é uma desvantagem, pois introduz a possibilidade 
de erros e manutenção no longo prazo. As etapas manuais (de alterações de 
código e solicitações de compilação até testes e implantação) são o principal 
fator que reduz a velocidade do lançamento. A solução envolve abstração, 
automação e padronização.
Para acelerar o processo de desenvolvimento, abstraia a maior quantidade 
de código possível (particularmente as linhas de código que não compõem a 
lógica de negócios, que é necessária para desenvolver e entregar aplicações 
prontas para produção). Uma forma de fazer isso é usar estruturas de 
trabalho e ferramentas que reduzem a complexidade do provisionamento 
e da configuração de recursos. Isso aumenta a velocidade de atuação 
dos desenvolvedores, além de aplicar as melhores práticas de segurança, 
privacidade, confiabilidade, performance e capacidade de observação e 
expansão durante todo o processo de desenvolvimento. Com as estruturas 
de trabalho de desenvolvimento, você pode confiar que a arquitetura 
comportará o crescimento da empresa no longo prazo. 
AGILIDADE NA ATUAÇÃO DOS DESENVOLVEDORES
1414
Ao definir seu processo de entrega de software usando modelos de melhores 
práticas, você pode fornecer um padrão para modelar e provisionar todos 
os recursos de infraestrutura em um ambiente de nuvem. Esses modelos de 
“infraestrutura como código” ajudam as equipes a começar com o pé direito, pois 
o modelo provisiona toda a pilha de tecnologia para uma aplicação por meio de 
código, em vez de usar um processo manual.
Com a automação, você pode criar um movimento repetível que acelera o ciclo 
de vida de entrega de software. A automação do pipeline de lançamento usando 
integração e entrega contínuas (CI/CD) ajuda as equipes a lançar código de alta 
qualidade em menos tempo e com mais frequência. As equipes que usam CI/
CD enviam mais código em menos tempo e aceleram a resposta a problemas. 
Na verdade, de acordo com o relatório Puppet state of DevOps, as equipes que 
empregam essas práticas têm uma taxa de falhas cinco vezes menor, uma 
velocidade da confirmação à implantação 440 vezes mais rápida e uma taxa de 
implantação 46 vezes mais frequente.2 E, o que é mais importante, as equipes 
que praticam CI/CD dedicam 44% mais tempo à criação de novos recursos e 
código, em vez de gerenciar processos e ferramentas.
Os pipelines de CI/CD tornaram-se o novo processo de produção para criar 
aplicações modernas. Na Amazon, começamos a usar CI/CD para aumentar a 
velocidade de lançamento, e os resultados foram notáveis: alcançamos milhões 
de implantações em um ano e crescimento mais rápido a cada ano. Para ajudar 
as empresas a se beneficiarem de nossa experiência, criamos um pacote de 
ferramentas de desenvolvedor com base naquelas que usamos internamente 
para que nossos clientes possam entregar código em menos tempo.
AGILIDADE NA ATUAÇÃO DOS DESENVOLVEDORES
15
 2 https://puppet.com/resources/report/2017-state-devops-report/
Com a AWS, a lululemon athletica pode ativar ambientes de 
desenvolvimento em minutos em vez de dias, automatizá-los e habilitar 
a integração e a implantação contínuas. A empresa canadense vende 
vestuário inspirado pela ioga e outras roupas em mais de 350 locais em 
todo o mundo. A lululemon executa na Nuvem AWS os ambientes de teste 
e desenvolvimento, além de um aplicativo móvel a ser lançado em breve.
A lululemon reduziu o tempo de criação de novas contas de produção de dois 
dias para alguns minutos usando os modelos do AWS CloudFormation e o 
AWS CodePipeline. Com essa maior agilidade, as equipes de desenvolvimento 
da lululemon agora podem experimentar e chegar às melhores soluções em 
vez de se limitar aos recursos disponíveis no momento .
Leia a história completa >
 
RETRATO DO CLIENTE
A HyperTrack é uma plataforma de nuvem via autoatendimento 
para rastreamento de localizações ao vivo por meio de 
aplicativos. Lançada no final de 2015, a HyperTrack precisava 
criar uma plataforma que pudesse escalar automaticamente 
de acordo com o crescimento esperado e, ao mesmotempo, 
acelerar a criação de recursos pelos desenvolvedores. 
Para obter uma estrutura de trabalho de desenvolvimento para 
dispositivos móveis e uma arquitetura sem servidor, a HyperTrack 
optou pelo AWS Amplify, que permite aumentar e reduzir 
automaticamente a escala, sem a intervenção da área de engenharia.
Como resultado, a empresa reduziu em 30% os custos em 
relação à arquitetura usada antes da migração para o modelo 
sem servidor. Uma boa parte da economia resulta de os recursos 
operacionais não precisarem mais se dedicar ao gerenciamento 
de servidores. A HyperTrack economiza semanalmente 40 horas 
de trabalho no gerenciamento de milhões de eventos.ill
Leia a história completa >
16
“Qualquer pipeline de integração e implantação contínuas deve 
ser automatizado, fácil de gerenciar e detectável. É exatamente 
isso que recebemos da AWS. Obtemos um nível de simplicidade 
e transparência que simplesmente não poderíamos ter em nosso 
ambiente on-premises anterior.”
Sam Keen, diretor de arquitetura de produtos, lululemon
Um modelo operacional sem servidor é ideal para empresas de alto crescimento que querem 
acelerar a inovação. A arquitetura sem servidor permite que as equipes avancem ainda mais 
rapidamente e mantenham um foco preciso nas atividades que diferenciam a empresa, para que 
esta possa acelerar o flywheel da inovação. 
Como definimos o modelo sem servidor na AWS?
Para nós, falar sobre modelos sem servidor é referir-se à remoção do trabalho 
genérico repetitivo de operações de servidor. Essa é uma distinção importante, 
pois permite que você se concentre na criação da aplicação e não no 
gerenciamento e na escalabilidade da infraestrutura que apoiam a aplicação. 
Os quatro princípios de um modelo operacional sem servidor são estes:
1. Sem gerenciamento de servidores: não há necessidade de 
provisionamento e manutenção de nenhum servidor. Não é preciso 
instalar, manter ou administrar nenhum software ou tempo de 
execução.
2. Escalabilidade flexível: a aplicação pode ser escalada 
automaticamente ou por meio do ajuste de sua capacidade com 
a alternância das unidades de consumo (por exemplo, taxa de 
transferência, memória) em vez de unidades de servidores individuais.
3. Pague pelo valor: em vez de pagar por unidades de servidor, pague 
pelo que tem valor para você, como taxa de transferência consistente 
ou duração da execução. 
4. Alta disponibilidade automatizada: o modelo sem servidor 
incorpora disponibilidade e tolerância a falhas. Você não precisa 
definir uma arquitetura para esses recursos, pois ela é fornecida por 
padrão pelos serviços que executam a aplicação.
 Modelo operacional: arquitetura sem 
servidor o tanto quanto possível
Com a evolução dos processos de entrega de software e dos padrões de 
arquitetura, é provável que você queira adotar um modelo operacional que 
permita transferir todas as atividades que não integrem uma competência 
essencial da empresa. Para ganhar a agilidade que permite inovar com 
rapidez, recomendamos criar uma arquitetura de microsserviços, bem como 
operar e implantar software usando automação para atividades como 
monitoramento, provisionamento, gerenciamento de custos, implantação, 
segurança e governança de aplicações. A escolha de uma estratégia de 
priorização de modelos em servidor (optar por tecnologias sem servidor 
sempre que possível) permite maximizar os benefícios operacionais da AWS.
Um modelo operacional sem servidor permite que você crie e execute 
aplicações e serviços sem provisionar e gerenciar servidores. Isso elimina o 
gerenciamento de servidores, oferece escalabilidade flexível, permite pagar 
apenas pelo valor e automatiza a alta disponibilidade. Esse modelo permite 
que você crie e gerencie os aspectos de uma aplicação que agregam valor 
para o cliente, sem precisar se preocupar com os detalhes subjacentes.
O uso dos componentes básicos do modelo sem servidor para recursos de 
computação, dados e integração permitirá que você se beneficie ao máximo 
da agilidade oferecida pela nuvem para criar aplicações totalmente novas ou 
migrar aplicações herdadas.
MODELO OPERACIONAL SEM SERVIDOR
17
A iRobot usa tecnologia para ajudar o cliente 
a transferir muitas tarefas que as pessoas não 
querem fazer, como cuidar do gramado e do piso. 
A empresa aplica o mesmo conceito às próprias 
práticas de desenvolvimento, transferindo o 
gerenciamento operacional para a AWS a fim de 
permitir que os desenvolvedores se mantenham o 
foco na criação de tecnologia para a empresa. 
Em 2015, a iRobot lançou o primeiro Roomba 
conectado e percebeu que não conseguiria escalar 
para atender às demandas dos clientes. Com a 
adoção de uma arquitetura sem servidor na AWS, a 
iRobot agora oferece aspiradores de pó e esfregões 
robóticos e conectados à Internet em escala 
global. Os picos de demanda, como o aumento 
18
RETRATO DO CLIENTE
de 20 vezes no tráfego durante o Natal, deixaram 
de ser um problema. A infraestrutura escala 
automaticamente para atender às necessidades.
Assista ao vídeo >
GERENCIAMENTO E GOVERNANÇA
O gerenciamento seguro, lícito e protegido da organização é a prioridade 
de praticamente todas as empresas. No entanto, uma governança sólida 
costuma criar pontos de verificação que retardam a inovação. De um 
ponto de vista filosófico, as organizações têm duas opções em relação 
às operações. Elas podem agir com lentidão e segurança ou podem 
não impor limites e agir rapidamente, introduzindo riscos sérios para as 
aplicações e a empresa, em contrapartida. 
O ideal seria ter o melhor dos dois extremos. É por isso que as empresas, 
cada vez mais, adotam o conceito de proteções. As proteções permitem 
que as equipes operem com rapidez, sem expor a empresa a riscos.
As proteções são mecanismos, como processos ou práticas, que 
reduzem a ocorrência e o impacto de comportamentos indesejados 
das aplicações. Normalmente expressas como código, as proteções são 
estabelecidas e padronizadas por uma equipe central, e são entregues 
e atualizadas para as equipes de criadores por meios automatizados e 
programáticos. É nesse ponto que são essenciais os operadores, ou as 
pessoas designadas para estabelecer, gerenciar e manter as diversas 
partes flexíveis das arquiteturas distribuídas. 
Normalmente percebemos os operadores trabalhando em algumas áreas 
diferentes. No mundo das aplicações modernas, os operadores definem 
as proteções para o monitoramento, provisionamento, implantação, 
gerenciamento de custos, segurança e governança de aplicações. Além 
de estabelecer limites, regras e melhores práticas para cada uma dessas 
áreas, os operadores também criam soluções automatizadas, bem como 
empacotam e implantam essas proteções em toda a organização. 
Gerenciamento e governança: como 
usar proteções programáticas
19
Monitoramento
• Utilização de CPU
• Taxa de transferência 
do banco de dados
• Processos de negócios
Provisionamento
• Permissões de acesso
• Disponibilidade de 
recursos
• Configuração
Gerenciamento de custos
• Custos de recursos
• Utilização de recursos
• Taxa anualizada de despesas
Segurança e conformidade
• Utilização de CPU
• Taxa de transferência do 
banco de dados
• Processos de negócios
19
Implantação
• Janela de tempo 
• Conjuntos de 
ferramentas 
disponíveis
• Tamanho ou 
período dos 
lançamentos de 
teste 
Liberdade total Proteções Controle central
Rapidez de 
desenvolvimento, 
mas riscos jurídicos 
e de confiabilidade 
da aplicação
Caos
Rapidez e baixo 
risco para a 
empresa 
Todos têm a 
ganhar
Baixo risco, mas 
muita lentidão 
para lançar
Dependências e 
atrasos
Filosofias de governança
Usos comuns das proteções
O DevOps é a combinação de filosofias culturais, práticas e ferramentas que 
aumentam a capacidade de uma organização entregar aplicações e serviços 
rapidamente, otimizando e aperfeiçoando produtos em um ritmo mais veloz 
em comparação com as organizações que usam processos tradicionais de 
desenvolvimento de software e gerenciamento de infraestrutura.DevSecOps é a filosofia de integrar práticas de segurança ao processo de 
DevOps. O DevSecOps envolve criar uma cultura de “segurança como código” 
valendo-se de colaboração contínua e flexível entre engenheiros de lançamento e 
equipes de segurança.
Mais detalhes: 
O conceito de proteções também é essencial para a segurança das 
aplicações. Não chega a surpreender que o relatório 2017 State of 
DevOps da Puppet declare que as proteções (ou a integração profunda 
da segurança no ciclo de vida de entrega de software) tornam as equipes 
duas vezes mais confiantes em sua conduta de segurança. O relatório 
também sugere que, das empresas com o mais alto nível de integração 
de segurança, a proporção das que conseguem implantar em produção 
sob demanda (61%) é muito mais alta que a das empresas em outros 
níveis de integração. 
20
GERENCIAMENTO E GOVERNANÇA
Sediada em São Francisco, a Coinbase é uma 
empresa que oferece uma plataforma e carteira de 
moedas digitais. Para proteger os clientes contra 
ataques, os engenheiros da Coinbase devem ser 
capazes de implantar atualizações e novos recursos 
em todos os sistemas da empresa com rapidez e 
confiabilidade. Algumas implantações de software 
demoram 20 horas ou mais. A adoção de uma 
arquitetura sem servidor baseada no AWS Lambda 
e no Step Functions permite que a empresa 
aumente a taxa de implantações de missão crítica 
bem-sucedidas de 90% para 97%.
A nova abordagem reduz substancialmente 
a complexidade da arquitetura da Coinbase. 
Por sua vez, a menor complexidade aumenta 
o campo de visão da equipe para monitorar 
e resolver problemas, reduzindo o número 
de tíquetes de problemas referentes a falhas 
de implantação. Além disso, o processo de 
auditoria é simplificado com a disponibilidade 
de uma única trilha de auditoria para todas as 
implantações.
Leia a história completa >
RETRATO DO CLIENTE
21
“Com mecanismos de implantação baseados 
no AWS Step Functions e no AWS Lambda, 
nossos engenheiros podem implantar código 
em produção com segurança. O resultado é 
que podemos lançar novos recursos com mais 
frequência, acelerar a resposta a ameaças de 
segurança e alcançar mais facilmente nossos 
SLAs. Tudo isso contribui para uma experiência 
do cliente ainda mais aprimorada e segura.”
Graham Jenson, engenheiro de infraestrutura sênior, 
Coinbase
Qualquer ponto de partida. Qualquer 
aplicação. Qualquer inovação. A AWS é 
como o desenvolvimento de aplicações 
modernas acontece.
RESUMO DE FECHAMENTO
Crie aplicações modernas hoje mesmo
As aplicações modernas criam diferenciais competitivos 
ao gerar condições para a inovação rápida. A alteração de 
padrão de arquitetura, modelo operacional e processo de 
entrega de software permite que você desloque recursos 
das operações padrão para atividades de diferenciação. 
Você pode experimentar mais e acelerar a transformação de 
ideias em lançamentos. Você também pode promover um 
ambiente em que os criadores passem mais tempo criando. 
As aplicações modernas são usadas por organizações como 
a Amazon para inovar com velocidade e agilidade. 
As aplicações modernas na AWS podem colaborar 
em muitos aspectos: 
Reduzir o tempo de introdução no mercado
Aumentar a inovação
Aprimorar a confiabilidade
Reduzir os custos
22
© 2020, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.
22
Milhões de clientes no mundo inteiro confiam na AWS, incluindo as startups que 
crescem mais rápido, as maiores empresas e os principais órgãos governamentais, 
para desenvolver a infraestrutura, aumentar a agilidade e reduzir os custos. 
A AWS oferece um amplo portfólio de serviços para apoiar sua empresa no 
desenvolvimento de aplicações modernas.
Desenvolvimento de aplicações modernas na AWS
Serviços da AWS para o desenvolvimento de aplicações modernas
RESUMO DE FECHAMENTO
FERRAMENTAS DE DESENVOLVEDOR
INTEGRAÇÃO
COMPUTAÇÃO
DATASTORES
Computação orientada por 
eventos sem servidor 
AWS Lambda
Saiba mais sobre como implantar as 
melhores práticas de desenvolvimento 
de aplicações modernas g 
23
Armazenamento de objetos
Amazon S3
API GraphQL
AWS AppSync
Desenvolvimento para 
dispositivos móveis/front-end
AWS Amplify
Filas de mensagens
Amazon SQS
Gerenciamento de código-fonte
AWS CodeCommit
Repositório de artefatos
AWS CodeArtifact
Notificações pub/sub e por push
Amazon SNS
Automação de pipelines
AWS CodePipeline
Orquestração de contêineres 
de Kubernetes 
Amazon EKS
Orquestração de contêineres
Amazon ECS
Fluxos de trabalho visuais
AWS Step Functions
Infraestrutura como código: 
TypeScript, Java, Python, C#
AWS Cloud Dev. Kit (CDK)
API REST
Amazon API Gateway
Banco de dados de documentos
Amazon DocumentDB 
Automação de criação e testes
AWS CodeBuild
Malha de serviços
AWS App Mesh 
Banco de dados em memória 
Amazon ElastiCache
Implantação
AWS CodeDeploy
Streaming de dados
Amazon Kinesis
Infraestrutura como 
código: YAML/JSON 
AWS CloudFormation
Barramento de eventos
Amazon EventBridge
Banco de dados de chave-valor
Amazon DynamoDB
Sistema de arquivos
Amazon EFS
Banco de dados relacional
Amazon Aurora
Contêineres sem servidor
AWS Fargate

Outros materiais