
Os principais serviços de computação em nuvem se dividem em quatro categorias de infraestrutura — compute, storage, networking e bancos de dados — entregues por meio de três modelos de serviço: IaaS, PaaS e SaaS. Para times de CloudOps que cuidam de infraestrutura na AWS, Google Cloud Platform (GCP) e Microsoft Azure, entender como essas camadas se conectam não é só conhecimento básico. É a base de toda decisão de custo, confiabilidade e operação que você toma.
O que costuma acontecer na maioria das áreas de engenharia é o seguinte: a infraestrutura cresce, as faturas de nuvem ficam cada vez mais difíceis de explicar e ninguém sabe ao certo qual camada de serviço causou o último pico de gastos.
Geralmente não é falta de conhecimento. AWS, GCP e Azure publicam catálogos de serviços extensos. A documentação existe. O que não existe é uma visão clara de como as fronteiras entre serviços afetam quem é responsável pelo quê, onde os custos se acumulam e por que incidentes em uma camada são totalmente diferentes de incidentes em outra.
É esse o problema prático que este guia aborda. Não "o que é IaaS", mas "o que IaaS significa para a forma como seu time opera, atribui custos e responde quando algo dá errado". Se você também está se debruçando sobre como gerenciar custos de nuvem nessas camadas de serviço, nosso guia de estratégias de otimização de custos em nuvem trata especificamente desse problema.
Quais são os principais serviços de computação em nuvem para times de CloudOps?
Os serviços de computação em nuvem se agrupam em quatro categorias de infraestrutura: compute, storage, networking e bancos de dados. Cada uma traz drivers de custo, modos de falha e questões de responsabilidade distintas para times de CloudOps.
Essa distinção tem importância prática. Um pico de custo em storage e um pico de custo em compute exigem caminhos de investigação diferentes. Uma má configuração de networking e uma má configuração de banco de dados geram raios de impacto diferentes.
A categoria de serviço não é só taxonomia. É um ponto de partida para o diagnóstico.
Serviços de compute: máquinas virtuais, containers e funções serverless
Compute é onde nasce a maior parte do gasto em nuvem e onde o right-sizing tem o maior impacto imediato. Os três principais modelos de compute trazem trade-offs operacionais distintos.
Máquinas virtuais (VMs)
VMs — EC2 na AWS, Compute Engine no GCP, Azure Virtual Machines — são a unidade de compute mais conhecida e a fonte mais comum de desperdício por superprovisionamento.
Elas são cobradas por hora ou por segundo, conforme o tipo de instância, e ficam rodando esteja a workload usando-as ou não. Uma VM com 15% de uso de CPU por 30 dias não é margem de segurança. É um custo que não precisa estar ali.
As ferramentas nativas de right-sizing — AWS Compute Optimizer, Google Cloud Recommender, Azure Advisor — identificam instâncias subutilizadas e sugerem alternativas. O monitoramento contínuo capta o desvio entre as recomendações e o que de fato é provisionado.
Containers
Os containers, geralmente gerenciados via Kubernetes, trazem um desafio diferente. A unidade de custo migra da VM para o pod, mas a maioria das ferramentas de billing em nuvem não enxerga no nível do pod.
Um cluster pode parecer bem dimensionado no nível do nó enquanto containers individuais estão fortemente superprovisionados. Resource requests e limits mal configurados estão entre as fontes mais comuns de desperdício no Kubernetes — e são invisíveis para ferramentas que operam no nível da instância.
O Kubecost é o ponto de partida open source mais usado para visibilidade de custos no nível do pod. Para times que também precisam de recomendações automatizadas de right-sizing, ferramentas dedicadas de otimização de Kubernetes cobrem a lacuna que as ferramentas nativas de nuvem deixam.
Funções serverless
Serverless — AWS Lambda, Google Cloud Functions, Azure Functions — elimina o gerenciamento de VMs em troca de um modelo de custo diferente: pagamento por invocação e por GB-segundo de execução.
Isso torna os custos variáveis e, às vezes, surpreendentes. Uma função Lambda invocada 100 vezes acima do esperado pode gerar cobranças significativas em poucas horas. O desafio operacional muda do right-sizing para o monitoramento de invocações, o ajuste fino da alocação de memória e o controle de cadeias de gatilhos descontroladas antes que virem assunto na próxima conversa sobre faturamento.
Serviços de storage: object, block e file storage
Storage é onde os recursos órfãos se acumulam de forma mais silenciosa.
Engenheiros provisionam volumes, tiram snapshots, fazem upload de objetos. Quando a workload que esses recursos suportavam é desativada, o storage geralmente fica para trás. Continua gerando cobranças num valor pequeno o suficiente para ninguém notar, até alguém rodar uma auditoria de storage 18 meses depois e encontrar uma lista enorme de coisas que deveriam ter sido removidas há meses.
Object storage
Block storage
File storage
Padrão principal de desperdício
AWS
Amazon S3
Amazon EBS
Amazon EFS
Taxas de egress em alto volume de dados de saída
GCP
Google Cloud Storage
Google Persistent Disk
Google Filestore
Snapshots órfãos de instâncias encerradas
Azure
Azure Blob Storage
Azure Managed Disks
Azure Files
Discos gerenciados não anexados cobrados após exclusão da VM
Cobrança por
GB armazenados + requisições + egress
GB provisionados (usados ou não)
GB provisionados + operações de I/O
Block storage: volumes zumbis persistem em silêncio após exclusão da instância
Remediação
Lifecycle policies para mover de tier ou excluir objetos automaticamente
Limpeza automatizada de volumes não anexados acima de uma idade definida
Monitorar padrões de I/O; considerar Aurora I/O-Optimized para workloads de alto I/O
Incluir storage na política de tags; auditar volumes sem tags trimestralmente
Object storage
Object storage — Amazon S3, Google Cloud Storage, Azure Blob Storage — é cobrado por GB armazenado, mais cobranças por requisição e custos de transferência de dados. O custo de armazenamento em si costuma ser baixo.
A armadilha é o egress. A transferência de dados de um bucket S3 para a internet custa US$ 0,09/GB na AWS após a camada gratuita. Em arquiteturas em que aplicações puxam grandes volumes de dados entre regiões ou entregam conteúdo a usuários finais sem um CDN à frente, o egress pode dominar a linha de custo de storage.
Lifecycle policies que automaticamente movem objetos para tiers mais baratos — S3 Infrequent Access, Glacier — ou excluem dados expirados são a forma mais confiável de evitar acúmulo silencioso.
Block storage
Block storage — Amazon EBS, Google Persistent Disk, Azure Managed Disks — é cobrado independentemente de a instância à qual estava anexado ainda estar rodando.
Volumes órfãos são uma das fontes de desperdício silencioso de nuvem mais citadas em comunidades de profissionais. Eles aparecem em auditorias dedicadas de storage e em quase nenhum outro lugar. Um volume EBS pode ficar não anexado e gerando cobrança por meses antes de alguém perceber.
Políticas automatizadas de limpeza para volumes acima de uma idade definida e não anexados a instâncias em execução são a solução padrão. A política de tags ajuda a garantir que a limpeza seja atribuída corretamente.
File storage
File storage — Amazon EFS, Google Filestore, Azure Files — fornece acesso a sistemas de arquivos compartilhados para workloads que precisam disso.
É menos sujeito a superprovisionamento do que o block storage, mas pode gerar custos inesperados em ambientes de alto throughput, onde as cobranças por operações de I/O se acumulam. Vale monitorar em workloads com padrões pesados de leitura/escrita.
Serviços de networking: load balancers, CDNs e redes privadas virtuais
Networking é a categoria de custo mais subestimada em ambientes de nuvem.
A maioria dos times concentra esforço de otimização em compute e storage. Networking só é revisado quando aparece um pico no relatório de faturamento — o que normalmente é tarde demais para fazer muita coisa sobre o custo que já rolou.
Custos de transferência de dados
No início de 2026, a AWS cobra US$ 0,01/GB por transferência de dados entre Availability Zones na mesma região, aplicada em cada direção. Parece insignificante.
Não é. Uma arquitetura de microsserviços com 30 serviços fazendo chamadas frequentes entre AZs, ou um cluster Kafka gerando 30 MB/s de throughput, transforma esse US$ 0,01 em dinheiro de verdade rapidinho. Times relataram US$ 88 mil/ano em custos de networking na AWS apenas com transferência entre AZs em arquiteturas que não foram desenhadas pensando em localidade de dados.
GCP e Azure têm cobranças equivalentes para transferências entre zonas. O padrão é o mesmo nos três provedores.
Load balancers
Load balancers — Application Load Balancers na AWS, Cloud Load Balancing no GCP, Azure Load Balancer — são cobrados por hora, mais taxas de processamento de dados.
Load balancers ociosos atrelados a serviços desativados são outra fonte de desperdício silencioso. Raramente aparecem como um único item alto na fatura, mas vão se acumulando. Times com práticas maduras de custo incluem auditorias de load balancers nas revisões regulares, junto com compute e storage.
CDNs e VPNs
Redes de entrega de conteúdo (CDNs) — Amazon CloudFront, Google Cloud CDN, Azure CDN — reduzem custos de egress ao deslocar a transferência de dados das tarifas de egress do provedor para as tarifas de CDN, normalmente mais baixas. Para workloads que entregam conteúdo a usuários finais em escala, essa é uma das alavancas de custo de networking mais diretas disponíveis.
Opções de conectividade privada — AWS Direct Connect, Google Cloud Interconnect, Azure ExpressRoute — introduzem cobranças mensais de commitment, mas eliminam totalmente os custos de egress pela internet pública para workloads em que a banda é previsível. Em volumes suficientes, a conta costuma fechar a favor do commitment.
Serviços de banco de dados: relacionais, NoSQL e data warehouses
Os serviços de banco de dados abrangem a maior amplitude de complexidade de custo entre todas as categorias de infraestrutura.
Os modelos de precificação variam bastante entre os tipos. Os drivers de custo de um banco relacional são totalmente diferentes dos de um serviço NoSQL, e ambos são totalmente diferentes de um data warehouse. Errar o modelo em qualquer um deles cria problemas de custo difíceis de rastrear sem saber onde olhar.
Bancos de dados relacionais
Bancos relacionais gerenciados — Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL/MySQL — são cobrados por tamanho da instância, storage e operações de I/O.
Como as VMs, são alvos comuns de right-sizing. Uma instância RDS provisionada para um pico de carga que nunca chega pode ficar com 20% de utilização por anos sem disparar alertas. O Aurora Serverless na AWS escala a capacidade conforme o uso real, o que reduz bastante o desperdício em workloads com padrões de demanda imprevisíveis.
Bancos NoSQL
Serviços NoSQL — Amazon DynamoDB, Google Cloud Bigtable, Azure Cosmos DB — usam modelos de preço por consumo que podem ser eficientes para as workloads certas e surpreendentemente caros para as erradas.
O preço on-demand do DynamoDB elimina o planejamento de capacidade, mas pode ultrapassar bastante o custo da capacidade provisionada em altos volumes de requisições. Capacidade provisionada com auto-scaling funciona melhor para padrões previsíveis.
Errar a configuração em qualquer direção tem consequências imediatas no custo. Vale validar o modelo de preço com base nos padrões reais de tráfego antes de ir para produção.
Data warehouses
Data warehouses — Google BigQuery, Amazon Redshift, Snowflake — têm modelos de custo genuinamente distintos do restante da infraestrutura de nuvem.
O BigQuery cobra por TB de dados escaneados. Uma query que escaneia uma tabela inteira em vez de um subconjunto particionado pode custar de 50 a 100 vezes mais do que uma equivalente bem estruturada. Os custos do Snowflake são determinados pelo tamanho do warehouse, configurações de suspensão e consumo de créditos por job.
Não são problemas de otimização de infraestrutura. São problemas de query e de arquitetura de dados, que exigem ferramentas construídas especificamente para a camada do warehouse.
Plataformas genéricas de custo de nuvem mostram que o gasto com BigQuery subiu. Em geral, não conseguem mostrar qual query causou isso. Para times com gasto significativo em Snowflake, o PerfectScale for Snowflake oferece a visibilidade no nível da query e o right-sizing de warehouse que as ferramentas de nível de nuvem não alcançam.
Principais tipos de serviços de computação em nuvem e seus casos de uso em CloudOps
Além das categorias de infraestrutura, os serviços de nuvem são agrupados em três modelos de entrega: IaaS, PaaS e SaaS. O modelo determina quanto controle os times de CloudOps têm, como os custos se acumulam e quem é responsável pelo quê quando algo dá errado.
IaaS
PaaS
SaaS
Impacto em CloudOps
Você gerencia
SO, runtime, middleware, apps, dados
Apenas apps e dados
Nada — o provedor gerencia todas as camadas
Maior superfície de configuração, maior alavanca para otimização
O provedor gerencia
Hardware físico, virtualização, malha de rede
Hardware, SO, runtime, middleware
Tudo
Menos trabalho de ops por serviço, mas mais difícil de atribuir custos
Modelo de custo
Por instância/hora, GB de storage, transferência de dados
Por unidade de deployment, requisição ou consumo
Por seat ou tier de assinatura
IaaS é o mais granular para otimizar; SaaS exige auditoria de seats
Responsabilidade por incidentes
CloudOps responde do SO para cima
Compartilhada: provedor responde pela infra, time pela aplicação
Provedor responde pela disponibilidade; time pela integração e configuração
Limites claros de responsabilidade reduzem o tempo de resposta a incidentes
Exemplos AWS
EC2, EBS, VPC, S3
Elastic Beanstalk, EKS, Lambda
Datadog, Snowflake, PagerDuty
Infrastructure as a Service (IaaS) para operações escaláveis
IaaS é a camada fundamental. O provedor de nuvem gerencia hardware físico, virtualização e malha de rede. Você gerencia tudo acima disso: SO, middleware, runtime, dados e aplicações. Instâncias EC2, volumes EBS, VPCs — tudo isso é IaaS.
Para times de CloudOps, IaaS é onde está o maior controle operacional e também a maior responsabilidade operacional. Você decide o tipo de instância, a configuração de storage, a topologia de rede.
Quando algo dá errado, é o seu time que conduz a investigação a partir do SO. Quando os custos saem do esperado, a causa quase sempre está em escolhas de configuração feitas pelo seu time — o que significa que a correção também está aí.
IaaS dá flexibilidade para rodar qualquer coisa. Também dá a maior superfície para má configuração, superprovisionamento e desvio de custos. A maioria das estratégias de otimização de custos em nuvem — right-sizing, precificação por commitment, lifecycle policies — são problemas de IaaS.
Platform as a Service (PaaS) para deployment e gestão de aplicações
PaaS abstrai a camada de infraestrutura. O provedor gerencia o SO, o runtime e o middleware. Você traz o código da aplicação e os dados. Google App Engine, AWS Elastic Beanstalk, Azure App Service e serviços gerenciados de Kubernetes como GKE, EKS e AKS estão todos nessa categoria.
Para times de CloudOps, PaaS reduz a superfície operacional de infraestrutura, mas não elimina a complexidade de custo. Kubernetes gerenciado é o exemplo mais claro: você não cuida do control plane, mas ainda é responsável pelo dimensionamento dos node pools, pela configuração de autoscaling e pelos resource requests dos containers.
A responsabilidade operacional sobe na pilha — não desaparece.
PaaS também cria desafios de visibilidade de custos. Como a infraestrutura é abstraída, fica mais difícil atribuir gasto a times ou workloads específicos sem tagging deliberado e showback. Um serviço gerenciado que aparece como um único item de fatura pode estar atendendo dezenas de times de aplicação com padrões de uso bem diferentes.
Gestão de custos de SaaS e visibilidade de shadow IT
SaaS é o modelo mais abstrato. O provedor gerencia tudo, inclusive a aplicação. Você consome via navegador ou API. Datadog, Snowflake, PagerDuty e as dezenas de ferramentas de desenvolvedor que os times de engenharia adotam — tudo SaaS.
Times de CloudOps normalmente não pensam em SaaS como seu domínio. Mas o gasto com SaaS se tornou uma parte significativa, e muitas vezes mal governada, dos orçamentos de infraestrutura de nuvem.
Alguns padrões aparecem com frequência em comunidades de profissionais:
- Adoção de shadow SaaS: times de engenharia assinam ferramentas por conta própria, muitas vezes em cartões de crédito pessoais ou do time, sem visibilidade de Procurement. Essas assinaturas não aparecem nos relatórios de faturamento de nuvem, não são tagueadas e não passam pelos ciclos de otimização de custos. Vão se acumulando silenciosamente.
- Capacidades sobrepostas: as organizações pagam frequentemente por várias ferramentas que resolvem o mesmo problema — três plataformas de APM diferentes, dois agregadores de log, uma ferramenta de monitoramento que duplica o monitoramento nativo da nuvem. Racionalizar a stack de SaaS costuma trazer ganho de custo mais rápido do que qualquer esforço de right-sizing de infraestrutura.
- Licenças de seats não utilizadas: ferramentas SaaS são tipicamente licenciadas por seat. Quando funcionários saem ou times trocam de ferramenta, as licenças muitas vezes continuam ativas. Auditorias regulares de usuários ativos versus licenciados em ferramentas SaaS de alto custo são uma fonte direta de economia.
A questão de governança não é se os times de CloudOps deveriam gerenciar gasto com SaaS. A maioria dos times não tem esse mandato.
É se o gasto com SaaS é trazido à tona junto com o gasto de infraestrutura, para que o custo total de operar a engenharia fique visível para quem toma as decisões de adoção de ferramentas. Essa visibilidade muda o comportamento.
Como os serviços de computação em nuvem dão suporte aos fluxos de CloudOps
Conhecer as categorias é a parte fácil. A parte mais difícil é saber qual camada de serviço é relevante para qual problema operacional.
Monitoramento, resposta a incidentes, planejamento de capacidade e accountability de custo se manifestam de forma diferente conforme o lugar da pilha em que o problema está.
Escalonamento automatizado e gestão de recursos
Todo grande provedor de nuvem oferece autoscaling na camada de compute. AWS Auto Scaling Groups, Google Cloud Managed Instance Groups e Azure VM Scale Sets cuidam do escalonamento horizontal de workloads em VMs. Kubernetes Horizontal Pod Autoscaler e Cluster Autoscaler cuidam de workloads em containers.
O autoscaling reduz o custo de superprovisionar para picos. Em vez de rodar continuamente em capacidade máxima, os recursos sobem quando a demanda chega e descem quando ela passa.
O detalhe é que as políticas precisam ser bem ajustadas. Limiares de scale-up muito conservadores causam degradação de performance. Limiares de scale-down muito agressivos causam flapping. Configurações de proteção contra scale-in que nunca são revisadas geram instâncias que nunca são encerradas.
O autoscaling também é onde nascem algumas das contas de nuvem mais surpreendentes. Um gatilho mal configurado que faz uma frota escalar até a capacidade máxima e ficar lá, especialmente em ambiente de dev ou staging, pode gerar cobranças significativas antes de alguém perceber. Monitorar eventos de autoscaling como parte da detecção de anomalias de custo é um acréscimo válido a qualquer setup de monitoramento de CloudOps.
Integração de monitoramento, logging e observabilidade
As ferramentas nativas de observabilidade cobrem o básico em todas as camadas de serviço. Amazon CloudWatch, Google Cloud Monitoring e Azure Monitor cuidam de métricas, logs e alertas dentro de suas respectivas nuvens. Para ambientes single-cloud, as ferramentas nativas costumam ser suficientes.
Ambientes multi-cloud trazem um problema de fragmentação. Três nuvens significam três consoles de monitoramento, três sistemas de roteamento de alertas e três pipelines de agregação de logs. A correlação entre provedores — "esse pico do AWS Lambda está ligado a esse backlog do GCP Pub/Sub" — vira um exercício manual em vez de automatizado.
A camada de observabilidade também cruza diretamente com a atribuição de custos. Logs e métricas dizem o que está acontecendo. Tags dizem quem é o responsável.
Quando a cobertura de tags é incompleta, mesmo dados de monitoramento excelentes não conseguem dizer qual time ou workload é responsável por uma anomalia. Por isso, a aplicação de tags faz parte da estratégia de observabilidade — não é algo separado.
Alocação de custos e accountability financeira entre serviços
Alocação de custos é o problema organizacional que está na base de todos os técnicos.
Você pode fazer right-sizing de cada instância, otimizar cada Savings Plans e ajustar cada política de autoscaling, e ainda assim não ter como dizer ao financeiro qual time gastou US$ 40 mil mês passado, ou por quê.
Uma alocação de custos eficaz exige três coisas funcionando juntas: tagging consistente de recursos em todos os provedores (no mínimo time, ambiente, aplicação e centro de custo); exportação de billing para um repositório consultável (AWS Cost and Usage Report para o S3, exportação de billing do GCP para o BigQuery, exportações do Azure Cost Management para o Azure Storage); e uma camada que mapeia o gasto para o contexto organizacional que financeiro e engenharia realmente entendem.
As ferramentas nativas de billing mostram gasto por serviço e por tag. Não mostram gasto por produto, por cliente ou por unidade de negócio sem trabalho customizado. É nessa lacuna que a maioria dos times trava.
A plataforma de CloudOps da DoiT oferece a camada de visibilidade e atribuição entre serviços que torna os dados de custo acionáveis para quem toma as decisões de infraestrutura, não só para quem lê o console de billing.
Boas práticas para selecionar e integrar serviços de computação em nuvem em CloudOps
A seleção de serviços em ambientes de nuvem raramente é uma decisão puramente técnica.
A complexidade operacional que um serviço introduz, a previsibilidade dos seus custos e o impacto na carga cognitiva do time importam tanto quanto o conjunto de funcionalidades. As perguntas que os times deveriam fazer antes de adotar um serviço são diferentes das perguntas que a maioria de fato faz.
Passo 1: avalie os serviços quanto à complexidade operacional e ao impacto no custo
Antes de adotar um novo serviço de nuvem, times de CloudOps que gerenciam bem os custos fazem um conjunto consistente de perguntas. Nem todas são técnicas:
- Qual é o modelo de preço e qual o pior cenário de custo? Serviços baseados em uso, como BigQuery e Lambda, podem gerar contas surpreendentes sob padrões de carga inesperados. Conheça o teto antes que o teto te surpreenda.
- Quais são as implicações de egress? Levar dados para dentro de um serviço de nuvem normalmente é grátis. Tirá-los — para a internet, outra região ou outro provedor — em geral não é. Serviços que criam padrões de alto egress podem dominar a linha de custo de networking.
- Como é, na prática, uma falha desse serviço? Um banco gerenciado ficar indisponível é um incidente diferente de uma função serverless com cold start lento. Entender os modos de falha ajuda os times a desenhar monitoramento e alertas antes que precisem deles.
- Quem é o dono e como os custos serão atribuídos? Um serviço sem dono claro tende a virar um item sem tag que ninguém investiga quando cresce. Estabelecer responsabilidade antes da adoção evita a lacuna de governança que cria infraestrutura zumbi.
- Esse serviço se sobrepõe a algo que você já tem? Antes de adotar um novo serviço de observabilidade, logging ou analytics, verifique se ferramentas existentes já cobrem o caso de uso. O sprawl de SaaS e PaaS muitas vezes vem de decisões de adoção tomadas isoladamente.
Passo 2: construa estratégias de integração de serviços que escalem
Serviços de nuvem não operam isoladamente. Uma camada de compute depende de storage. Uma aplicação depende de um banco de dados. Um sistema de monitoramento depende de logs de tudo isso.
A forma como essas integrações são desenhadas tem implicações diretas em custo, confiabilidade e complexidade operacional. Alguns padrões consistentemente criam problemas em escala:
- Dependências de dados entre regiões: uma aplicação em us-east-1 que lê de um banco em us-west-2 paga custos de transferência de dados entre regiões em cada query. Em aplicações de alto throughput, isso acumula rápido. Desenhar pensando em localidade de dados — manter compute e storage na mesma região quando possível — é uma das decisões arquiteturais de maior alavanca para o controle de custo de networking.
- Cadeias síncronas entre serviços: arquiteturas de microsserviços que encadeiam chamadas HTTP síncronas entre serviços multiplicam latência, criam risco de falha em cascata e geram custos de transferência de dados entre serviços. Padrões de mensageria assíncrona usando filas gerenciadas (Amazon SQS, Google Cloud Pub/Sub, Azure Service Bus) reduzem tanto o risco de confiabilidade quanto o overhead de networking.
- Sprawl de serviços não gerenciados: cada novo serviço na stack é uma coisa nova para monitorar, taguear, alertar e atribuir custos. Adicionar serviços é fácil. Construir o contexto operacional ao redor deles — responsabilidade, monitoramento, tagging, runbooks — leva tempo. Times de CloudOps que escalam bem são deliberados em limitar o sprawl e aposentar serviços que já não justificam o overhead operacional.
Passo 3: estabeleça governança sem desacelerar os times de desenvolvimento
Governança em ambientes de nuvem tem um problema de reputação.
Quando é implementada como aprovações manuais e checklists burocráticos, atrasa os times e acaba sendo contornada. Quando é implementada como política automatizada — aplicação de tags, alertas de orçamento, atribuição de custos — roda em segundo plano e não atrapalha ninguém.
Os padrões de governança que de fato se sustentam são aqueles em que os desenvolvedores não precisam pensar:
- Políticas de tags aplicadas no momento do provisionamento via AWS Tag Policies, GCP Organization Policy ou Azure Policy fazem com que recursos sem tag não possam ser criados — em vez de serem criados e limpos depois.
- Alertas de orçamento direcionados a times e centros de custo vão para os engenheiros responsáveis pelo gasto, não para uma caixa central de ops que ninguém checa.
- Políticas automatizadas de shutdown para ambientes não produtivos rodam por agendamento, em vez de depender de engenheiros lembrarem de desligar as coisas. Ambientes de dev e teste que não rodam à noite e nos fins de semana costumam economizar de 50% a 70% do custo de compute, sem impacto na produtividade.
- Visibilidade de custo embutida nos workflows de pull request — mostrando a estimativa de mudança de custo de infraestrutura junto com as mudanças de código — leva a accountability financeira para dentro do processo de desenvolvimento, em vez de tratá-la como preocupação pós-deploy.
O desafio não é saber como é uma boa governança. A maioria dos líderes de CloudOps consegue descrever isso com clareza. O desafio é implementá-la em vários provedores de nuvem, vários times e várias camadas de serviço sem ter que construir e manter uma stack de ferramentas customizadas para isso.
É esse o problema que a plataforma da DoiT foi feita para resolver: aplicação de tags entre provedores, detecção de anomalias, atribuição de custos e recomendações de right-sizing em um só lugar, sem que os times precisem construir essa infraestrutura por conta própria.
Maximizando a eficiência de CloudOps por meio da gestão estratégica de serviços de nuvem
A complexidade operacional dos serviços de computação em nuvem não diminui à medida que a infraestrutura cresce. Ela se acumula.
Mais serviços significam mais superfícies de monitoramento, mais requisitos de atribuição de custos, mais pontos de governança e mais modos de falha para entender.
Os times que gerenciam isso bem não são os com mais engenheiros. São os que construíram sistemas que lhes dão alavancagem. Essa alavancagem vem de algumas práticas consistentes:
- Visibilidade antes da otimização: você não consegue fazer right-sizing do que não enxerga e não consegue atribuir custos que não tagueou. Investir em infraestrutura de observabilidade e atribuição de custos paga retornos compostos à medida que o ambiente escala.
- Automação em vez de processos manuais: revisões manuais de custo, auditorias manuais de tags e avaliações manuais de right-sizing não escalam com a infraestrutura. Times que automatizam detecção de anomalias, aplicação de tags e remediação rotineira liberam os engenheiros para o trabalho que de fato exige julgamento.
- Disciplina na seleção de serviços: o melhor momento para perguntar "como vamos operar e atribuir o custo desse serviço?" é antes de adotá-lo, não depois de seis meses rodando e gerando gasto sem tag.
- Processo em vez de projetos: otimização de custos em nuvem e governança de infraestrutura não são esforços pontuais. São práticas operacionais contínuas. Times que as incorporam ao planejamento de sprint, às revisões de arquitetura e aos postmortems sustentam os ganhos. Times que tratam isso como projeto se veem recomeçando do zero a cada poucos meses.
O resultado prático é resolução mais rápida de incidentes, custos mais previsíveis e a capacidade de escalar a infraestrutura sem escalar proporcionalmente o time que a gerencia.
Se quiser ver como outros times de CloudOps abordaram isso, fale com o time da DoiT.