Trabalhando com Cloud desde 2009, com Continuous Integration desde 2007 e Continuous Deploy há alguns anos, eu gostaria de compartilhar um pouco sobre o que é DevOps para a Mandic. Em vez de definições genéricas, vamos na linha do Opinionated Software.
O que é DevOps:
- É ter a certeza que os servidores criados automaticamente já nascerão monitorados
- É utilizar provisionadores como Ansible, Chef ou Puppet para ter sua infraestrutura testável, como código
- É ter o cuidado de versionar e testar suas receitas assim como seu código de aplicação
- É conceber uma arquitetura já pensando nos componentes que irão falhar (todos) e como tolerar estas falhas
- É pensar desde o começo em como aquele código vai sair do controle de versão e ser atualizado em dezenas/centenas de servidores
- É pensar em todos os perfis de teste que podemos automatizar numa determinada aplicação
- É implementar um deploy automatizado que te permite criar múltiplos servidores por dia sem intervenção manual
- É monitorar não somente servidores e serviços, mas também a performance de aplicações e as métricas de negócio
- É dimensionar os servidores de Produção após testes de carga iterativos com análise de métricas e rodadas de otimização
- É dimensionar os servidores de Produção com tamanhos pequenos e explorar escalabilidade horizontal
- É saber que sua arquitetura pode usar bastante mensageria e processamento assíncrono
- É saber que temos centenas de Bancos de Dados à disposição, não somente aquele seu banco enterprise caro que não tolera particionamento
O que NÃO é DevOps:
- Adicionar servidores manualmente no monitoramento
- Falar que na minha máquina funciona
- Editar arquivos diretamente no servidor de Produção: isso se chama Go Horse!?
- Fazer backups manuais e só usando a funcionalidade automática de backup do seu provedor de infraestrutura
- Fazer Backup e não validar o Restore!
- Escrever logs no seu banco relacional
- Ser avisado pela equipe de Marketing que sua aplicação caiu
- Conectar individualmente em cada servidor para analisar logs visualmente
Eu poderia escrever centenas de itens em cada seção destas, mas que tal pedir a outros DevOps que contribuam com esta lista?
Vamos compilar novos itens e publicar uma versão desta lista! 😉
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.