Amazon EC2 (Amazon Elastic Compute Cloud) é uma fabulosa plataforma de computação em nuvem. A maior parte da internet é executada no Amazon AWS – quando os usuários se referem a “computação em nuvem”, eles estão implicitamente falando sobre o Amazon AWS. Minha empresa executa e gerencia bancos de dados na AWS há alguns anos e aprendemos muito com nossas experiências. Embora a AWS seja uma plataforma fácil de colocar em funcionamento, é extremamente difícil executar grandes cargas de trabalho com uso intenso de disco na AWS. Não estou dizendo que isso não pode ser feito. No entanto, o tempo e a experiência necessários estão além da maioria dos usuários. Aqui estão algumas coisas que eu gostaria de ver no Amazon EC2 para facilitar a execução de bancos de dados na AWS.
-
Discos locais não efêmeros
O EBS baseado em rede é conveniente para a maioria das cargas de trabalho, mas o desempenho é péssimo para cargas de trabalho pesadas de gravação. A introdução do IOPS provisionado facilita um pouco esse problema. No entanto, as IOPS provisionadas são bastante caras e os custos aumentam, especialmente quando você está executando um grande cluster com 10 a 20 máquinas. Como alternativa, será ótimo se cargas de trabalho pesadas em disco, como bancos de dados, puderem ser executadas fora do disco local. Não é uma opção hoje porque os discos locais são “efêmeros”. Se você parar e reiniciar sua máquina, ela poderá ser movida para um host diferente e você perderá seus dados locais. Este não é um risco aceitável, mesmo quando há várias cópias de dados.
-
SSD de baixo custo
Seria ótimo se a Amazon pudesse tirar uma folha do livro da DigitalOcean e introduzir SSDs de baixo custo para seus servidores. A computação do lado do servidor está migrando lentamente para o SSD e, em alguns anos, os servidores SSD serão o armazenamento de fato para as cargas de trabalho do servidor. A Amazon oferece SSDs hoje, mas eles são bastante caros e não são uma opção para a maioria das cargas de trabalho. Além disso, a oferta de SSD tem o mesmo problema “efêmero” dos discos locais.
-
Grupos de segurança entre regiões
Agrupamentos geo-distribuídos são uma realidade dos nossos tempos. Vários clientes precisam implantar servidores em várias regiões por vários motivos, desde disponibilidade até particionamento. A única maneira de proteger essas implantações hoje é usando uma lista branca de IP que é extremamente difícil de manter. Os grupos de segurança entre regiões aliviarão bastante a carga para os clientes que estiverem implantando em várias regiões. hoje, a Amazon tem muito pouca funcionalidade que funciona em todas as regiões. Recentemente, eles introduziram a capacidade de copiar modelos entre regiões, o que é muito útil, e espero que continuem adicionando mais recursos entre regiões.
-
Snapshots sincronizados em vários volumes
Em alguns de nossos clusters de banco de dados maiores, precisamos fazer backup de vários servidores simultaneamente. Por exemplo, em um cluster do MongoDB fragmentado, você precisa fazer backup de uma cópia consistente de todos os fragmentos. Embora existam técnicas para fazer isso hoje, todas são bastante complicadas e vulneráveis a falhas. Uma maneira ideal de fazer backup desses servidores é iniciar um instantâneo sincronizado em vários volumes. Isso garantirá um instantâneo consistente em todos os volumes.
-
Melhor gerenciamento de VPC
Pessoalmente, não gosto da ideia de expor bancos de dados de produção à Internet. Por isso, sou um grande fã de Virtual Private Clouds (VPC). A tecnologia é ótima, mas a interface de gerenciamento é bastante tediosa. VPC e EC2 clássico são muito semelhantes até que não sejam. Você acaba alternando entre o console do EC2 e o console da VPC. Depois de gerenciar mais de 10 servidores, o paradigma de gerenciamento atual sobrecarrega muito o usuário. Acho que há espaço para simplificar os conceitos e facilitar o gerenciamento.
Como sempre, se você tiver dúvidas, sinta-se à vontade para entrar em contato conosco [email protected].