À medida que as aplicações crescem, as bases de dados tornam-se silenciosamente um dos componentes mais críticos (e mais caros) da arquitetura. Para resolver isto, as organizações dependem cada vez mais de serviços de bases de dados geridos – e o AWS Relational Database Service (RDS) é uma das soluções mais amplamente adotadas neste espaço.
Neste guia, iremos aprofundar todos os aspetos essenciais do AWS RDS: avaliar o seu impacto, limitações, principais estratégias de otimização e muito mais.

Principais conclusões
> O AWS RDS elimina a gestão de infraestrutura. Ao fazê-lo, as equipas conseguem transferir a responsabilidade para a configuração, ajuste de desempenho, controlo de custos e outras práticas de otimização.
> O RDS é ideal para cargas de trabalho previsíveis e estáveis. Particularmente, funciona melhor para aplicações com tráfego consistente (sistemas empresariais internos, sistemas transacionais com padrões regulares de leitura/escrita, plataformas SaaS com bases de utilizadores estáveis, etc.).
> Créditos AWS ajudar a reduzir os custos de base – garantindo uma utilização eficiente e consistente do AWS RDS sem desperdícios.
O que é o AWS RDS
O AWS RDS é um serviço de base de dados relacional totalmente gerido que suporta múltiplos motores: MySQL, PostgreSQL, MariaDB, SQL Server, Amazon Aurora, o que preferir. As tarefas operacionais principais são geridas pela AWS, permitindo que as equipas se foquem mais na lógica da aplicação e na utilização dos dados.
Ao contrário dos sistemas tradicionais, o Amazon RDS elimina a necessidade de gerir a infraestrutura subjacente. Veja abaixo como estas diferenças afetam a sobrecarga operacional.
Configuração de Base de Dados Tradicional vs Amazon RDS | |
| Aprovisionamento manual | Instâncias geridas |
| Scripts de cópia de segurança personalizados | Cópias de segurança automatizadas |
| Failover manual | Implantações Multi-AZ |
| Propriedade da infraestrutura | Infraestrutura gerida pela AWS |
| Elevada sobrecarga operacional | Redução da carga operacional |
Do nosso ponto de vista, aqui estão vários aspetos que fazem o RDS destacar-se:
> Operações totalmente geridas
AWS Relational Database Service automatiza cópias de segurança, aplicação de patches, atualizações e manutenção de rotina – reduzindo assim, significativamente, a sobrecarga operacional.
> Flexibilidade multi-motor
O AWS RDS suporta múltiplos motores de base de dados, permitindo que as equipas escolham com base na experiência existente ou nas necessidades da carga de trabalho.
> Alta disponibilidade e durabilidade
Oferece Implantações Multi-AZ e failover automatizado para resiliência de nível de produção.
> Infraestrutura escalável
Graças ao redimensionamento de instâncias, dimensionamento automático de armazenamentoe réplicas de leitura, é fácil dimensionar a computação e o armazenamento à medida que as cargas de trabalho crescem, com intervenção manual mínima.
> Monitorização e análises integradas
Ferramentas incorporadas (como Amazon CloudWatch e Informações sobre o desempenho) proporcionam visibilidade fácil sobre o desempenho e a utilização.
> Escalabilidade de leitura
O AWS RDS suporta réplicas de leitura para descarregar eficientemente cargas de trabalho pesadas de leitura e melhorar o desempenho.
Como Funciona o AWS RDS
Na sua essência, o AWS RDS executa motores de base de dados em instâncias de computação geridas dentro da infraestrutura da AWS.
Passo 1: Inicialização da Ligação
Uma aplicação liga-se através de um endpoint do RDS, que resolve para a instância ativa dentro de uma VPC. O acesso é validado através de regras de rede e controlos de segurança, e a latência nesta fase depende do desenho da rede e da colocação.
Passo 2: Processamento de Consultas
Uma vez estabelecida a ligação, as consultas são executadas pelo motor de base de dados utilizando a CPU e a memória da classe de instância selecionada. Esta camada define a eficiência com que as consultas são analisadas, armazenadas em cache e processadas, tornando o dimensionamento da instância crítico tanto para o desempenho como para o custo.
Passo 3: Operações de Leitura/Escrita de Dados
Todos os dados são armazenados em volumes Amazon EBS, onde os pedidos de leitura e escrita se traduzem em operações de E/S. O tipo de armazenamento e os IOPS provisionados determinam o débito (throughput), tornando-se frequentemente um estrangulamento antes de os limites de computação serem atingidos.
Passo 4: Processamento de Transações
Para garantir a durabilidade, as escritas são primeiro registadas em logs de transação antes de serem consolidadas no armazenamento. Isto assegura a consistência, mas também torna a latência do disco um fator-chave em cargas de trabalho com uso intensivo de escrita.
Passo 5: Replicação e Disponibilidade.
Se ativada, os dados são replicados para instâncias em espera (standby) ou réplicas de leitura. As configurações Multi-AZ fornecem replicação síncrona para failover, enquanto as réplicas suportam o dimensionamento de leitura, cada uma afetando tanto a resiliência como o custo.
Passo 6: Gestão de Backups.
O AWS RDS realiza continuamente cópias de segurança automáticas e instantâneos (snapshots), permitindo a recuperação num ponto específico do tempo (point-in-time recovery) ao mesmo tempo que aumenta o consumo de armazenamento ao longo do tempo.
Passo 7: Monitorização e Manutenção.
As métricas são recolhidas continuamente e as atualizações são aplicadas durante as janelas de manutenção, garantindo a estabilidade operacional, mas exigindo um planeamento cuidadoso para evitar interrupções.
Componentes Principais do AWS RDS
Seleção do Motor de Base de Dados
O motor de base de dados define como o seu sistema se comporta sob carga, como se dimensiona e como evolui ao longo do tempo. Em particular, observámos o seguinte:
- MySQL / PostgreSQL são opções de uso geral robustas, mas o dimensionamento requer frequentemente otimização manual (índices, afinação, réplicas, etc.).
- MariaDB oferece compatibilidade com MySQL com melhorias incrementais, embora o suporte do ecossistema possa variar.
- Oracle / SQL Server oferecem capacidades empresariais avançadas, mas os custos de licenciamento e operacionais podem crescer significativamente.
- Amazon Aurora está otimizado para a nuvem, permitindo separar a computação do armazenamento para um melhor desempenho e um failover mais rápido.
Comparação de Motores de Base de Dados | ||||
| Fator | MySQL / PostgreSQL | MariaDB | Oracle / SQL Server | Aurora |
| Velocidade de failover | Moderado | Moderado | Moderado | Rápida (segundos) |
| Dimensionamento de leitura | Réplicas manuais | Réplicas manuais | Opções integradas | Integrado, dimensionamento mais fácil |
| Dimensionamento de escrita | Limitada | Limitada | Avançado (complexo) | Melhor (camada de armazenamento otimizada) |
| Esforço de manutenção | Médio | Médio | Elevado | Baixa |
| Bloqueio do fornecedor | Nenhum | Nenhum | Elevado | Alto (AWS) |
| Melhor fase de maturidade | Startup / Média escala | Startup / Média escala | Empresa | Média escala / Grande escala |
Classes de Instância (Camada de Computação)
O Amazon RDS utiliza tipos de instância predefinidos (CPU + RAM). Isto implica vários aspetos importantes:
- O desempenho está associado ao tamanho da instância. O CPU processa a execução de consultas, enquanto a RAM melhora o cache. Instâncias mais pequenas atingem os limites mais rapidamente; as maiores só ajudam se os recursos forem efetivamente utilizados.
- O dimensionamento requer o redimensionamento (dimensionamento vertical). O dimensionamento é feito em passos fixos (instâncias maiores), exigindo frequentemente reinicializações ou failover.
- O sobreprovisionamento é comum. Tipicamente, as equipas dimensionam para o pico de carga, deixando os recursos subutilizados na maior parte do tempo e aumentando os custos.
| AWS RDS: Principais Famílias de Instâncias | ||
| Família | Melhor para | Característica Principal |
| T (Burstable) | Cargas de trabalho baixas/variáveis | Utiliza créditos de CPU para picos curtos |
| M (Uso geral) | Cargas de trabalho equilibradas | Mistura de CPU e memória |
| R (Memória otimizada) | Cargas de trabalho de leitura intensa e cache | RAM elevada para grandes conjuntos de dados |
| C (Computação otimizada) | Consultas intensivas de CPU | Rácio CPU/memória elevado |
| X / Z (Memória Elevada) | Grandes bases de dados, cargas de trabalho em memória | RAM extremamente elevada |
Ao trabalhar com famílias de instâncias, sugerimos o seguinte: comece com a família de instâncias M (uma vez que oferece uma mistura equilibrada de CPU e memória e se adequa à maioria das cargas de trabalho). Se notar problemas de desempenho, ajuste com base no gargalo: mude para R (se as leituras e o cache se tornarem o fator limitador) ou para C se a utilização de CPU for consistentemente alta.
Camada de Armazenamento (EBS)
O AWS RDS suporta múltiplos tipos de armazenamento, sendo o gp3 e io1/io2 os principais utilizados hoje em dia.
Esta camada influencia diretamente uma série de outros aspetos: latência (quão rápido cada operação de leitura/escrita é concluída), débito (quanta informação pode ser processada por segundo), IOPS (quantas operações podem ser executadas em paralelo), custo (com base na capacidade e desempenho provisionados), e outros.
Pelo que temos visto na prática, o gp3 cobre a maioria dos casos de uso de forma eficaz, mas no momento em que o desempenho se torna inconsistente ou o I/O começa a sofrer estrangulamento sob pressão, a mudança para io1/io2 é frequentemente a única forma de recuperar a estabilidade. Consulte uma comparação de funcionalidades mais detalhada na tabela abaixo.
Comparação de Opções de Armazenamento EBS (AWS RDS) | ||
| Caraterística | gp3 (Uso Geral) | io1 / io2 (IOPS Provisionados) |
| Melhor para | A maioria das cargas de trabalho | Cargas de trabalho críticas para o desempenho |
| Modelo de desempenho | Linha de base + IOPS/débito configuráveis | IOPS previsíveis e totalmente provisionados |
| Latência | Moderado, varia com a carga | Consistentemente baixo |
| Controlo de IOPS | Ajustável (dentro de limites) | Provisionamento preciso |
| Throughput | Configurável | Alto e consistente |
| Custo | Mais baixo, económico | Mais alto, focado no desempenho |
| Adequação à carga de trabalho | Aplicações gerais, cargas de trabalho mistas | Sistemas de escrita intensa, alta concorrência |
| Escalabilidade | Flexível, fácil de ajustar | Requer planeamento e provisionamento |
| Consistência sob carga | Pode variar sob forte pressão | Estável mesmo sob carga sustentada |
Implantações Multi-AZ
Multi-AZ fornece alta disponibilidade mantendo uma instância em espera replicada sincronamente numa Zona de Disponibilidade diferente.
Assim, quando algo corre mal (seja uma falha de infraestrutura, um evento de aplicação de patches, uma interrupção de AZ ou qualquer outra coisa), o AWS RDS aciona automaticamente uma failover e muda o endpoint da sua base de dados para a instância em espera. Isto acontece sem intervenção manual e, na maioria dos casos, as aplicações voltam a ligar-se em poucos segundos.
Entretanto, neste caso, existem certas contrapartidas que vemos consistentemente as equipas subestimarem:
- A latência de escrita aumenta, porque cada commit deve ser confirmado em dois locais;
- A instância em espera é passiva, o que significa que não ajuda na escalabilidade de leitura;
- Os custos quase duplicam, já que está a executar um ambiente secundário completo a tempo inteiro.
Para gerir isto de forma eficiente, recomendamos ativar o Multi-AZ apenas para sistemas onde o tempo de inatividade tenha um impacto comercial claro.
Réplicas de Leitura
As réplicas de leitura do Amazon RDS permitem a escalabilidade horizontal criando cópias assíncronas da base de dados primária. Isto permite que as operações de leitura sejam distribuídas por várias instâncias sem aumentar a carga na primária.
Com base na nossa experiência, as réplicas de leitura são adequadas para casos de uso onde a consistência eventual é aceitável e as cargas de trabalho são de leitura intensa (visto que distribuem eficazmente a carga e melhoram a escalabilidade). No entanto, podem ser menos adequadas para sistemas que requerem precisão em tempo real. Veja mais informações sobre a adequação abaixo.
Réplicas de Leitura do Amazon RDS: Casos de Uso | ||
| Caso de Uso | Adequação | Porquê |
| Análise / relatórios | Elevado | Pode tolerar atrasos |
| APIs de leitura intensa | Elevado | Alivia a instância primária |
| Sistemas transacionais | Limitada | Requer consistência forte |
| Sistemas em tempo real | Baixa | O atraso afeta a exatidão |
| Painéis / ferramentas de BI | Elevado | Um pequeno atraso é aceitável |
| Processamento de lotes | Elevado | Cargas de trabalho sem sensibilidade temporal |
| Serviços de pesquisa / catálogo | Elevado | Principalmente operações de leitura |
| Consultas de registos / auditoria | Elevado | Escrita intensa, leitura posterior |
| Aplicações globais (leituras multi-região) | Médio | Melhora a latência, mas adiciona desafios de consistência |
| Camada de cache de recurso (fallback) | Médio | Cópia de segurança para falhas de cache, mas mais lenta do que a cache |
| Sistemas orientados a eventos | Baixa | Dados desatualizados podem interromper os fluxos |
| Sistemas financeiros | Baixa | Forte consistência exigida |
Principais Funcionalidades do AWS RDS
#1. Operações Totalmente Geridas
O RDS automatiza as operações principais da base de dados. Nas operações do mundo real, este é o impacto que causa:
> Cópias de segurança (Backups)
Com cópias de segurança automatizadas e recuperação num ponto específico no tempo no Amazon RDS, já não é responsável pela conceção e manutenção de pipelines de cópias de segurança.
Dito isto, isto não retira a responsabilidade – em vez disso, transfere-a. Continua a precisar de definir períodos de retenção, alinhá-los com os requisitos de conformidade, garantir que os seus objetivos de recuperação (RPO/RTO) são realistas, e assim por diante.
> Aplicação de Patches
Aplicação de patches é processada automaticamente durante janelas de manutenção definidas, o que remove a sobrecarga operacional de aplicar atualizações manualmente.
No entanto, considere o seguinte: ao mesmo tempo, isto introduz uma dependência do agendamento da AWS. Se as janelas de manutenção estiverem mal alinhadas com os seus padrões de tráfego, ainda poderá sofrer interrupções. Por isso, escolha as janelas de manutenção com cuidado e compreenda como os eventos de aplicação de patches interagem com a sua configuração de disponibilidade (ex. Multi-AZ).
| Lista de Verificação de Janela de Manutenção e Aplicação de Patches do AWS RDS. | |
| Área | O que Verificar |
| Verificações Principais | ✅ Períodos de menor tráfego com base em métricas históricas ✅ Alinhamento com os fusos horários dos utilizadores principais (incl. hora de verão) |
| Configuração de Disponibilidade | ✅ Multi-AZ ativado e estado de funcionamento do standby verificado ✅ Falha de sistema (failover) testada e duração medida |
| Prontidão da Aplicação | ✅ Lógica de repetição (exponential backoff) implementada ✅ Agrupamento de ligações (connection pooling) e comportamento de religação validados ✅ Definições de timeout do ORM/driver revistas |
| Coordenação de Alterações | ✅ Sem sobreposição com implementações ou migrações ✅ Manutenção alinhada com o calendário de lançamentos |
| Notificações e Alertas | ✅ Subscrições de eventos RDS ativadas ✅ Alertas integrados com Slack/PagerDuty ✅ Equipa de prevenção informada |
| Conhecimento de Patches | ✅ Tipo de patch identificado (SO vs motor) ✅ Requisito de reinício confirmado ✅ Manutenções pendentes revistas |
| Ensaios | ✅ Failover simulado em ambiente de testes (staging) ✅ Cenários de reinício testados sob carga |
| Alinhamento de SLA | ✅ Duração esperada de failover/reinício documentada ✅ Impacto alinhado com os SLAs internos |
| Prontidão para Reversão (Rollback) | ✅ Snapshots recentes disponíveis ✅ Plano de mitigação claro (dimensionar, restaurar, promover réplica) |
| Dependências | ✅ Serviços a jusante mapeados (APIs, tarefas, pipelines) ✅ Comportamento durante o tempo de inatividade da BD validado |
| Replicação | ✅ Atraso da réplica de leitura monitorizado ✅ Lógica de encaminhamento de leitura verificada |
| Configuração | ✅ Alterações no grupo de parâmetros revistas ✅ Definições de reinicialização pendente verificadas |
| Desempenho | ✅ Linha de base de IOPS/latência capturada ✅ Desempenho pós-manutenção monitorizado |
> Failover
O failover incorporado do AWS RDS (via Multi-AZ) melhora significativamente a resiliência. No entanto, muitas equipas ignoram o facto de não ser assim tão transparente do ponto de vista da aplicação. Eis porquê:
- Pode demorar de segundos a minutos, período durante o qual a instância primária fica indisponível
- Durante este tempo, as sessões ativas podem cair e novas ligações podem falhar temporariamente
- Tratar o failover como “instantâneo e invisível” leva frequentemente a períodos de inatividade ao nível da aplicação
Para mitigar isto, certifique-se de que as aplicações são concebidas para recuperação: incluindo lógica de repetição, gestão de religação, configuração adequada de limites de tempo, etc.
Melhores Práticas de Resiliência ao Nível da Aplicação para Failover do AWS RDS | |
| Área | Melhores Práticas |
| Lógica de Repetição | Implementar recuo exponencial (ex: 100ms → 200ms → 400ms) Definir um limite máximo de repetições para evitar sobrecarga. Repetir apenas em erros transitórios (perda de ligação, limites de tempo) |
| Gestão de Ligações | Utilizar pooling de ligações com religação automática. Evitar ligações de longa duração/obsoletas Validar as ligações antes da reutilização |
| Limites de Tempo (Timeouts) | Configurar limites de tempo de ligação de BD razoáveis (nem demasiado curtos/longos) Separar o limite de tempo de ligação do limite de tempo de consulta. Alinhar os limites de tempo com a duração esperada do failover |
| Tratamento de Erros | Classificar erros (transitórios vs fatais) Gerir graciosamente a indisponibilidade da BD (respostas de recurso, filas de espera) |
| Idempotência | Garantir que as operações podem ser repetidas em segurança (sem efeitos secundários duplicados) Utilizar chaves de idempotência onde aplicável |
| Gestão de transacções | Manter as transações de curta duração Evitar manter bloqueios durante operações sensíveis ao failover |
| Gestão de DNS e Endpoints | Utilizar o endpoint do RDS (não o IP) para permitir o encaminhamento automático do failover Garantir que a aplicação respeita a atualização do DNS (sensibilidade a TTL baixo) |
| Disjuntores (Circuit Breakers) | Implementar o padrão de disjuntor para evitar falhas em cascata Permitir que o sistema recupere antes de tentar novamente de forma agressiva |
| Observabilidade | Acompanhar as taxas de repetição, picos de erro e tentativas de religação Alertar sobre comportamentos anómalos de failover |
| Gestão de Carga | Limitar as repetições durante o failover para evitar sobrecarregar a nova instância primária Utilizar filas de espera/buffers para cargas de trabalho com escrita intensiva |
| Ensaios | Simular cenários de failover regularmente Validar o comportamento real sob carga e falhas parciais |
> Monitorização
O RDS integra-se com as ferramentas nativas de monitorização e registo da AWS, proporcionando-lhe acesso imediato a todas as métricas cruciais. Por exemplo:
- Utilização da CPU (monitoriza a % de CPU global, utilização por núcleo, saldo de rajada (classe T), picos ao longo do tempo);
- Memória (Memória livre) – monitoriza a RAM disponível, a utilização do buffer/cache, a atividade da swap;
- Armazenamento (Alocado vs Utilizado) – monitoriza o armazenamento total alocado, o armazenamento utilizado, o crescimento do dimensionamento automático, o espaço livre, etc.;
- Ligações à base de dados (monitoriza ligações ativas, limite máximo de ligações, picos de ligação, ligações inativas);
- IOPS de Leitura/Escrita – IOPS de leitura, IOPS de escrita, débito (MB/s), capacidade de burst;
- Latência (Leitura/Escrita) – monitoriza a latência média de leitura, a latência de escrita, os picos de latência, a latência percentil (p95/p99)
- Profundidade da fila de disco – monitoriza pedidos de E/S pendentes, picos de fila, histórico acumulado sustentado e outros.
Em relação à observabilidade do AWS RDS, eis um aspeto importante a considerar: embora forneça uma base sólida, muitas vezes não é suficiente para obter uma visão operacional profunda. Para compreender verdadeiramente o desempenho e o comportamento dos custos, é necessário ativar e configurar camadas adicionais: monitorização ao nível da consulta, registos de consultas lentas, acompanhamento de custos, entre outros.
#2. Dimensionamento Vertical
No Amazon RDS, o dimensionamento vertical é alcançado através do upgrade da classe de instância de BD (CPU, RAM, débito de rede).
Do nosso ponto de vista, esta abordagem traz uma série de benefícios:
> Não são necessárias alterações arquiteturais – uma vez que o dimensionamento é simples e rápido;
> Mais CPU e memória melhoram diretamente a execução de consultas e o caching;
> Funciona de forma transparente sem modificar o código ou os padrões de acesso aos dados;
> Comportamento consistente, evitando as complexidades dos sistemas distribuídos (sem fragmentação, sem partição de dados, etc.);
> Percurso de dimensionamento previsível com níveis de upgrade claros.
Entretanto, considere que o dimensionamento vertical é simples, mas reativo. Pela nossa experiência, temos visto muitas equipas aumentarem os recursos quando o desempenho diminui, sem abordarem as causas de raiz (como consultas ineficientes, indexação deficiente, etc.). Isto, por sua vez, leva frequentemente a custos mais elevados sem ganhos de desempenho proporcionais.
Segurança e conformidade
O RDS inclui controlos de segurança incorporados alinhados com as melhores práticas da AWS
As suas principais capacidades relacionadas com a segurança podem ser divididas em 3 clusters essenciais:
#1. Integração com o AWS IAM (permite um controlo de acessos centralizado e granular): inclui acesso de utilizadores/serviços, permissões baseadas em funções, autenticação de base de dados IAM, etc.
#2. Encriptação em repouso e em trânsito (protege os dados utilizando o AWS KMS e SSL/TLS) – abrange armazenamento de dados, cópias de segurança, instantâneos e dados em movimento.
#3. Isolamento de rede via VPC (permitindo que as bases de dados sejam executadas em sub-redes privadas com acesso controlado) – garante uma superfície de ataque reduzida e conectividade controlada.
Consulte a documentação oficial da AWS para saber como proteger os seus dados com o Amazon RDS para SQL Server.
Integração do ecossistema
O Amazon RDS está profundamente integrado no ecossistema AWS – o que significa que a sua base de dados se torna parte de um sistema ligado e orientado a eventos (onde as ações e as informações fluem entre serviços).
Explore a lista de integrações, juntamente com as respetivas capacidades, na tabela abaixo.
AWS RDS: Principais Integrações | ||
| Serviço | O Que Permite | Caso de Uso de Exemplo |
| AWS Lambda | Acionar automação com base em eventos da BD | Notificações sobre failover, fluxos de trabalho de remediação automatizados |
| Amazon S3 | Exportação de dados e armazenamento a longo prazo | Exportação de instantâneos/registos para análise ou conformidade |
| Amazon CloudWatch | Monitorização, alertas, dashboards | Alertas sobre picos de CPU, latência, limiares de ligação |
| AWS CloudTrail | Auditoria e acompanhamento de atividade | Rastrear alterações de configuração e ações dos utilizadores |
| AWS IAM | Controlo de acessos e segurança | Aplicar acesso com privilégios mínimos aos recursos da BD |
| AWS Secrets Manager | Armazenamento e rotação seguros de credenciais | Rodar automaticamente credenciais de BD |
| Configuração AWS | Monitorização de configuração e conformidade | Detetar configurações incorretas ou violações de políticas |
| Amazon EventBridge | Encaminhamento e orquestração de eventos | Acionar fluxos de trabalho em eventos de failover ou manutenção |
Cartões virtuais gratuitos para residentes fora da UE
Abra em 1 dia útil, emita 100 cartões virtuais e obtenha até 1.25% de cashback.
Obter uma conta gratuita
Principais Casos de Utilização para o AWS RDS
O AWS RDS é potente, mas apenas quando utilizado no contexto correto. Na nossa experiência, isso resume-se à forma como a sua carga de trabalho se adequa ao seu modelo gerido baseado em instâncias. Em particular, recomendamos considerar estes aspetos:
> Alinhamento de dados relacionais
O RDS é mais adequado para dados estruturados com esquemas, relações e requisitos transacionais claros.
> Modelo de escalabilidade vertical
A escalabilidade de desempenho é alcançada principalmente aumentando o tamanho da instância ou adicionando réplicas de leitura, em vez de distribuir as cargas de trabalho por múltiplos nós.
> Padrões de carga de trabalho consistentes
O tráfego estável permite um desempenho previsível e uma otimização de custos mais eficaz (por exemplo, Instâncias Reservadas).
> Comportamento de consulta otimizável
As cargas de trabalho com consultas repetíveis e bem estruturadas beneficiam ao máximo da indexação e do ajuste de desempenho.
> Concorrência controlada
O RDS lida bem com níveis moderados de utilização paralela, especialmente quando apoiado por estratégias de pool de ligações.
> Eficiência de custos através de utilização constante
Como o RDS está sempre ativo, oferece o maior valor quando a utilização é consistente em vez de altamente variável.
AWS RDS: Visão Geral de Adequação | ||
| Adequação | Caso de Uso | Por que Funciona (ou Não) |
| Altamente adequado | Backends web e móveis (OLTP) | – Transações fiáveis – Consultas previsíveis – Alta disponibilidade incorporada |
| Altamente adequado | Plataformas SaaS (carga constante) | – Esquemas estruturados – Utilização consistente – Escalabilidade gerível |
| Altamente adequado | Sistemas internos (ERP, CRM) | – Procura estável – Baixo custo operacional – Manutenção automatizada |
| Altamente adequado | Migrações diretas (Lift-and-shift) | – Motores familiares – Alterações mínimas – Implementação rápida |
| Adequabilidade moderada | APIs e microsserviços | – Funciona a uma escala moderada – Requer ajuste de ligações/consultas |
| Adequabilidade moderada | Cargas de trabalho com muitas leituras | – As réplicas de leitura adicionam custos/complexidade |
| Adequabilidade moderada | Sistemas de dimensão média | – A escalabilidade vertical funciona até aos limites |
| Adequabilidade moderada | Cargas de trabalho mistas | – A análise de dados pode afetar o desempenho transacional |
| Não adequado | Arquiteturas distribuídas | – Escalabilidade horizontal limitada, sem escritas multi-nó |
| Não adequado | Cargas de trabalho altamente variáveis | – O sobredimensionamento gera ineficiência de custos |
| Não adequado | Cargas de trabalho analíticas | – Não otimizado para processamento em grande escala |
| Não adequado | Sistemas de alta concorrência | – Limites de ligação e problemas de contenção |
| Não adequado | Estrutura de esquema/consulta deficiente | – As ineficiências aumentam os custos e a latência |
✅ Caso #1: Backends de Web e Aplicações
Neste cenário, avaliámos o RDS como a base de dados principal para uma aplicação SaaS/web típica com tráfego estável e cargas de trabalho transacionais. Durante os testes, o RDS lidou com operações CRUD padrão de forma fiável, com um desempenho previsível desde que as consultas estivessem devidamente otimizadas.
A maior vantagem foi a redução da sobrecarga operacional (sem necessidade de gerir cópias de segurança, atualizações ou ativações de redundância manualmente). No entanto, o desempenho dependia fortemente da eficiência das consultas e da gestão de ligações, especialmente sob carga concorrente.
AWS RDS para Backends de Web e Aplicações: Destaques da Avaliação | |
Valor primário | Armazenamento de dados transacionais fiável |
Fatores de desempenho | Eficiência de consultas, indexação, colocação em cache |
Impacto operacional | Elimina a sobrecarga de gestão da infraestrutura |
Dependências críticas | Desenho do esquema, gestão de ligações |
✅ Caso #2: Sistemas Empresariais
Como outro caso de uso do AWS RDS, testámos o RDS num ambiente crítico para o negócio com requisitos mais rigorosos de tempo de atividade, consistência e conformidade.
Neste caso, observámos o seguinte:
- As implementações Multi-AZ proporcionaram um comportamento de ativação de redundância estável;
- No geral, a natureza gerida do serviço simplificou as operações de manutenção;
- Os custos aumentaram significativamente devido às configurações de alta disponibilidade e tamanhos de instância maiores;
- O desempenho manteve-se estável, mas exigiu um planeamento cuidadoso em relação ao dimensionamento da instância e à configuração de redundância.
AWS RDS para Sistemas Empresariais: Destaques da Avaliação | |
Valor primário | Base de dados gerida para cargas de trabalho críticas para o negócio |
Fatores de desempenho | Dimensionamento de instâncias, configuração de alta disponibilidade |
Impacto operacional | Garante fiabilidade, conformidade e estabilidade |
Dependências críticas | Modelo de licenciamento, planeamento de redundância |
✅ Caso #3: Aplicações com Elevado Volume de Leitura
Neste caso, focámo-nos em aplicações com um elevado volume de operações de leitura (por exemplo, painéis de controlo, plataformas de conteúdo). Ao introduzir réplicas de leitura, conseguimos libertar o tráfego da instância primária e melhorar a estabilidade geral do sistema. Os ganhos de desempenho foram notórios, mas apenas após o encaminhamento correto das consultas para as réplicas. Também observámos que o atraso de replicação se tornou um fator sob cargas de escrita intensas, exigindo uma gestão cuidadosa ao nível da aplicação.
AWS RDS para Aplicações com Elevado Volume de Leitura: Destaques da Avaliação | |
Valor primário | Escalabilidade horizontal através de réplicas de leitura |
Fatores de desempenho | Estratégia de replicação, distribuição de consultas |
Impacto operacional | Reduz a carga na instância primária |
Dependências críticas | Encaminhamento de consultas, gestão de atrasos de replicação |
Quando o AWS RDS Pode Não Ser a Melhor Opção
Com base na nossa experiência e testes, o AWS RDS oferece excelentes resultados quando é combinado com a carga de trabalho certa – caso contrário, as limitações surgem rapidamente. Explore alguns dos cenários mais comuns onde poderá não ser a melhor opção (na nossa perspetiva) – listados abaixo.

