SlideShare uma empresa Scribd logo
1 de 109
Mini-Curso
Arquitetura de Sistemas de Alta Disponibilidade
para Cloud
Paulo Miguel Almeida Rodenas
Arquiteto de Sistemas/Arquiteto de Soluções
Loducca
Sobre o mini-curso
● Público alvo: Pessoas com algum
conhecimento em programação web ou mobile.
● Duração: 2 horas e meia – 3 horas
( dependendo das dúvidas ou profundidade
dos temas abordados )
● Pré-requisito: Muita vontade de aprender e
um pouco de imaginação.
Divirtam-se!
Disponibilidade
● Escalabilidade
– Aumentar a capacidade de acomodar um crescimento de
acessos/requisições sem alterar o design da aplicação.
● Confiabilidade
– Capacidade de um sistema ou componente funcionar sob
condições estabelecidas por um período de tempo
especificado.
● Manutenibilidade
– Facilidade em que algum produto pode ter manutenções
de maneira a isolar problemas, corrigir defeitos, substituir
componentes com falha sem ter que substituir
componentes que estão funcionando.
Por que minha aplicação deve ser
altamente disponível ?
● Porque é praticamente impossível se ter uma
aplicação que rode menos do que 24/7, 365 dias
por ano.
● “Everything fails all the time” - Werner Vogels –
CTO of Amazon
– Considerando esta afirmação é possível perceber
que garantir disponibilidade infere na capacidade e
lidar com erros.
● “Tempo é dinheiro”
– Qualquer interrupção em um sistema pode significar
milhões de reais perdidos.
Como isso é medido?
● Com uma simples equação matemática
representada por :
Como isso é medido?
● Mais facilmente compreendido pela tabela dos
noves:
É possível garantir 100% de
disponibilidade ?
● Resposta simples: Não
● Reposta elaborada:
– Impravável de oferecer essa garantia devido :
● Upgrade de softwares
● Reloads de Máquinas
● Tempo de identificação de componentes com defeito
● “Nem mesmo a linha telefônica garante uptime de 100%”
- Matthew Glotzbach – Enterprise Product Management
Director of Google
● Em Agosto,2014 a empresa Splunk anuncionou
100% de disponibilidade. Será que é verdade?
Data Center x Cloud x
Disponibilidade
● O que isso tem haver com disponibilidade do
meu sistema?
– “Friamente” falando nada.
● É possível se ter um sistema altamente disponível em
ambos dependendo dos requerimentos de acesso de
cada negócio.
● Meu négocio necessita de um data center físico
ou uma Cloud?
– Apenas as necessidades do negócio poderão dar
dicas de qual deles é mais adequado para sua
empresa.
Data Center x Cloud x
Disponibilidade
● Motivos para possuir um data center físico:
– Serviços customizados. ( OS modificados )
– Sistemas dedicados
– Controle total sobre a informação e equipamentos
● Desvantagens:
– Recursos matemáticamente limitados
– Não é possível alterar quantidade de armazenamento
sem comprar e instalar novos equipamentos.
– Pode não haver os recursos suficientes para lidar com
picos de utilização inesperados.
– Localização física. ( Disastres )
Data Center x Cloud x
Disponibilidade
● Motivos para utilizar a Cloud:
– Capacidade potencialmente “ilimitada”.
– Escalável de acordo com as necessidades de seu
negócio. ( Para os dois sentidos )
– Adição/Remoção de máquinas é feita em alguns minutos
apenas
– Custo por hora de utilização
● Desvantagens:
– Seu processamento é dividido com outras máquinas de
terceiros
– Não possui total controle sobre as informações e
equipamentos*
Data Center x Cloud x Custo
● http://aws.amazon.com/tco-calculator/
Data Center x Cloud x Custo
Players no Mercado de Cloud
AWS – Data Centers
AWS - Regions
AWS – Data Centers
Pontos Importantes
● Toda comunicação entre regions é feita pela
internet
– É de responsabilidade da aplicação de encriptar o
conteúdo ao transferi-los
● Tranferência de dados entre regions é cobrada
● Transferência de dados entre máquinas de
uma mesma regions é gratuíta
Por que isso influenciaria na
disponibilidade?
● Cada region é completamente independente
● Cada Availability Zone é isolada uma da outra
(hardware)
– Estão conectadas entre si através de links de
baixíssima latência.
AWS - Region
Exemplo mínimo de uma AAD.
Internet
Load Balancer
Availability Zone Availability Zone
EC2 EC2
AWS - Region
Exemplo mínimo de uma AAD.
Internet
Load Balancer
Availability Zone Availability Zone
EC2 EC2
AWS - Region
Exemplo mínimo de uma AAD.
Internet
Load Balancer
Availability Zone Availability Zone
EC2 EC2
Entendimento da sala até o
momento
● Por que se preocupar com AD.
● Como é medido a disponibilidade.
● Vantagens do uso da Cloud.
● Regions e Availability zones.
● Arquitetura mínima de uma AAD.
Chaves do sucesso de AAD.
● Projete para suportar falhas
● Sempre distribua seu sistema em diferentes
Availability Zones ou até Regions se isso for
necessário. ( Seja coerente aqui )
● Considere escalabilidade
● Estratégia de auto-reparo.
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
Load Balancer
Máquina
EC2
Máquina
EC2
No mínimo 2 máquinas.
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
Load Balancer
Máquina
EC2
Máquina
EC2
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
Load Balancer
Máquina
EC2
Máquina
EC2
Toda aplicação é impactada
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Processo de replicação de dados
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
(Slave)
Load Balancer
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Master)
O Banco de Slave será promovido a Master
AZ - A
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Lembre-se que sempre colocamos máquina em uma AZ
Não
colocamos
antes para
não poluir a
arquitetura
visualmente
falando.
AZ - A
Projete para suportar falhas
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Mas e se a AZ falhar ? ( 99.99% de uptime )
AZ - A
Distribua em Múltiplas Availability
Zones
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
AZ - B
Máquina
EC2
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
AZ - A
Distribua em Múltiplas Availability
Zones
Internet
Máquina
EC2
Banco de Dados
RDS
(Slave)
Load Balancer
Máquina
EC2
Máquina
EC2
AZ - B
Máquina
EC2
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Master)
AZ - A
Considere Escalabilidade
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
AZ - B
Máquina
EC2
Banco de Dados
RDS
(Slave)
Máquina
EC2
Máquina
EC2
Máquina
EC2
AZ - A
Considere Escalabilidade
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
AZ - B
Máquina
EC2
Banco de Dados
RDS
(Slave)
Máquina
EC2
Máquina
EC2
Máquina
EC2
E se houver mais requisições do que eu consigo lidar ?
AZ - A AZ - B
Considere Escalabilidade
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
AZ - A AZ - B
Considere Escalabilidade
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Máquina
EC2
Máquina
EC2
Máquina
EC2
Remove as instâncias caso o pico diminuir
Acabou os problemas de Alta
disponibilidade?
Não
Por que não ?
● Não existe a arquitetura perfeita
– Mutável de acordo com os requerimentos de uma
aplicação,
● Toda arquitetura deve ser avaliada/criada com
muita coerência, pois implica diretamente nos
custos da empresa.
● “Não sofrer por antecedencia”
● A TI está para resolver os problemas que ela
mesmo criou.
AZ - A AZ - B
Considere Escalabilidade
Internet
Máquina
EC2
Banco de Dados
RDS
(Master)
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Banco de Dados
RDS
(Slave)
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
O que mais pode “quebrar” nessa AAD?
Problemas a vista!
● Geralmente escalar banco de dados não é uma
coisa simples.
– A grande maioria deles não foi pensado
inicialmente para isso.
● Existe a possibilidade de contornar o problema
com um cluster de banco de dados
● Requer profissionais extremamente
especializados $$$
Rodar o video do DynamoDB*
AZ - A AZ - B
Considere Escalabilidade
Internet
Máquina
EC2
Serviço de Banco de Dados
DynamoDB
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
AZ - A AZ - B
Estratégia de Auto-Reparo
Internet
Máquina
EC2
Serviço de Banco de Dados
DynamoDB
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
O DynamoDB já inclui esta
Estratégia internamente.
Estratégia de Auto-Reparo
AZ - A AZ - B
Estratégia de Auto-Reparo
Internet
Máquina
EC2
Serviço de Banco de Dados
DynamoDB
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
O DynamoDB já inclui esta
Estratégia internamente.
AZ - A AZ - B
Estratégia de Auto-Reparo
Internet
Máquina
EC2
Serviço de Banco de Dados
DynamoDB
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
O DynamoDB já inclui esta
Estratégia internamente.
AZ - A AZ - B
Estratégia de Auto-Reparo
Internet
Máquina
EC2
Serviço de Banco de Dados
DynamoDB
Load Balancer
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
Máquina
EC2
O DynamoDB já inclui esta
Estratégia internamente.
Entendimento da sala até o
momento
● Por que se planejar para suportar falhas ?
● Por que múltiplas Avilability zones ?
● Por que devo considerar escalabilidade ?
● Por que ter estratégias de auto-reparo ?
Como fazer isso na AWS
● Criar as máquinas
● Definir imagens
● Configurar Banco de dados
● Configurar Load Balancer
● Configurar Health Check
● Configurar Auto Scaling
Como fazer isso na AWS
● Criar as máquinas
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Criar máquinas (EC2)
Como fazer isso na AWS
● Criar as máquinas
● Definir imagens
Definir imagens
Definir imagens
Definir imagens
Como fazer isso na AWS
● Criar as máquinas
● Definir imagens
● Configurar Banco de dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Configurar Banco de Dados
Colunas dinâmicas.
Como fazer isso na AWS
● Criar as máquinas
● Definir imagens
● Configurar Banco de dados
● Configurar Load Balancer *
● Configurar Health Check *
* Faremos ambos juntos
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Configurar Load Balancer
Como fazer isso na AWS
● Criar as máquinas
● Definir imagens
● Configurar Banco de dados
● Configurar Load Balancer
● Configurar Health Check
● Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
Configurar Auto Scaling
0
Pronto !
AWS Whitepapers
● Mostrar cenários diferentes onde a arquitetura
de sistema e de soluções foi essencial para o
negócio acontecer.
Dúvidas ?
Agradecimentos
● Minha família, por sempre me apoiarem nas
decisões que tomei
● Minha esposa, pela paciência nos últimos 3
anos
● A Loducca, por me permitir ter espaço para
explorar as mais diversas arquiteturas.
● A todos vocês, por terem vindo até aqui.
Contato
Paulo Miguel Almeida Rodenas
paulo.ubuntu@gmail.com
github.com/pauloubuntu

