O Aurora é o banco de dados gerenciado da AWS que combina, peformance e disponibilidade. Nessa sessão, será apresentado, seus conceitos e como você pode obter beneficio desse serviço.
2. Conheça Amazon Aurora…
Banco de Dados reimaginado para a nuvem
Velocidade e disponibilidade dos bancos de dados comerciais
high-end
Simplicidade e baixo-custo dos bancos de dados Open
Source
100% compatível com MySQL
Pague somente pelo uso
Fornecido como um serviço gerenciado
3. Não houveram muitas mudanças nos últimos 30 anos
Mesmo no escalonamento horizontal, você estaria replicando o mesmo stack
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Application
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Application
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Storage
Application
4. Reimaginando o banco de dados relacional
¿O que aconteceria se você estivesse inventando o
banco de dados hoje?
Não o desenharia da mesma maneira que foi feito em
1970
Construiria alguma coisa que
consiga escalar de maneira horizontal …
consiga se recuperar automaticamente …
consiga alavancar os serviços da AWS …
5. Arquitetura orientada a serviços aplicada aos bancos de
dados
As camadas de logging e armazenamento foram
movidas para um serviço multi-tenant, capaz de
escalar e otimizado especificamente para
bancos de dados
Integrado com outros serviços da AWS como
Amazon EC2, Amazon VPC, Amazon
DynamoDB, Amazon SWF, e Amazon Route 53
para operações de gerenciamento
Integrado com Amazon S3 para backup contínuo
com 99,999999999% de durabilidade
Control planeData plane
Amazon
DynamoDB
Amazon SWF
Amazon Route 53
Logging + Storage
SQL
Transactions
Caching
Amazon S3
1
2
3
7. Serviço com o mais rápido
crescimento na história da AWS
(?)
Primeiros clientes em adotar Aurora (?)
8. Expedia: Agência de viagens on-line
Business Intelligence e Analytics em tempo real
para um volume de dados crescente
Arquitetura atual baseada em SQL Server é muito
cara. O desempenho se degrada conforme o
volume de dados cresce
Cassandra com Solr precisa grandes quantidades
de memoria e centenas de nós, adicionando
custo
Benefícios do Aurora:
Aurora atende aos requisitos de escala e
desempenho com custo muito menor.
25,000 inserts/seg com picos de até 70,000. 30
ms de tempo de resposta médio para escritas e
17 ms para leituras, com 1 mês de dados
Uma das principais companhias de
viagens on-line do mundo, com um
portfólio que inclui mais de 150 sites
de viagens em 70 países.
9. Maior desempenho, menor custo
Safe.com reduziu o custo em um 40%, passando de
MySQL com sharding para uma única instância de
Aurora.
Double Down Interactive (jogos online) reduziu o custo
em um 67%, com uma menor latência (a maioria das
consultas correm mais rápido) e com menor utilização
da CPU.
Benefícios do Aurora:
Devido ao alto desempenho e suporte de
armazenamento de grande escala, múltiplas instâncias
de MySQL (sharding) podem ser consolidadas em
menos instâncias do Aurora..
Alto desempenho permite utilizar instâncias menores
O provisionamento automático de armazenamento
remove o desperdício
Sem custo adicional para o armazenamento das
Réplicas de leitura
10. "Quando executamos a carga do Alfresco em Aurora, fomos deslumbrados ao
descobrir que Aurora foi 10x mais rápido do que o nosso ambiente MySQL",
disse John Newton, fundador e CTO da Alfresco. ”A velocidade significa muito no
nosso negócio, e Aurora tem sido mais veloz, mais barato e muito mais fácil de
usar do que o MySQL."
Amazon Aurora é rápido/veloz (?)
11. • Quatro clientes com 1.000 threads cada um
DESEMPENHO DE ESCRITA DESEMPENHO DE LEITURA
• Único cliente com 1.000 threads
• MySQL SysBench
• R3.8XL com 32 cores e 244 GB RAM
Resultados de SQL benchmark
12. Desempenho consistente mesmo com um aumento da quantidade
de tabelas
• Operações só de escrita
• 1,000 conexões
• Query cache (padrão do Amazon Aurora, mas não no MySQL)
• Instâncias i2.8XL para MySQL SSD e RAM
• Instâncias r3.8XL para Aurora e Amazon RDS MySQL
11x
ATÉ
MA IS R Á PID O
13. Escritas escalam conforme a quantidade de conexões
• Carga OLTP
• Quantidade de conexões variável
• 250 tablas
• Query cache (padrão do Amazon Aurora, mas não no MySQL)
8x
ATÉ
MA IS R Á PID O
14. Desempenho consistente com uma base de dados crescente
• SysBench com carga de escritas unicamente
• Aurora r3.8XL
• Amazon RDS MySQL r3.8XL com 30K IOPs (single AZ)
67x
ATÉ
MA IS R Á PID O
15. Fazendo menos I/Os
Reduzindo os pacotes de rede
Cache de resultados
Desonerando o motor do banco de dados
FAZENDO MENOS TRABALHO
Processando de maneira assíncrona
Reduzindo a latência
Usando estruturas de dados sem locking
Agrupando operações em batch
SENDO MAIS EFICIENTE
¿Como esses resultados foram atingidos?
16. Aurora precisa de menos I/Os
Binlog Data Double-write bufferLog records FRM files, metadata
T IP O S D E E S C R IT AS
EBS mirrorEBS mirror
AZ 1 AZ 2
Amazon S3
MYSQL COM STANDBY
SEQUENTIAL
WRITE
SEQUENTIAL
WRITE
EBS
Amazon Elastic
Block Store (EBS)
Primary
Instance
Standby
Instance
AZ 1 AZ 3
Primary
Instance
Amazon S3
AZ 2
Replica
Instance
AMAZON AURORA
ASYNC
4/6 QUORUM
DISTRIBUTED
WRITES
18. Amazon Aurora é altamente disponível
Armazenamento
altamente disponível
• Seis cópias em três
AZs
• Quorum com tolerância
a falhas para
leituras/escritas
• Até 15 replicas com
baixo lag de replicação
Persistência de caches
• O cache se mantém
no evento de um
restart
• Permite retomar toda
a carga rapidamente
Recuperação instantânea de
falhas
• Por detrás, o
armazenamento reproduz
redo logs sob demanda
como parte da leitura do
disco
• De maneira paralela,
distribuída e assíncrona
AZ 1 AZ 2 AZ 3
Amazon
S3
SQL
Transactions
Caching
T0
19. Failover mais rápido e previsível
App
ExecutandoDetecção de falhas Propagação de DNS
Recuperação Recuperação
Falha no
banco
RDS MYSQL
App
Executando
Detecção de falhas Propagação de DNS
Recuperação
Falha no
banco
AURORA COM MARIADB DRIVER
1 5 – 3 0 s e g
5 – 2 0 s e g
20. Amazon Aurora é simples de usar
”A nova interface de monitoramento do Amazon Aurora tornou
fácil de diagnosticar e resolver problemas. Seu desempenho,
confiabilidade e monitoramento realmente mostra que o
Amazon Aurora é um banco de dados de nível enterprise.” -
Mohamad Reza, oficial de sistemas de informação da Organização das
Nações Unidas
21. Simplifique o gerenciamento de armazenamento
• Escalonamento automático do armazenamento até 64 TB — sem impacto no
desempenho
• Backups contínuos e incrementais no Amazon S3
• Crie snapshots instantâneos - sem impacto no desempenho
• Restriping automático, espelhamento, gerenciamento dos hot spots e criptografia
Até 64 TB de armazenamento — auto-incrementado em unidadades de 10 GB
até 64 TB
22. Simplifique o monitoramento com o AWS Management
Console Métricas do Amazon
CloudWatch para RDS
Utilização de CPU
Armazenamento
Memória
50+ métricas de SO
Granularidade de 1–60 segundos
Número de conexões
Selects por segundo
Latência (leituras e escritas)
Taxa de Cache hit
Lag de replicação
Alarmes de CloudWatch
Similar com outras ferramentas
padrões de mercado
23. Simplifique a segurança dos dados
Criptografia para proteger os dados
armazenados
• AES-256; acelerada por hardware
• Todos os blocos em disco e no Amazon S3 são
criptografados
• Gerenciamento de chaves usando AWS KMS
SSL para proteger dados em trânsito
Isolamento de rede usando Amazon VPC
Sem acesso direito aos nós
Cumpre as certificações padrões de
segurança e proteção de dados
Storage
SQL
Transactions
Caching
Amazon S3
Application
25. Se você hospedar seu banco de dados on-premises
Energia, HVAC, Rede
Rack
Man. do servidor
Patches do SO
Patches do BD
Backups
Escalonamento
Alta Disponibilidade
Instalação do BD
Instalação do SO
Você
Otimizações da App.
26. Se você hospedar seu banco de dados no Amazon
EC2
Energia, HVAC, Rede
Rack
Man. do servidor
Patches do SO
Patches do BD
Backups
Escalonamento
Alta Disponibilidade
Instalação do BD
Instalação do SO
Você
Otimizações da App.
27. Se você escolher o Amazon RDS
Otimizações da App.
Você
Energia, HVAC, Rede
Rack
Man. do servidor
Instalação do SO
Patches do SO
Patches do BD
Backups
Escalonamento
Alta Disponibilidade
Instalação do BD
29. Preço simplificado
Sem licenciamento
Sem lock-in
Pague somente pelo uso
Descontos
44% com Instâncias Reservadas a 1
ano
63% com Instâncias Reservadas a 3
anos
vCPU Mem Preço por
hora
db.r3.large 2 15.25 $0.29
db.r3.xlarge 4 30.5 $0.58
db.r3.2xlarge 8 61 $1.16
db.r3.4xlarge 16 122 $2.32
db.r3.8xlarge 32 244 $4.64
• Armazenamento consumido, até 64 TB, por $0.10/GB-mês
• IOs consumidos são cobrados a $0.20 por milhão de I/Os
• Preços para região US East (N. Virginia)
Nível Enterprise de qualidade, preço de Open Source
30. TCO: Aurora vs. MySQL
Custo por hora com MySQL
Primary
r3.8XL
Standby
r3.8XL
Replica
r3.8XL
Replica
R3.8XL
Storage
6TB/10K PIOP
Storage
6TB/10K PIOP
Storage
6TB/5K PIOP
Storage
6TB/5K PIOP
$3.78/hr
$3.78/hr
$3.78/hr $3.78/hr
$2.42/hr
$2.42/hr $2.42/hr
Custo das instâncias: $15.12/hr
Custo do armazenamento: $8.30/hr
Custo total: $23.42/hr
$2.42/hr
31. TCO: Aurora vs. MySQL
Custo por hora com Amazon Aurora
Custo das instâncias: $13.92/hr
Custo do armazenamento: $4.43/hr
Custo total: $18.35/hr
Primary
r3.8XL
Replica
r3.8XL
Replica
R3.8XL
Storage/6 TB
$4.64/hr $4.64/hr $4.64/hr
$4.43/hr
*No nível macro, Aurora economiza ~50% em
custos de armazenamento comparado com
RDS MySQL
Economia
de
21.6%
Sem instância standby inativa
Volume único de armazenamento
compartilhado
Sem PIOPS — pague pelo uso
de IOs
Redução na quantidade de IOs
32. TCO: Aurora vs. MySQL
Mais oportunidades para economizar
Custo das instâncias: $6.96/hr
Custo do armazenamento: $4.43/hr
Custo total: $11.39/hrPremissas de IOPS de armazenamento:
1. Média de IOPS é 50% dos IOPS máximos
2. 50% de economia de escrever logs vs full pages
Economia
de
51.3%
Primary
r3.8XL
Replica
r3.8XL
Replica
r3.8XL
Storage/6 TB
$2.32/hr $2.32/hr $2.32 hr
$4.43/hr
r3.4XL r3.4XL r3.4XL
Use instâncias menores
Pague pelo uso do
armazenamento
34. Comece sua primeira migração em 10 minutos ou menos
Mantenha suas aplicações em execução durante a
migração
Replique entre, de, ou para Amazon EC2 ou RDS
Mova dados para a mesma engine ou para uma diferente
AWS
Database Migration
Service
35. Customer
premises
Aplicações
AWS
Internet
VPN
Lance uma instância de replicação
Associe os bancos de origem e destino
Escolha tabelas, esquemas ou bases
Deixe que AWS Database Migration
Service crie as tabelas, carregue os
dados e os mantenha em sincronia
Altere as aplicações para utilizar o
banco de destino de acordo com a sua
necessidade
Mantenha suas aplicações em execução durante a
migração
AWS
Database Migration
Service
36. Migre de Oracle e SQL Server
Mova suas tabelas, views, stored procedures, e
DML para MySQL, MariaDB, e Amazon Aurora
Saiba exatamente onde alterações manuais são
necessárias
Baixe em aws.amazon.com/dms
AWS
Schema Conversion
Tool
39. “O Amazon Aurora trouxe uma maior
estabilidade para a principal plataforma de
estudos dos nossos alunos…
A Kroton Educacional é a maior
empresa de Educação do mundo,
com mais de 1.4 MM alunos, mais
de 900 pólos franqueados e 150
campis próprios
O Moodle é a principal plataforma
pedagógica digital da companhia e
atende mais de 1.2 MM alunos com
mais de 3 MM de acessos por mês
“A escalabilidade do
LMS ficou mais
próxima dos 100%,
utilizando Réplicas
para Consultas,
liberando o Master
de 60% das atividades
de alto consumo”
- Felipe Brandão,
Gerente de TI
40. O Desafio
Escalar RDS horizontalmente sem
causar indisponibilidade
Distribuir processamento de consultas
da aplicação com o menor custo e
tempo de desenvolvimento
Reduzir custo para a utilização pesada
em período de sazonalidade
Separar as bases de produção,
operação e staging com dados on-line