Aula sobre o que é DevOps e como desenvolver ações para construir a mudança de cultura e algumas ferramentas e processos que apoiam nessa mudança.
Aula da no Ciclo Formativo do PretaLab em Parceria com o MinasProgramam.
(UMESP, 13), pós-graduada em Gestão Pública (FESPSP, 2015), Facilitadora/instrutora do #MinasProgramam e das comunidades #WWGSP e #DevsJavaGirl, Consultora de software na ThoughtWorks. Menina e mulher de família simples de cor da região periférica de SP Deixem me apresentar
entrega em Produção Ambiente automatizado e/ou na Cloud DevOps Job Description Processo, Produto e/ou Software Algo que possa ser comprado ou dado Ter um pipeline
e Segurança desde do princípio Todos são responsáveis pelo processo de entrega Princípios de entrega de software 1 Faça controle de versão de tudo Faça coisas difíceis com frequência e sofra menos Pronto é versão entregue em produção Melhoria Contínua
juntar com frequência alterações de código no repositório central/principal, testes são executados para obter feedback rápido sobre a qualidade de uma implementação, originando um processo cultural por um time, num processo automatizado manifestado por um Pipeline.
avaliação de qualidade de uma implementação integrada ao um repositório central/principal. E idealmente é interessante considerar as seguintes elementares etapas: • Build (Construção do pacote de entrega) • Lint (Análise estática, sintaxe e qualidade de código) • Testes de Unidade (ou Unitários) • Testes de Integração (ou Funcionais) • Testes E2E (Jornada do Usuário ou Fim-a-Fim) • Deployment (Entrega em Produção)
a prática de ter pacotes entregáveis funcionais em pequenos ciclos de desenvolvimento para disponibilização em qualquer ambiente/servidor (development, staging, production)
uma abordagem na qual os times de desenvolvimento e operação lançam produtos e serviços de forma frequente, previsível e automatizada. Em vez de fazer grandes entregas de uma vez, fazem várias pequenas e rápidas, reduzindo as chances de erros.
cliente • Responsividade com o mercado • Feedbacks mais cedo e rápido da experiência do cliente • Ajuste de estratégia para o melhor caminho para o produto • Desenvolvimento muito mais rápido do time • Times se tornam mais eficientes
time • Esteja sempre disponível para aprender e ensinar • Dê e peça feedbacks para as pessoas do seu time • Foque no objetivo das atividades, não nas ferramentas e o que elas fazem • Esteja aberta a aprender novos métodos, processos e tecnologias • Discuta sempre com o time o que poderia ser feito para melhorar
e demonstre que é uma aliada • Entenda o valor das suas entregas no negócio • Esteja presente ou ciente quando algo fica disponível para o cliente • Procure entender o papel das pessoas do seu time e converse para saber o que pode ser feito por você e a outra pessoa para melhorar o processo de entrega • Entendam os porquês da escolha de ferramentas e processos
desenvolvimento, tente diminuir os riscos de um deploy em produção • Procure trazer os problemas e preocupações que enfrentados quando algo é colocado em produção e alinhe estratégias para evitar e diminuir instabilidades • Nunca culpe outros times por algo que não foi feito com êxito, todos devem focar no problema e aprender com isso • Entenda que sem a infra, a entrega da deva não entrega valor para o cliente e vice versa
alinhar quais são as necessidades das sua entrega quando estiver disponível em produção, • Se possível crie uma configuração necessária e defina uma estratégia deploy em conjunto com operações • Tente definir como “pronto” quando está disponível entregando valor para o cliente
valor de negócio com as outras pessoas do time, riscos, ganho e valor para cada pequena entrega feita • Se aproxime das pessoas que estão na linha de frente da entrega quando possível • Acompanhe o deploy em produção e deixe transparente o sucesso das entregas do time, seja de quem for, deva, infra, etc • Proporcione momentos de retrospectiva para comemorar pequenas vitórias e identificar pontos de melhoria pelo time
Entenda a cultura, tente identificar quais valores que fazem sentido para você e no papel que desempenha • Foque nas pessoas e tente entender o valor delas no contexto • Estude agilidade • Incorpore uma postura de auto-desenvolvimento e melhoria contínuos • Ajude as pessoas a se desenvolverem e entrar num estado constante de colaboração • Leia sobre cases de sucesso e entenda como e porque foram bem sucedidas
Entenda os objetivos e o resultado de atividades, não as ferramentas • Procure estudar ferramentas que atinjam o objetivo do Devops de forma simples, por exemplo, o que é necessário para fazer CI e CD • Use seu background como fortaleza, se já conhece alguma tecnologia, linguagem de programação, banco de dados, identifique como isso pode ser feito da melhor forma com DevOps
que significa integração Contínua: https://aws.amazon.com/pt/devops/continuous-integration/ A Short History Lesson in DevOps - And Where It’s Going: https://dzone.com/articles/a-short-history-lesson-in-devops-and-where-its-goi-1 Manifesto Ágil: https://www.manifestoagil.com.br/ Entrega Contínua: O que é e como aplicar: https://www.opus-software.com.br/o-que-e-entrega-continua/ Quatro métricas fundamentais - Tech Radar Vol. 23: https://www.thoughtworks.com/pt/radar/techniques/four-key-metrics#:~:text=Os%20pesquisadores%20dete rminaram%20que%20apenas,porcentagem%20de%20falha%20de%20altera%C3%A7%C3%A3o. Periodic Table of DevOps Tool: https://digital.ai/periodic-table-of-devops-tools