EC2 ou RDS para banco de dados?

Comparação do uso de banco de dados no EC2 x RDS

Surgido na década de 70, soluções baseadas em modelos relacionais de dados destacam-se principalmente por sua capacidade de lidar com consistência transacional e facilidade na manipulação de dados por meio de SQL. Essas características difundiram amplamente esse tipo de arquitetura no meio corporativo, tornando-o peça-chave nas arquiteturas empresariais atuais.

Visando atender este tipo de arquitetura, a AWS disponibiliza opções que permitem a implementação de soluções desta natureza utilizando os benefícios de um ambiente na nuvem.

EC2 ou RDS

Primeira opção

A primeira opção é a instalação e configuração do banco de dados utilizando instâncias EC2. Classificamos esse modelo como serviços de infraestrutura. Por isso, recomendamos essa opção para clientes que precisam de controle absoluto da instância do banco de dados.

Nesse sentido, é importante a presença de um profissional com experiência em banco de dados que possa realizar todas as atividades de gestão das instâncias.

Inclusive, essa opção provê grande flexibilidade na escolha do fornecedor de banco de dados viabilizando a implementação de workloads com os mais diversos banco de dados no mercado como DB2, Sybase, Openbase assim como a total liberdade de configuração de instâncias e acesso as tabelas administrativas para a realização de tarefas como por exemplo a customização das áreas de log das transações.

Toda esta liberdade propiciada pelas instâncias EC2, faz com que o cliente tenha que preocupar-se com tarefas para replicação de dados para a manutenção de cópias dos dados em casos de indisponibilidade do nó principal, atividades de backup, e questões de segurança na camada de sistema operacional.

Segunda opção

Uma segunda alternativa é o uso de um serviço gerenciado (Container Services) denominado Amazon Relational Database Services (RDS). Recomendamos essa opção para clientes que desejam simplificar o processo de gestão do banco de dados. Assim é possível delegar atividades de instalação, configuração, operação e escalonamento do banco de dados para a AWS.

Neste cenário, o cliente preenche algumas informações como o motor de banco de dados (Engine DB), tipo de licença, versão desejada do banco de dados, classe de instância, deployment em múltiplas zonas de disponibilidade, upgrades automático do banco de dados (Minor Releases), espaço de alocação do storage, uso de configuração com IOPS provisionado, usuário e senha do administrador do banco de dados, VPC onde o banco estará localizado, permissionamento para acesso público, grupos de segurança, backup automático, tempo de retenção do backup, e janelas de backup e manutenção.

Então você pode preencher essas informações pela console administrativa da AWS, por linha de comando (CLI) ou por meio de SDK, e o ambiente da AWS gerencia todo o processo de provisionamento do ambiente.

O serviço de RDS está disponível para um conjunto específico de fornecedores de banco de dados como MySQL, Oracle, PostgreSQL e Microsoft SQL Server. Isso permite que você foque seus esforços na aplicação ao invés de utilizar o seu tempo com tarefas administrativas.

Serviços RDS

O gerenciamento de banco de dados pode tornar-se uma tarefa bastante dispendiosa com o passar do tempo. As instâncias podem ficar sobrecarregadas em função de problemas operacionais e o esforço com tarefas administrativas podem consumir um tempo precioso dos times de infra-estrutura. Por isso, problemas como a falta de recursos de hardware e software, estratégia de backup, escassez profissionais especializados (DBA), falta de manutenção e um acompanhamento efetivo das métricas de controle minam os processos de governança das empresas afetando sistemas críticos de negócio.

Nesse sentido, o RDS vem surgindo como uma opção interessante. Muitos clientes estão utilizando o RDS em ambientes de produção para tirar vantagem de funcionalidades como backups automático sem a necessidade de preocupação com a restauração point-in-time, facilidade de upgrade e habilidade de escalar processamento e armazenamento de dados. Clientes que fazem uso do RDS podem melhorar a disponibilidade e durabilidade dos dados por meio da criação de ambientes Multi-AZ.

