O caso

O app está em São Paulo. O cliente, em Londres.

A loja do Isaac começou a vender para a Europa. Os pedidos chegaram. A paciência dos clientes, não.

alta latênciaSão PauloLondres“Tá muito lento!”

Este post parte dos conceitos de Fundamentos da Nuvem. Se elasticidade e pay-as-you-go ainda não estão claros, comece por lá.

Caso você não conheça o conceito de latência e queira se aprofundar, acesse este post: Latência.

O problema

Um único data center

A aplicação funciona e atende bem o Brasil. Mas, quando a loja cresce, surgem dois problemas: alta latência para quem está longe e um ponto único de falha.

DC São PauloAmérica (perto) ✓Europa (longe) ✗Ásia (longe) ✗
Se o data center cair, tudo cai junto.

Solução parcial

Uma segunda zona

Uma zona é um data center (ou um grupo deles) isolado dentro de uma região, com energia, refrigeração e rede independentes. Com duas zonas na mesma região, se a Zona A falhar, a Zona B continua atendendo.

Região: São PauloZona A (falhou)Zona B (ativa)
A Zona A falhou (X vermelho); a Zona B continua atendendo.

Isso resolve a falha local, mas não resolve tudo: as duas zonas continuam em São Paulo. Se a região inteira for afetada, a aplicação cai, e o cliente em Londres continua longe.

A solução

Múltiplas regiões

Uma região é uma área geográfica separada, como São Paulo ou Londres. Com uma segunda região em Londres, a solução fica completa: baixa latência para a Europa e resistência a falhas de zona e até de região inteira. Se São Paulo cair, Londres assume.

América ✓São PauloZona AZona BEuropa ✓LondresZona AZona B✓ baixa latência global · ✓ resiste a falha de zona · ✓ resiste a falha de região
Duas regiões, duas zonas em cada uma.

Não confunda

Região × Zona

Região (region)

“E se a cidade inteira parar?”

Exemplo
Um apagão atinge São Paulo, e a região de Londres assume o tráfego.
Foco
Disaster recovery, residência de dados e latência global.

Zona (zone)

“E se um data center parar?”

Exemplo
Falta energia na Zona A, e a Zona B continua atendendo.
Foco
Alta disponibilidade dentro da região.
Região (region)Zona (zone)
O que éÁrea geográfica separada (São Paulo, Londres)Local isolado dentro de uma região
Protege contraA perda de uma cidade inteiraA queda de um prédio ou de um quadro de energia
ObjetivoSobreviver a um desastre, cumprir regras locais de dados, encurtar a distância até o usuárioManter a aplicação no ar dentro da região

O nome em cada nuvem

O conceito é o mesmo em todos os provedores. Muda o nome da zona:

ProvedorRegiãoZona
AWSRegionAvailability Zone (AZ)
AzureRegionAvailability Zone
Google CloudRegionZone
Oracle CloudRegionAvailability Domain (AD)

Na prática

Como escolher a região certa

As grandes nuvens têm regiões espalhadas pelo mundo, e a mesma cidade costuma ter região de vários provedores.

OregonVirgíniaSão PauloLondresFrankfurtJoanesburgoSingapuraTóquioSydney
Exemplos de cidades com regiões de cloud.

Compliance

Algumas leis exigem que os dados de cidadãos fiquem dentro do país.

Latência (latency)

Escolha a região mais próxima da maioria dos seus usuários.

Serviços disponíveis (service availability)

Nem todo serviço existe em todas as regiões.

Preço (pricing)

Os custos variam entre regiões (impostos locais, custo de operação).

Teste rápido

Três perguntas, estilo prova

01

A aplicação precisa continuar no ar se um data center inteiro ficar sem energia. Qual é o mínimo necessário?

02

A lei exige que os dados de clientes brasileiros fiquem no Brasil. Qual critério decide a região?

03

Um terremoto pode derrubar todas as zonas de uma região. O que protege contra isso?


Regiões e zonas existem em qualquer certificação cloud: AWS, Azure, Google Cloud ou Oracle Cloud. Muda o nome; o raciocínio de latência e de falha é o mesmo.