Mais conteúdo relacionado

Mais procurados

Servidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoServidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoBravo Tecnologia
 
Virtualização de Desktops com VMware Horizon 6
Virtualização de Desktops com VMware Horizon 6Virtualização de Desktops com VMware Horizon 6
Virtualização de Desktops com VMware Horizon 6Bravo Tecnologia
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
Como a hiperconvergência pode ajudar a TI
Como a hiperconvergência pode ajudar a TIComo a hiperconvergência pode ajudar a TI
Como a hiperconvergência pode ajudar a TIEm transição
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerNewton Angelini
 
Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Joao Galdino Mello de Souza
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon 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
 

Mais procurados (18)

Apresentação do Curso
Apresentação do CursoApresentação do Curso
Apresentação do Curso
 
Servidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoServidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracao
 
JavaEE
JavaEEJavaEE
JavaEE
 
Virtualização de Desktops com VMware Horizon 6
Virtualização de Desktops com VMware Horizon 6Virtualização de Desktops com VMware Horizon 6
Virtualização de Desktops com VMware Horizon 6
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
ArcServe UDP
ArcServe UDPArcServe UDP
ArcServe UDP
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Como a hiperconvergência pode ajudar a TI
Como a hiperconvergência pode ajudar a TIComo a hiperconvergência pode ajudar a TI
Como a hiperconvergência pode ajudar a TI
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Introducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+gehIntroducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+geh
 
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
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
Jboss eap 6
Jboss eap 6Jboss eap 6
Jboss eap 6
 
Q ln420 mfi
Q ln420 mfiQ ln420 mfi
Q ln420 mfi
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

Semelhante a Arquitetura de Alta Disponibilidade na Cloud

Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Marcus Garcia
 
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
 
Apresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informaçãoApresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informaçãoMarcondes Maçaneiro
 
Opções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemOpções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemFabio Hara
 
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo Gazzaneo
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo GazzaneoRio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo Gazzaneo
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo GazzaneoRio Info
 
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
 
Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Flavio J Medeiros
 
Bem vindo a era da Inovação da TI com Cloud
Bem vindo a era da Inovação da TI com Cloud Bem vindo a era da Inovação da TI com Cloud
Bem vindo a era da Inovação da TI com Cloud Thiago Viola
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSAmazon Web Services LATAM
 
Usando a nuvem da AWS para Backup e Disaster Recovery
Usando a nuvem da AWS para Backup e Disaster RecoveryUsando a nuvem da AWS para Backup e Disaster Recovery
Usando a nuvem da AWS para Backup e Disaster RecoveryRodolfo Dantas
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarAmazon Web Services LATAM
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 

Semelhante a Arquitetura de Alta Disponibilidade na Cloud (20)

Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
 
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
 
Apresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informaçãoApresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informação
 
Opções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemOpções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvem
 
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo Gazzaneo
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo GazzaneoRio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo Gazzaneo
Rio Info 2015 – Computação em nuvem conceitos e motivação - Rodrigo Gazzaneo
 
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
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302
 
