Atualmente, temos acesso aos sandboxes dos três principais provedores de cloud (Google Cloud, Microsoft Azure e AWS). Este guia tem como objetivo servir de apoio na criação e manutenção de projetos nesses ambientes, garantindo eficiência, segurança e controle de custos.


📈 Recomendações Gerais

1. Controle de Custos

Ao trabalhar com cloud, é essencial considerar que toda operação e desenvolvimento geram custos. Para evitar surpresas e garantir previsibilidade, é fundamental partir de uma arquitetura pré-definida e adotar boas práticas de controle financeiro.

A seguir, destacamos algumas estratégias adotadas nos projetos da Atos para otimização de custos:

1.1 ⚠️ Estabelecimento de Orçamentos e Alertas

Todas as plataformas cloud oferecem serviços para criação de orçamentos e alertas de consumo. Recomenda-se configurar esses alertas assim que um novo projeto é iniciado. Isso permite a detecção rápida de recursos criados erroneamente ou problemas em implantações que possam gerar custos inesperados.

🔧 Boas práticas:

  • Fazer uma estimativa de gasto diário, semanal, mensal baseado no custo do serviço, nesse primeiro momento não precisamos ter tanto apreço a estimativa.

  • Configurar orçamentos diários, semanais, quinzenais com base na estimativa para evitar estouro de custos no final do mês.

  • Sempre configurar alertas com valores escalonados para acompanhar a evolução dos gastos.

    • Exemplo: Se a previsão de gasto diário para um banco de dados é de US$ 20, criar alertas para US$ 10, US$ 20 e US$ 30.

1.2 📊 Acompanhamento Regular de Custos

Mesmo com alertas configurados, é recomendável monitorar regularmente os custos para evitar cobranças inesperadas.

🔧 Boas práticas:

  • Realizar um acompanhamento diário dos custos gerados, a ideia não é perder tempo com isso e sim procurar anomalias nos gastos.
  • Semanalmente é interessante verificar se os gastos estão fazendo sentido com o consumo.
  • Caso necessário, utilizar dashboards de billing das clouds para insights mais detalhados.

1.3 📂 Classificação de Recursos

A classificação correta dos recursos é essencial para facilitar o monitoramento e a alocação de custos, especialmente quando se trabalha com múltiplos projetos simultâneos.

🔧 Boas práticas:

  • Utilizar tags padronizadas para monitoramento e alocação de custos.

  • Adotar pelo menos essas duas tags obrigatórias em todos os projetos:

    • project: Nome do projeto.
    • user: Nome do criador do recurso.
  • Definir convenções de nomenclatura para facilitar a identificação, geralmente com o nome do projeto, do serviço e do status, por exemplo:

    • banrisul-datastore-dev ou cemig-functionapp-prod

2. Princípio do Menor Privilégio (Least Privilege)

A segurança dos ambientes cloud depende diretamente da correta configuração de permissões e acessos. Seguimos o princípio do menor privilégio (Least Privilege), garantindo que cada usuário, serviço ou recurso tenha apenas as permissões estritamente necessárias para desempenhar sua função.

2.1 ✅ Diretrizes para Implementação

🔧 Boas práticas:

  • Utilizar papéis e grupos predefinidos: Evitar permissões individuais e usar papéis com padrões de segurança.
  • Evitar permissões irrestritas: Funções administrativas globais, como Owner ou Admin, devem ser evitadas a todo custo.
  • Aplicar Just-In-Time Access: Caso seja necessário as permissões irrestritas, o ideal é conceder acesso privilegiado por tempo limitado.

Com esses passos simples de serem implementados conseguimos mitigar muitos problemas sérios que podem vir a acontecer. Lembrando que sempre devemos seguir as recomendações do serviço/cliente que estamos atuando.


3. 🛡️ Monitoramento

O último ponto deste guia é sobre monitoramento, manter a visibilidade sobre a utilização dos recursos na cloud é essencial para detectar falhas, anomalias de desempenho e ameaças à segurança.

Ativar logs e monitoramento permite diagnosticar problemas rapidamente e reduzir os tempos de correção de incidentes.

3.1 Ativação e Coleta de Logs e Métricas

  • Ativação de Logs: Sempre que for utilizar um serviço verifique se os logs de atividade estão habilitados, isso facilita na hora da correção de bugs, auditorias e troubleshooting.
  • Coleta de Métricas: A partir dos logs existem serviços automáticos de monitoramento de uso de recursos, memória, latência entre outros. O ideal é criar alertas ou verificar esses serviços regularmente.

Recomendações Específicas por Provedor

Nesta seção, a ideia é adaptar as recomendações gerais para cada um dos principais provedores de cloud, nomeando os serviços específicos para cada uma das tarefas.

2.1 AWS

2.1.1 Controle de Custos

Para fazer um controle de custos dentro da AWS nós temos uma plataforma chamada Billing and Cost Management que comporta diversos serviços, dentro dela utilizaremos dois deles, o AWS Budgets e o Cost Explorer.

Para definir orçamentos e alertas utilizaremos o AWS Budgets, basta acessar o serviço como na imagem abaixo:

Seguindo a tela, clicando create budget vamos ter algumas opções, podemos fazer a configuração usando o template simplificado, porém o ideal é usar o avançado/custom.

Selecionando o modelo custom, nós temos as seguintes opções:

Como podemos ver, temos alguns tipos de budgets types. O ideal é configurar o Cost Budget com alertas diarios.

2.1.2 Princípio do Menor Privilégio

  • IAM (Identity and Access Management): Utilize roles, grupos e políticas predefinidas para garantir que os usuários tenham apenas as permissões necessárias.

2.1.3 Estratégias de Monitoramento

  • CloudWatch: Configure a coleta de métricas, logs e alarmes para monitorar os recursos e detectar anomalias.
  • CloudTrail: Ative para registrar e auditar todas as ações realizadas na infraestrutura.
  • X-Ray: Utilize para rastreamento de aplicações e identificação de gargalos.