Quando ativado, o RDS permite criar banco de dados primário e secundários permitindo a sincronização das replicações de dados e a monitoração das instâncias para garantir a saúde de cada um dos nós. Em caso de falha, o RDS promoverá o nó secundário para primário e criará uma novo secundário. Em seguida, restabelecemos a replicação com total transparência, sem envolver o time do cliente.

No contexto de aplicação, não há mudanças significativas no desenvolvimento de código. Entretanto, é importante considerar na arquitetura da aplicação questões como latência e criptografia de dados para garantir o pleno atendimento dos requisitos não funcionais de um projeto.

Principais vantagens

Ainda que a aplicabilidade dos serviços de RDS seja entendida, vamos entender algumas das principais vantagens deste serviço. Por exemplo:

  • Simplificação dos processos de configuração e operação de escalonamento de dados. As atividades de criação de uma instância são gerenciadas pelo Amazon RDS, que por sua vez cuida de todo o processo de provisionamento da máquina, instalação e configuração do banco de dados;
  • Automação de atividades operacionais. Durante o tempo de vida útil dos seus dados, o Amazon RDS automatiza tarefas administrativas comuns como a geração de backups e a aplicação de patches do software;
  • Configuração de mecanismos para melhorar a disponibilidade dos dados. O RDS habilita mecanismos de replicação de dados através de múltiplas zonas de disponibilidade e failover automático que permite restaurar o serviço em um espaço muito curto de tempo de forma a adequar os seus serviços a métricas operacionais como por exemplo RTO (Recovery Time Objetive);
  • Compatibilidade de código, ferramentas de modelagem e ferramentas de administração de dados. Uma vez que o banco foi criado e as permissões concedidas, não se faz necessário a mudança das ferramentas que já são utilizadas pela sua equipe. Neste caso as mesmas ferramentas nativas do ambiente podem ser utilizadas.

Cuidados essenciais

Alguns cuidados devem ser tomados ao utilizar um banco na nuvem. Por exemplo:

  • Utilizar a opção IOPS para storage. A escolha deste tipo de armazenamento é importante por oferecer um desempenho rápido, previsível e consistente para leitura e escrita de dados onde é requerido processamento de transações on-line de produção (OLTP) e com uso intensivo de I/O.
  • Estar atento aos limites do RDS para cada distribuição. Para uso de RDS para MySQL e PostgreSQL este limites não são aplicáveis, mas para o Oracle deve-se estar atento ao fato de que é possível criar somente um banco de dados por instância.  No caso do RDS for Microsoft SQL Server o limite é de 30 bancos de dados por instância.
  • Atenção ao definir a classe inicial da instância e a suas respectivas capacidade de armazenamento. A definição destas informações deve levar em consideração as necessidades computacionais do seu ambiente. Então, para um suporte na escolha adequada das configurações, disponibilizamos um guia de dimensionamento de instância RDS.

Para maiores informações, recomendamos a leitura da documentação do RDS no developer resources. Em seguida, para uma materialização dos conceitos aqui apresentados o tutorial mão na massa de RDS que será bastante útil para elucidação deste serviço.

Considerações finais

Por fim, a AWS lançou um novo service de banco de dados no evento em Las Vegas chamado Aurora, um banco de dados relacional. Compatível com o MySQL, que combina a velocidade e disponibilidade de bancos de dados comerciais avançados com a simplicidade e a economia de bancos de dados de código aberto. O Amazon Aurora proporciona desempenho até cinco vezes melhor do que o MySQL mas em um nível de preço bem inferior. O Amazon Aurora junta-se ao MySQL, Oracle, Microsoft SQL Server e o PostgreSQL como 5º mecanismo de banco de dados disponível através do Amazon RDS. Para maiores informações: http://aws.amazon.com/pt/rds/aurora/details/.

Fonte: AWSHUB

EC2 ou RDS

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *