Top Banner
Eduardo Horai Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS AWS Solutions Architect [email protected]
25

PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Jul 21, 2015

Download

Software

PGDay Campinas
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Eduardo Horai

Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

AWS Solutions Architect [email protected]

Page 2: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Agenda •  Introdução Amazon Web Services

•  Serviços base AWS

•  Arquitetura Postgres

•  Questões

Page 3: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

O que é computação nas nuvens?

Page 4: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

On demand Pague pelo uso

Self Service Automatizado

Page 5: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS
Page 6: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

On-demand

Rigid On-Premise Resources

Waste

Customer Dissatisfaction

Actual demand

Predicted Demand

Cap

acity

Time

Elastic Cloud Resources

Actual demand

Resources scaled to demand

Cap

acity

Time

VS.  

Page 7: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Serviços

Compute   Storage  

AWS  Global  Infrastructure  

Database  

App  Services  

Deployment  &  Administra=on  

Networking  

Page 8: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Infraestrutura Global

Compute   Storage  

AWS  Global  Infrastructure  

Database  

App  Services  

Deployment  &  Administra=on  

Networking  

Regiões Um conjunto isolado de data centers em uma determinada geografia

Page 9: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Infraestrutura Global

Compute   Storage  

AWS  Global  Infrastructure  

Database  

App  Services  

Deployment  &  Administra=on  

Networking  

Zonas de Disponibilidade Projetadas para serem independentes. Separadas fisicamente, porém com conectividade rápida dentro da mesma região

Page 10: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Computação

Várias Opções A partir de $0,02/hora

Elastic Compute Cloud (EC2) Servidores com recursos computacionais 15 tipos de instâncias(servidores) disponíveis, de micro a cluster compute Configurações de CPU, memória disco local

Recurso   Detalhes  

Flexível   Linux  e  Windows  

Escalável   Várias  configurações  de  servidor  

Imagens   Modificações  podem  ser  salvas  como  imagens  (AMIs)  e  novas  instancias  criadas  a  par=r  destas  

Controle  total   Controle  de  root  e  administrador  

Segura   Controle  total  do  Firewall  via  Security  Groups  

Barata   On-­‐demand,  Reservada  e  Spot  

Page 11: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Diversos tipos de instâncias EC2 •  Um tipo de instância

para cada tarefa •  Requisitos de

memória & CPU –  Infra define sua app –  App define sua

infra •  Utilize instâncias

maiores apenas quando precisa

Page 12: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Storage: S3 & Glacier •  S3 e Glacier:

–  Seguros –  Flexíveis –  Baixo custo –  Escalável: +1.3 trilhão de objetos –  Durabilidade: 99.999999999% (11 “9”s)

Amazon  Glacier  

Page 13: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Amazon CloudWatch •  Overview

–  Monitora seus recursos e aplicações •  AWS Resources: EC2, RDS, EBS, ELB, SQS, SNS, DynamoDB, EMR, Auto Scaling, … •  Pode publicar métricas próprias (Put API call)

–  Visualização, alarmes, notificações –  Fácil de utilizar, permite “auto-scale” da sua aplicação

•  Automatação sofisticada –  Utilize CloudWatch para fazer Auto Scaling dinâmico das suas instâncas EC2

Page 14: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Arquitetura de PostgreSQL

Page 15: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Vantagens de utilizar Postgres no EC2

•  Criar novos bancos a partir de imagem (AMI) •  Mudar o tipo da instância e crescer facilmente (sem perder

os dados) •  Desligar temporariamente sua instância (e parar de pagar) •  Replicação em zonas de disponibilidade diferentes •  Aumentar storage facilmente

Page 16: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Outros serviços:

•  EBS – storage de disco –  pode provisionar o IOPS necessário –  criar snapshots facilmente

•  S3 –  durabilidade para backups

•  CloudWatch –  monitoramento do banco

Page 17: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Postgres mínimo

•  EC2: postgres instalado •  EBS: dados do banco (data, WAL,

etc) •  S3: backups frequentes

Page 18: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Postgres mínimo com alta disponibilidade

•  2x EC2: postgres instalado •  Multi-AZ: Master host e secundário

em localidades separadas •  Replicação: WAL Streaming •  EBS: dados do banco (data, WAL,

etc) •  S3: backups frequentes a partir do

secundário •  Hot-standby ou warm-standby

Page 19: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Postgres médio

•  EC2: postgres instalado em instâncias maiores

•  EBS com P-IOPS e RAID0: dados do banco (data, WAL, etc)

•  S3: backups frequentes

Page 20: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Postgres large

•  EC2: postgres instalado em instâncias clusters

•  EBS com P-IOPS e RAID0: dados do banco (data, WAL, etc)

•  S3: backups frequentes

Page 21: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Postgres large com alta disponibilidade

•  EC2: postgres instalado em instâncias clusters

•  Multi-AZ: Master host e secundário(s) em localidades separadas

•  Replicação: WAL Streaming •  EBS com P-IOPS e RAID0: dados do

banco (data, WAL, etc) •  S3: backups frequentes a partir do

secundário •  Hot-standby ou warm-standby

Page 22: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Amazon  EC2  com  Postgres  

Melhora  disponibilidade  

Melhora  Throughput  

Menor    Latência  

Push-­‐BuTon  Scaling  

Mul=-­‐AZ  

Read  Replicas  

Provisioned  IOPS  

Read Replicas Push-Button Scaling Provisioned IOPS

Region

Multi-AZ

Availability Zone

Availability Zone

Postgres no EC2: alta disponibilidade e performance

Page 23: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Links

•  Eduardo Horai | [email protected]

•  Whitepaper Postgres na AWS: http://media.amazonwebservices.com/AWS_RDBMS_PostgreSQL.pdf

•  Wal no S3: https://github.com/wal-e/wal-e

•  aws.amazon.com/ec2 aws.amazon.com/s3

Page 24: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

?

Page 25: PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com alta disponibilidade na nuvem da AWS

Obrigado!