❌ Sistemas distribuídos altamente escaláveis
Nos casos em que as aplicações requerem escalabilidade horizontal em múltiplos nós (especialmente para cargas de trabalho intensivas em escrita), o RDS pode tornar-se um estrangulamento.
Como o dimensionamento é principalmente vertical e as réplicas de leitura não resolvem o dimensionamento de escrita, as bases de dados distribuídas ou as soluções NoSQL são frequentemente mais adequadas (considere Amazon Aurora, Amazon DynamoDB, Amazon Keyspaces, Amazon DocumentDB, etc.).
❌ Cargas de trabalho altamente variáveis ou imprevisíveis
As instâncias do AWS RDS estão sempre ativas, o que significa que paga pela capacidade provisionada independentemente da utilização. Para cargas de trabalho com picos de tráfego ou imprevisíveis, isto leva frequentemente à subutilização durante os períodos de baixa procura.
Em cenários como estes, recomendamos a utilização de soluções de bases de dados serverless ou com dimensionamento automático ( Amazon Aurora Serverless v2, Amazon DynamoDB, Amazon Keyspaces, , etc).
❌ Cargas de trabalho analíticas e de relatórios pesados
O RDS está otimizado para cargas de trabalho transacionais (OLTP) com consultas frequentes e pequenas. Executar grandes agregações, junções ou varrimentos completos de tabelas diretamente no RDS pode consumir CPU e I/O significativos. Isto, por sua vez, afeta o desempenho das consultas principais da aplicação. À medida que o volume de dados cresce, estas cargas de trabalho competem cada vez mais por recursos.
Na nossa experiência, eis o que funciona melhor: separar a análise em sistemas dedicados, como armazéns de dados (por exemplo, Amazon Redshift) pode ajudá-lo a evitar conflitos e a melhorar a eficiência.
❌ Sistemas de latência ultrabaixa ou em tempo real
O RDS introduz uma latência inerente da comunicação de rede e das operações de armazenamento em disco. Para sistemas que exigem respostas quase instantâneas (por exemplo, licitações em tempo real, negociação de alta frequência ou sincronização de estado ao vivo), mesmo pequenos atrasos podem ser inaceitáveis.
Na nossa perspetiva, a melhor opção neste caso são bases de dados em memória ou especializadas de baixa latência, concebidas para um desempenho inferior a um milissegundo (por exemplo, Redis, Memcached, Amazon DynamoDB, etc.).
❌ Design de esquema deficiente e consultas ineficientes
Nenhum serviço gerido pode compensar um mau design de base de dados – por isso, esquemas e consultas ineficientes resultarão inevitavelmente num desempenho fraco e custos mais elevados.
Entretanto, eis o que também observámos: na prática, o design de consultas é apenas uma parte de um cenário mais amplo. O desempenho do AWS RDS é influenciado por múltiplos fatores interligados, que frequentemente amplificam estas ineficiências. Veja mais detalhes abaixo.
Fatores Ocultos que Impactam o Desempenho do AWS RDS | ||
| Fator | Porque Importa e Impacto | Opções de Otimização |
| Comportamento das consultas | Consultas ineficientes aumentam o CPU, I/O e a latência à medida que os dados crescem | → Otimizar índices → Refatorar consultas → Adicionar cache (Redis) → Utilizar réplicas de leitura |
| Limites de escala | A fraca escalabilidade leva a redesenhos dispendiosos e sharding | → Adicionar réplicas de leitura → Particionar/fragmentar (shard) dados → Migrar para o Aurora → Balancear carga de leituras |
| Ecossistema e ferramentas | Ferramentas fracas abrandam a depuração e as operações | → Utilizar o CloudWatch e o Performance Insights → Padronizar a monitorização → Automatizar alertas |
| Modelo de licenciamento | Os custos crescem mais rápido do que a utilização real | → Dimensionar corretamente as instâncias → Utilizar Instâncias Reservadas → Migrar para open-source |
| Otimização da nuvem | Funcionalidades em falta reduzem o desempenho e a eficiência | → Utilizar funcionalidades do Aurora → Ativar dimensionamento automático/serverless → Otimizar a recuperação de falhas (failover) |
| Gestão de ligações | Excesso de ligações causa esgotamento de recursos | → Utilizar pooling de ligações → Limitar ligações inativas → Monitorizar picos |
| Padrões de carga de trabalho | Cargas de trabalho mistas criam contenção e abrandamentos | → Separar leitura/escrita (CQRS) → Descarregar para réplicas → Agendar tarefas em lote (batch) |
| Gargalos de armazenamento | Limites de I/O causam picos de latência e consultas lentas | → Ajustar IOPS/débito (throughput) → Atualizar para io2 → Monitorizar a profundidade da fila |
| Estratégia de manutenção | O mau planeamento leva a riscos de inatividade (downtime) | → Definir janelas de manutenção → Testar em ambiente de staging → Planear rollbacks |
Estrutura de Preços do AWS RDS
Geralmente, o preço do AWS RDS é determinado por uma combinação de computação, armazenamento e funcionalidades operacionais. Ao contrário dos serviços baseados puramente no consumo, os custos do RDS estão em grande parte associados à infraestrutura provisionada, o que significa que decisões como o tamanho da instância, a configuração de disponibilidade e a estratégia de dimensionamento têm um impacto direto e contínuo nos gastos.
Consulte os principais fatores de custo dos preços do AWS RDS na tabela abaixo.
Detalhamento de Preços do AWS RDS | ||
| Componente de preços | Comportamento | Custo típico |
Computação (instâncias) | Principal fator de custo (por hora) | $0.017/h (t4g.micro) $0.20–0.40/h (m6g.large) $1+/hr (r6g.2xlarge) |
Armazenamento (EBS – gp3) | Cobrado por GB/mês | $0.08 por GB/mês |
Armazenamento (EBS – io1/io2) | Armazenamento de IOPS provisionado | $0.125 por GB/mês + $0.065 por IOPS provisionado |
Operações de E/S | Cobrado por milhão de pedidos (gp2/io1) | $0.20 por 1M de pedidos (varia consoante o motor/tipo de armazenamento) |
| Implementação Multi-AZ | Instância de standby provisionada | 2× custos de computação + armazenamento adicional |
| Réplicas de leitura | Instâncias adicionais | Preço idêntico ao da primária (escala linear) |
| Armazenamento de cópias de segurança | Snapshots e retenção | Gratuito até 100% do tamanho da BD, depois ~$0.095 por GB/mês |
| Transferência de dados (saída) | Internet / Multi-AZ | $0.09 por GB (internet), $0.01–0.02 por GB (Multi-AZ) |
Analisemos um caso prático em que os custos do AWS RDS são influenciados não apenas pelo tamanho da base de dados, mas também pela forma como a infraestrutura está configurada. Como pode ver, fatores como o dimensionamento das instâncias, a implementação Multi-AZ e as réplicas de leitura podem aumentar significativamente o custo total para além do armazenamento base.
Especificamente, retirámos várias observações importantes:
- A computação domina a estrutura de custos. Mesmo bases de dados relativamente pequenas podem tornar-se dispendiosas se os tamanhos das instâncias forem sobredimensionados ou não forem ajustados regularmente.
- A alta disponibilidade tem um custo acrescido. O Multi-AZ duplica frequentemente o custo de computação sem melhorar o desempenho, tornando essencial justificá-lo com base nas necessidades de tempo de atividade.
- As decisões de dimensionamento somam-se rapidamente. Cada réplica de leitura introduz o custo de uma instância completa, que pode aumentar de forma linear se não for controlado.
- Os custos persistem mesmo durante períodos de baixa utilização. Ao contrário dos modelos serverless, o RDS continua a acumular custos independentemente dos níveis de tráfego.
Cenário de Custo Mensal Estimado do AWS RDS (Implementação de Produção de Média Dimensão) | ||
| Categoria de preços | Cenário de Utilização | Custo Mensal Est. |
| Computação (primária) | db.m6g.large | $180 |
| Standby Multi-AZ | Ativado | $180 |
| Réplicas de leitura | 1 réplica | $120 |
| Armazenamento | 500 GB (gp3) | $50 |
| Operações de E/S | Carga de trabalho moderada | $70 |
| Armazenamento de cópias de segurança | Retenção alargada | $30 |
| Transferência de dados | Tráfego moderado | $60 |
| Custo total estimado | $690 | |
O que Influencia os Custos do AWS RDS na Prática
Com base na nossa experiência, as instâncias são frequentemente dimensionadas para picos de carga, mas permanecem subutilizadas a maior parte do tempo. Isto, por sua vez, leva a custos de computação consistentemente elevados que não correspondem à procura real. Abaixo, destacamos algumas das ineficiências de custos mais comuns que observamos as equipas cometerem.
Fator #1: Instâncias Sobredimensionadas
Quando são alocadas para picos de carga mas permanecem subutilizadas a maior parte do tempo, levam a custos de computação consistentemente elevados sem uma utilização proporcional.
Fator #2: Bases de Dados Inativas
Ambientes que não sejam de produção (desenvolvimento/teste) a funcionar continuamente (em vez de serem programados ou pausados) criam despesas de base desnecessárias.
Fator #3: Consultas Ineficientes
De acordo com as nossas observações, consultas mal otimizadas aumentam significativamente a utilização de CPU e E/S – o que não só afeta o desempenho como também exige requisitos de infraestrutura mais elevados.
Fator #4: Configuração incorreta de armazenamento
Quando o armazenamento de alto desempenho (por exemplo, IOPS provisionadas) é frequentemente utilizado sem uma necessidade clara, deve esperar custos mais elevados sem ganhos significativos de desempenho.
Fator #5: Utilização excessiva de Multi-AZ
Em muitos casos, o Multi-AZ é ativado por predefinição – não por necessidade. Desta forma, normalmente duplica os custos de computação sem proporcionar um valor proporcional quando os requisitos de tempo de atividade são limitados.
Otimizar os custos do Amazon RDS: Melhores práticas
A otimização do RDS resume-se a fazer corresponder as estratégias de computação, armazenamento e escalabilidade com a utilização real. Para garantir “vitórias rápidas” na otimização de custos do AWS RDS, recomendamos as seguintes melhores práticas:
- Instâncias de tamanho correto – rever regularmente a utilização de CPU e memória, reduzir o tamanho das instâncias sobredimensionadas e alinhar a capacidade com as exigências reais da carga de trabalho, em vez de pressupostos de pico;
- Otimizar consultas e indexação – identificar consultas lentas, refinar planos de execução, aplicar a indexação adequada e minimizar as análises completas de tabelas para reduzir a carga de CPU e E/S;
- Alinhar o armazenamento com a carga de trabalho – escolher os tipos de armazenamento apropriados (por exemplo, GP3, IO1), monitorizar IOPS e taxa de transferência (throughput), e evitar o sobredimensionamento;
- Utilização alta disponibilidade seletivamente – ativar implementações Multi-AZ apenas para cargas de trabalho críticas, garantindo que o custo adicional é justificado pelos requisitos de tempo de atividade;
- Aproveitar réplicas de leitura de forma eficaz – utilizar réplicas de leitura para descarregar cargas de trabalho com elevado volume de leitura, mas evitar réplicas desnecessárias que aumentam os custos sem um benefício claro;
- Agendar ambientes de não produção – parar ou automatizar o encerramento de instâncias de dev/test quando não estiverem a ser utilizadas para eliminar custos de inatividade;
- Monitorizar continuamente o desempenho – monitorizar a utilização da CPU, a latência das consultas, a taxa de transferência de E/S e os padrões de ligação utilizando ferramentas como o Amazon CloudWatch e o Performance Insights.
| Áreas de otimização imediatas e de alto impacto para o AWS RDS | |||
| Estratégia | Esforço | Poupança | Velocidade de impacto |
| Ajustar o tamanho da instância à carga de trabalho | Baixa | Elevado | Imediato |
| Otimizar a configuração de armazenamento | Baixa | Médio | Curto prazo |
| Desativar instâncias de dev/test inativas | Baixa | Elevado | Imediato |
| Utilizar Multi-AZ seletivamente | Baixa | Elevado | Curto prazo |
| Monitorizar CPU, E/S e consultas | Baixa | Elevado | Imediato |
No entanto, a eficiência sustentável exige mais do que meros ajustes rápidos. Para garantir a eficiência de custos a longo prazo, siga as estratégias abaixo:
- Refinar a estrutura das consultas – padronizar padrões de consulta, remover operações redundantes e otimizar planos de execução para reduzir a carga de computação e E/S.
- Melhorar gestão de ligações – monitorizar picos de ligação, implementar pooling (por exemplo, PgBouncer) e evitar ligações simultâneas excessivas.
- Otimizar o desempenho de E/S – analisar o comportamento de leitura/escrita, minimizar operações de disco desnecessárias e alinhar a configuração do armazenamento com as necessidades da carga de trabalho.
- Estabelecer observabilidade contínua – tirar partido de Amazon CloudWatch e Informações sobre o desempenho para acompanhar tendências de desempenho, definir alertas e correlacionar a utilização com o custo.
- Distribuir cargas de trabalho de forma eficiente – desviar o tráfego com elevado volume de leitura para réplicas e mover cargas de trabalho analíticas para serviços como o Amazon Redshift (quando apropriado).
- Aproveitar as otimizações de preços – utilizar Instâncias reservadas ou Planos de poupança para reduzir os custos de computação a longo prazo para cargas de trabalho previsíveis.
| Melhorias de eficiência a longo prazo para o AWS RDS | |||
| Estratégia | Esforço | Poupança | Velocidade de impacto |
| Melhorar a estrutura de consultas e indexação | Médio | Elevado | Curto prazo |
| Otimizar a gestão de ligações | Médio | Médio | Em curso |
| Melhorar a eficiência de armazenamento e E/S | Médio | Elevado | Curto prazo |
| Implementar monitorização contínua | Médio | Elevado | Em curso |
| Otimizar a distribuição de cargas de trabalho (réplicas, Redshift) | Médio | Elevado | Médio prazo |
| Aplicar Instâncias Reservadas / Savings Plans | Baixa | Elevado | Imediato |
Além disso, um dos pontos mais importantes que frequentemente vemos ser negligenciado é que o RDS não resolve o design da base de dados. Ele remove o fardo da gestão da infraestrutura, mas os princípios fundamentais continuam a aplicar-se. Portanto, o design do esquema, a eficiência das consultas e os padrões de carga de trabalho continuam a ser cruciais.
Configurar o AWS RDS: Checklist Passo a Passo
Configurar o AWS RDS corretamente desde o primeiro dia faz uma diferença significativa: ajuda a evitar instâncias sobredimensionadas, estrangulamentos de desempenho e custos desnecessários a longo prazo.
Para o fazer, consulte a checklist abaixo – ela reflete o que temos visto funcionar na prática para construir uma implementação estável e eficiente.
Checklist de Configuração e Governança para o AWS RDS |
| 1. Definir os requisitos da carga de trabalho |
| ☐ Determinar o tipo de carga de trabalho (principalmente transacional ou mista) ☐ Estimar o tráfego esperado e os períodos de pico de utilização ☐ Definir expectativas claras de desempenho e latência ☐ Projetar o crescimento dos dados e a procura de armazenamento ☐ Decidir sobre as necessidades de disponibilidade (Single-AZ vs. Multi-AZ) |
| 2. Desenhar a arquitetura da base de dados |
☐ Escolher o motor correto (MySQL, PostgreSQL, MariaDB, SQL Server, Oracle) ☐ Estruturar os esquemas para consistência e desempenho ☐ Planejar índices antecipadamente para suportar as consultas principais ☐ Separar os ambientes de produção e não-produção ☐ Definir como será gerido o dimensionamento de leitura (ex.: réplicas) |
| 3. Configurar a estratégia de computação e dimensionamento |
☐ Selecionar um tipo de instância com base nas características reais da carga de trabalho ☐ Evitar o aprovisionamento puramente para cenários de pior caso ☐ Estar ciente dos limites de dimensionamento vertical ☐ Decidir quando redimensionar verticalmente (scale up) vs. quando adicionar réplicas ☐ Testar o desempenho sob condições realistas |
| 4. Configurar armazenamento e cópias de segurança |
☐ Escolher o armazenamento adequado (gp3 para uso geral, io1/io2 para necessidades de IOPS elevadas) ☐ Ativar cópias de segurança automatizadas com uma janela de retenção adequada ☐ Monitorizar o consumo de armazenamento ao longo do tempo ☐ Gerir o ciclo de vida dos snapshots para evitar custos desnecessários ☐ Alocar armazenamento com base nas necessidades reais, não em suposições |
| 5. Abordar o desempenho desde o início |
☐ Otimizar consultas e eliminar ineficiências precocemente ☐ Reduzir verificações completas (full scans) e junções (joins) dispendiosas sempre que possível ☐ Aplicar índices com base nos padrões de acesso ☐ Utilizar o Performance Insights para identificar estrangulamentos ☐ Ajustar os parâmetros da base de dados através de grupos de parâmetros, se necessário |
| 6. Garantir monitorização e visibilidade |
☐ Ativar o Amazon CloudWatch para métricas e registos ☐ Acompanhar indicadores-chave como CPU, memória, E/S (I/O), latência e conexões ☐ Configurar alertas para comportamentos anómalos ☐ Rever tendências regularmente para identificar oportunidades de otimização ☐ Utilizar o Performance Insights para uma análise de consultas mais aprofundada |
| 7. Implementar controlos de segurança |
☐ Aplicar acesso baseado em IAM com princípios de menor privilégio ☐ Ativar a encriptação utilizando KMS (em repouso) e SSL/TLS (em trânsito) ☐ Implementar bases de dados em sub-redes privadas numa VPC ☐ Restringir o acesso utilizando grupos de segurança ☐ Auditar regularmente o acesso e rodar credenciais |
| 8. Manter os custos sob controlo |
☐ Continuously adjust instance sizing based on actual usage ☐ Apply Reserved Instances or Savings Plans where applicable ☐ Reevaluate the need for Multi-AZ and replicas ☐ Remove unused snapshots and inactive resources ☐ Monitor spending and optimize on an ongoing basis |
| 9. Validate and iterate |
☐ Perform load and stress testing ☐ Validate failover behavior and recovery processes ☐ Analyze real usage patterns after deployment ☐ Identify inefficiencies and refine configuration ☐ Continuously adapt setup as requirements evolve |
Secure Free AWS Credits With Spendbase To Optimize AWS RDS Costs from Day One
On a final note, one of the most overlooked factors in early infrastructure decisions is how cost constraints shape architecture. In many cases, these decisions are driven more by budget limitations than actual requirements – which, in turn, often leads to underprovisioned systems or short-term trade-offs that create long-term inefficiencies.
AWS credits help avoid this – they give teams the room to make better architectural decisions upfront. This, in turn, help further improve performance and set a stronger foundation for long-term efficiency.
As an official AWS partner, Base de dados de despesas helps startups and growing teams secure AWS credits and maximize their value (up to $100,000 for eligible startups). From identifying the right programs to guiding the end-to-end application process, Spendbase ensures you not only receive credits but also use them strategically.

Talvez queira ler
Otimização de custos
Melhores Práticas de Segurança da AWS para EmpresasOtimização de custos
Subsídios da AWS: Créditos, Regras, FinOps (2026)As subvenções AWS podem parecer dinheiro grátis, até que se perceba que são realmente capital não dilutivo...
Otimização de custos
Relatórios para a Administração sobre Custos de Infraestrutura na Série B