Bem vindo a era da Inovação da TI com Cloud
Bem vindo a era da Inovação da TI com Cloud Bem vindo a era da Inovação da TI com Cloud
Bem vindo a era da Inovação da TI com Cloud
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWS
 
Usando a nuvem da AWS para Backup e Disaster Recovery
Usando a nuvem da AWS para Backup e Disaster RecoveryUsando a nuvem da AWS para Backup e Disaster Recovery
Usando a nuvem da AWS para Backup e Disaster Recovery
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 

Arquitetura de Alta Disponibilidade na Cloud

  • 1. Mini-Curso Arquitetura de Sistemas de Alta Disponibilidade para Cloud Paulo Miguel Almeida Rodenas Arquiteto de Sistemas/Arquiteto de Soluções Loducca
  • 2. Sobre o mini-curso ● Público alvo: Pessoas com algum conhecimento em programação web ou mobile. ● Duração: 2 horas e meia – 3 horas ( dependendo das dúvidas ou profundidade dos temas abordados ) ● Pré-requisito: Muita vontade de aprender e um pouco de imaginação. Divirtam-se!
  • 3. Disponibilidade ● Escalabilidade – Aumentar a capacidade de acomodar um crescimento de acessos/requisições sem alterar o design da aplicação. ● Confiabilidade – Capacidade de um sistema ou componente funcionar sob condições estabelecidas por um período de tempo especificado. ● Manutenibilidade – Facilidade em que algum produto pode ter manutenções de maneira a isolar problemas, corrigir defeitos, substituir componentes com falha sem ter que substituir componentes que estão funcionando.
  • 4. Por que minha aplicação deve ser altamente disponível ? ● Porque é praticamente impossível se ter uma aplicação que rode menos do que 24/7, 365 dias por ano. ● “Everything fails all the time” - Werner Vogels – CTO of Amazon – Considerando esta afirmação é possível perceber que garantir disponibilidade infere na capacidade e lidar com erros. ● “Tempo é dinheiro” – Qualquer interrupção em um sistema pode significar milhões de reais perdidos.
  • 5. Como isso é medido? ● Com uma simples equação matemática representada por :
  • 6. Como isso é medido? ● Mais facilmente compreendido pela tabela dos noves:
  • 7. É possível garantir 100% de disponibilidade ? ● Resposta simples: Não ● Reposta elaborada: – Impravável de oferecer essa garantia devido : ● Upgrade de softwares ● Reloads de Máquinas ● Tempo de identificação de componentes com defeito ● “Nem mesmo a linha telefônica garante uptime de 100%” - Matthew Glotzbach – Enterprise Product Management Director of Google ● Em Agosto,2014 a empresa Splunk anuncionou 100% de disponibilidade. Será que é verdade?
  • 8. Data Center x Cloud x Disponibilidade ● O que isso tem haver com disponibilidade do meu sistema? – “Friamente” falando nada. ● É possível se ter um sistema altamente disponível em ambos dependendo dos requerimentos de acesso de cada negócio. ● Meu négocio necessita de um data center físico ou uma Cloud? – Apenas as necessidades do negócio poderão dar dicas de qual deles é mais adequado para sua empresa.
  • 9. Data Center x Cloud x Disponibilidade ● Motivos para possuir um data center físico: – Serviços customizados. ( OS modificados ) – Sistemas dedicados – Controle total sobre a informação e equipamentos ● Desvantagens: – Recursos matemáticamente limitados – Não é possível alterar quantidade de armazenamento sem comprar e instalar novos equipamentos. – Pode não haver os recursos suficientes para lidar com picos de utilização inesperados. – Localização física. ( Disastres )
  • 10. Data Center x Cloud x Disponibilidade ● Motivos para utilizar a Cloud: – Capacidade potencialmente “ilimitada”. – Escalável de acordo com as necessidades de seu negócio. ( Para os dois sentidos ) – Adição/Remoção de máquinas é feita em alguns minutos apenas – Custo por hora de utilização ● Desvantagens: – Seu processamento é dividido com outras máquinas de terceiros – Não possui total controle sobre as informações e equipamentos*
  • 11. Data Center x Cloud x Custo ● http://aws.amazon.com/tco-calculator/
  • 12. Data Center x Cloud x Custo
  • 13. Players no Mercado de Cloud
  • 14. AWS – Data Centers
  • 16. AWS – Data Centers Pontos Importantes ● Toda comunicação entre regions é feita pela internet – É de responsabilidade da aplicação de encriptar o conteúdo ao transferi-los ● Tranferência de dados entre regions é cobrada ● Transferência de dados entre máquinas de uma mesma regions é gratuíta
  • 17. Por que isso influenciaria na disponibilidade? ● Cada region é completamente independente ● Cada Availability Zone é isolada uma da outra (hardware) – Estão conectadas entre si através de links de baixíssima latência.
  • 18. AWS - Region Exemplo mínimo de uma AAD. Internet Load Balancer Availability Zone Availability Zone EC2 EC2
  • 19. AWS - Region Exemplo mínimo de uma AAD. Internet Load Balancer Availability Zone Availability Zone EC2 EC2
  • 20. AWS - Region Exemplo mínimo de uma AAD. Internet Load Balancer Availability Zone Availability Zone EC2 EC2
  • 21. Entendimento da sala até o momento ● Por que se preocupar com AD. ● Como é medido a disponibilidade. ● Vantagens do uso da Cloud. ● Regions e Availability zones. ● Arquitetura mínima de uma AAD.
  • 22. Chaves do sucesso de AAD. ● Projete para suportar falhas ● Sempre distribua seu sistema em diferentes Availability Zones ou até Regions se isso for necessário. ( Seja coerente aqui ) ● Considere escalabilidade ● Estratégia de auto-reparo.
  • 23. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS
  • 24. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS
  • 25. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS Load Balancer Máquina EC2 Máquina EC2 No mínimo 2 máquinas.
  • 26. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS Load Balancer Máquina EC2 Máquina EC2
  • 27. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS Load Balancer Máquina EC2 Máquina EC2 Toda aplicação é impactada
  • 28. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Processo de replicação de dados
  • 29. Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS (Slave) Load Balancer Máquina EC2 Máquina EC2 Banco de Dados RDS (Master) O Banco de Slave será promovido a Master
  • 30. AZ - A Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Lembre-se que sempre colocamos máquina em uma AZ Não colocamos antes para não poluir a arquitetura visualmente falando.
  • 31. AZ - A Projete para suportar falhas Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Mas e se a AZ falhar ? ( 99.99% de uptime )
  • 32. AZ - A Distribua em Múltiplas Availability Zones Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 AZ - B Máquina EC2 Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave)
  • 33. AZ - A Distribua em Múltiplas Availability Zones Internet Máquina EC2 Banco de Dados RDS (Slave) Load Balancer Máquina EC2 Máquina EC2 AZ - B Máquina EC2 Máquina EC2 Máquina EC2 Banco de Dados RDS (Master)
  • 34. AZ - A Considere Escalabilidade Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 AZ - B Máquina EC2 Banco de Dados RDS (Slave) Máquina EC2 Máquina EC2 Máquina EC2
  • 35. AZ - A Considere Escalabilidade Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 AZ - B Máquina EC2 Banco de Dados RDS (Slave) Máquina EC2 Máquina EC2 Máquina EC2 E se houver mais requisições do que eu consigo lidar ?
  • 36. AZ - A AZ - B Considere Escalabilidade Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2
  • 37. AZ - A AZ - B Considere Escalabilidade Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Máquina EC2 Máquina EC2 Máquina EC2 Remove as instâncias caso o pico diminuir
  • 38. Acabou os problemas de Alta disponibilidade? Não
  • 39.
  • 40. Por que não ? ● Não existe a arquitetura perfeita – Mutável de acordo com os requerimentos de uma aplicação, ● Toda arquitetura deve ser avaliada/criada com muita coerência, pois implica diretamente nos custos da empresa. ● “Não sofrer por antecedencia” ● A TI está para resolver os problemas que ela mesmo criou.
  • 41. AZ - A AZ - B Considere Escalabilidade Internet Máquina EC2 Banco de Dados RDS (Master) Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Banco de Dados RDS (Slave) Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 O que mais pode “quebrar” nessa AAD?
  • 42. Problemas a vista! ● Geralmente escalar banco de dados não é uma coisa simples. – A grande maioria deles não foi pensado inicialmente para isso. ● Existe a possibilidade de contornar o problema com um cluster de banco de dados ● Requer profissionais extremamente especializados $$$ Rodar o video do DynamoDB*
  • 43. AZ - A AZ - B Considere Escalabilidade Internet Máquina EC2 Serviço de Banco de Dados DynamoDB Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2
  • 44. AZ - A AZ - B Estratégia de Auto-Reparo Internet Máquina EC2 Serviço de Banco de Dados DynamoDB Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 O DynamoDB já inclui esta Estratégia internamente.
  • 46. AZ - A AZ - B Estratégia de Auto-Reparo Internet Máquina EC2 Serviço de Banco de Dados DynamoDB Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 O DynamoDB já inclui esta Estratégia internamente.
  • 47. AZ - A AZ - B Estratégia de Auto-Reparo Internet Máquina EC2 Serviço de Banco de Dados DynamoDB Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 O DynamoDB já inclui esta Estratégia internamente.
  • 48. AZ - A AZ - B Estratégia de Auto-Reparo Internet Máquina EC2 Serviço de Banco de Dados DynamoDB Load Balancer Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 Máquina EC2 O DynamoDB já inclui esta Estratégia internamente.
  • 49. Entendimento da sala até o momento ● Por que se planejar para suportar falhas ? ● Por que múltiplas Avilability zones ? ● Por que devo considerar escalabilidade ? ● Por que ter estratégias de auto-reparo ?
  • 50. Como fazer isso na AWS ● Criar as máquinas ● Definir imagens ● Configurar Banco de dados ● Configurar Load Balancer ● Configurar Health Check ● Configurar Auto Scaling
  • 51. Como fazer isso na AWS ● Criar as máquinas
  • 61. Como fazer isso na AWS ● Criar as máquinas ● Definir imagens
  • 65. Como fazer isso na AWS ● Criar as máquinas ● Definir imagens ● Configurar Banco de dados
  • 73. Configurar Banco de Dados Colunas dinâmicas.
  • 74. Como fazer isso na AWS ● Criar as máquinas ● Definir imagens ● Configurar Banco de dados ● Configurar Load Balancer * ● Configurar Health Check * * Faremos ambos juntos
  • 85. Como fazer isso na AWS ● Criar as máquinas ● Definir imagens ● Configurar Banco de dados ● Configurar Load Balancer ● Configurar Health Check ● Configurar Auto Scaling
  • 106. AWS Whitepapers ● Mostrar cenários diferentes onde a arquitetura de sistema e de soluções foi essencial para o negócio acontecer.
  • 108. Agradecimentos ● Minha família, por sempre me apoiarem nas decisões que tomei ● Minha esposa, pela paciência nos últimos 3 anos ● A Loducca, por me permitir ter espaço para explorar as mais diversas arquiteturas. ● A todos vocês, por terem vindo até aqui.
  • 109. Contato Paulo Miguel Almeida Rodenas paulo.ubuntu@gmail.com github.com/pauloubuntu