Treinamento escrito de DevOps
Como promover o aprendizado organizacional a partir do trabalho diário de DevOps?
Um dos principais princípios do DevOps é aprender continuamente com o trabalho diário e transformar esse aprendizado em recursos reutilizáveis para toda a organização.
Use salas de bate-papo para disseminar conhecimento
Use salas de bate-papo para registrar e criar conhecimento na organização. Integre bots às salas para realizar tarefas operacionais rapidamente. Por exemplo, a mensagem abaixo pode pedir ao bot que instale a aplicação FrontEndApp no ambiente TestServer-9 e mostre o resultado do comando na própria sala, como se você o tivesse executado na linha de comando.
@bot install FrontEndApp TestServer-9
Com esse mecanismo, todos na equipe conseguem se atualizar rapidamente sobre o andamento do trabalho. Nenhuma informação fica perdida em mensagens privadas ou e-mails. Isso promove uma cultura de colaboração e transparência e é uma maneira eficaz de transformar conhecimento local em aprendizado organizacional.
Salas de bate-papo compartilhadas também aceleram a integração de quem acaba de entrar na equipe DevOps ou na empresa. Essas pessoas podem acompanhar boa parte de como as equipes trabalham. Considere usar salas diferentes para produtos, serviços, componentes, ferramentas, bibliotecas ou integrações. Assim, fica mais fácil pesquisar atividades anteriores relacionadas a um elemento específico do sistema.
Priorize recursos executáveis em relação à documentação
Sempre que possível, transforme seus conhecimentos e sua experiência em padrões e processos executáveis, em vez de registrá-los apenas em documentos ou wikis. Uma das melhores maneiras de criar e compartilhar conhecimento é criar uma ferramenta reutilizável e guardá-la no controle de versão, onde qualquer pessoa que precise dela pode encontrá-la. Documentos estáticos podem ser interpretados de maneiras diferentes ou incorretas. Ao expressar um padrão e uma forma de trabalhar em código executável, você agiliza e simplifica o trabalho. O código também ajuda a organização DevOps a passar por verificações de auditoria e conformidade, desde que seja acompanhado de uma breve documentação sobre como executa o processo a ser avaliado.
Para trabalhos, processos e padrões que não podem ser automatizados, crie histórias de usuário reutilizáveis com etapas claras e distintas e uma lista de verificação. Assim, todos na organização DevOps podem reutilizar esses recursos, e equipes diferentes podem realizar trabalhos semelhantes de forma consistente. As equipes podem melhorar esses recursos da mesma forma que revisam, reutilizam e melhoram bibliotecas de código.
Crie modelos de software reutilizáveis
Crie modelos prontos para uso para componentes, aplicações, serviços e microsserviços, com requisitos não funcionais incorporados ao projeto. Assim, os desenvolvedores não precisam tratar desses requisitos toda vez que escrevem código novo.
A organização terá um conjunto consistente de requisitos não funcionais implementados em todas as camadas das aplicações. Essas implementações integradas também facilitam a implantação, o monitoramento, o diagnóstico de problemas e a operação do software nas plataformas de teste e produção. Alguns exemplos são:
- Métricas de telemetria.
- Configurações em tempo de execução.
- Chaves de ativação de funcionalidades.
- Capacidade de acompanhar dependências.
- Capacidade de rastrear solicitações iniciadas pelos usuários.
- Serviços resilientes e tolerantes a falhas.
- Serviços que podem operar com funcionalidade reduzida, de forma controlada, sob demanda.
- Capacidade de pesquisar mensagens de log.
- Compatibilidade com versões anteriores e futuras.
- Arquivamento de dados e gestão de conjuntos de dados de produção.
- Gerenciamento e arquivamento de logs.
Inclua testes automatizados abrangentes nos modelos de código. Eles esclarecem a finalidade do código e mostram a melhor forma de reutilizá-lo. Também aceleram a criação de testes automatizados para aplicações personalizadas criadas a partir dos modelos.
Use um único repositório de código
Para que todos tenham acesso ao trabalho e ao aprendizado, armazene em um único repositório o código-fonte, as ferramentas de implantação, o código para criar e executar o pipeline, os testes automatizados, o código para criar e integrar telemetria, os padrões, os tutoriais, a documentação, os wikis, as ferramentas de apoio e os padrões de configuração das plataformas.
Assim, todos os recursos ficam visíveis para toda a organização DevOps. Evitam-se duplicações e versões múltiplas dos mesmos artefatos, componentes e ferramentas de terceiros. Um único repositório também permite compilar, vincular e montar tudo em tempo de execução e usar a versão mais recente de tudo ao desenvolver, testar e implantar o software.
Adote padrões tecnológicos e mantenha a flexibilidade
Para que todos na equipe DevOps consigam ler, revisar e corrigir o código dos colegas, defina padrões tecnológicos comuns que possam ser aprendidos e usados pelas equipes de desenvolvimento e operações. Use uma linguagem compilada, uma linguagem de script e uma linguagem para interfaces gráficas. Ao mesmo tempo, deixe todos explorarem as tecnologias que os interessam para que a equipe continue aprendendo e experimentando. Como sua próxima inovação vai se destacar sem explorar e testar novas possibilidades?
CONCLUSÃO
Neste capítulo, resumimos técnicas DevOps amplamente aceitas que permitem à organização aprender e criar recursos enquanto realiza o trabalho diário. Com esses métodos, o conhecimento e a experiência acumulados em toda a organização DevOps reforçam a competência profissional e a qualidade do trabalho de cada integrante.
Boa sorte na sua jornada em DevOps!
