Baixe o app para aproveitar ainda mais
Prévia do material em texto
WBA1128_v1.0 Entrega e implantação contínua (DevOps) Introdução aos fundamentos de entrega contínua, implantação contínua (DevOps) e conceitos de CI/CD Identificar os fundamentos de entrega e implantação contínuas (DevOps) Bloco 1 Marco Ikuro Hisatomi Velocidade de resposta da TI Conforme mostrado por Willis (2016), a história registra maior velocidade de entrega, menores custos e baixo nível de riscos, ao longo de três eras da TI. Antes de 1980 1990 2000 até hoje Ciclo de vida Até 5 anos Até 12 meses Até 12 semanas Era Mainframes Client/Server Comoditização e Cloud Custo Até 100 mi Até 10 mi Até 1 mi Sob riscos Organização Departamento Funcionalidade do software Custo da falha Falência ou demissão em massa Emprego do CIO ou perda de receita Insignificante Fonte: adaptada de Willis (2016, p. 23). Tabela 1 – Comparativo da aceleração das entregas Optar pelo ritmo do mercado competitivo As modernas empresas de softwares estão acompanhando a mesma agilidade das organizações não tradicionais, para Motta (2001), em Transformação organizacional, as novidades devem atender, de alguma forma a: • Versatilidade da clientela. • Vulnerabilidade de mercado. • Variação tecnológica. • Intensidade da competição. • Sistema dinâmico. Figura 1 – A decisão é continuar Fonte: Anyaberkut/iStock.com. Fundamentos do DevOps • Controlar a velocidade da implementação de adaptações, inovações e reduções. • Manter e melhorar a qualidade na operação e no desenvolvimento. • Estimular a ótima Comunicação e a Cultura DevOps. DevOps Mudanças Criações Reutilizações Introdução aos fundamentos de entrega contínua, implantação contínua (DevOps) e conceitos de CI/CD Identificar os fundamentos de entrega e implantação contínuas (DevOps) Bloco 2 Marco Ikuro Hisatomi Pilares do DevOps DevOps Colaboração Afinidade Ferramentas Escala Praticar os princípios para obter valores Segundo Freeman (2019): • Incentive o trabalho em equipe. • Reduza silos (compartilhe). • Pratique o pensamento sistêmico (a equipe faz parte do todo). • Abrace o fracasso (a lentidão traz mais prejuízo que pequenos fracassos). • Comunique, comunique, comunique. • Aceite feedback. • Automatize processos (quando apropriado). Expertises interfuncionais QA – controle de qualidade. Operadores de TI. Infosec – Segurança. Time de desenvolvimento. Clientes e usuários.A m p lia n d o o c o n h e ci m e n to o rg an iz ac io n al Áreas correlacionadas Desenvolvimento de software Garantia da qualidade Operações e infraestrutura Introdução aos fundamentos de entrega contínua, implantação contínua (DevOps) e conceitos de CI/CD Identificar os fundamentos de entrega e implantação contínuas (DevOps) Bloco 3 Marco Ikuro Hisatomi Acrescentar o conceito contínuo Ferramentas são adaptáveis, mas a constante continuidade depende do alto grau de padrões em função da fluidez na produção e velocidade das entregas e nas implantações. Desenvolvimento Operação Entrega Integração Integração e entrega contínua • TDD e refatoração são as práticas obtidas pelo XP, com base na programação em pares, padrões de código e integração contínua. • Repositório de código controlado e versionado é o básico para automação do processo de desenvolvimento, mantendo o commit de código em um ambiente colaborativo, base para a entrega contínua. • Build e teste automatizados, aumentando o nível de qualidade da entrega e a velocidade do projeto, simulando o ambiente de produção ou infraestrutura da operação. (SATO, 1998) Pipeline da integração e entrega contínua • Build: pacote forte candidato para ser disponibilizado para a produção (em operação). • Sistema de distribuição: uso de componentes nativos. • Instalação é transacional e idempotente: instalação: desinstalação; e atualização de pacotes. Integração Entrega Implantação Pipeline da integração e entrega contínua • Suporte a arquivos de configuração: garantir alterações quando um upgrade for realizado. • Verificação de integridade: cálculo de checksum para evitar arquivos corrompido. • Assinatura: criptografia e assinatura para garantia a origem do pacote. Integração Entrega Implantação Pipeline da integração e entrega contínua • Teste de unidade: uso mais frequente, prática do TDD e da refatoração. • Teste de integração: simular as dependências. • Teste funcionais: simular o uso do operador, pode ser exigido o funcionamento de todos os sistemas. Implantação Testes automatizados Integração Entrega Teoria em Prática Bloco 4 Marco Ikuro Hisatomi Desafio: qualidade no processo do transporte As funcionalidades de um sistema são claras. Todos os envolvidos estão participando do “problema”. Quais práticas de valores poderiam ser aplicadas, conforme Freeman (2020)? Todos contribuem na qualidade Qualidade do produto transportado por caminhão. • Temperatura do ambiente, embalagem, cuidado do motorista, condição da estrada, condição do caminhão. Produto Laboratório Amostra Resultado Todos contribuem na qualidade Qualidade do produto transportado por caminhão. • Motorista, condições do caminhão, analista e processo de coleta da amostra, controlador do tráfego. Controlador de tráfego O que posso fazer para melhorar a qualidade? Produto Laboratório Amostra Resultado Todos contribuem na qualidade Qualidade do produto transportado por caminhão. • Tempo e condições da trajeto pode impactar em até 10% na melhoria do produto entregue ao cliente final. Agilidade Controlador de tráfego Produto Laboratório Amostra Resultado Desenvolvendo solução baseada na operação • Prática do pensamento sistêmico: Equipes de diferentes segmentos participaram da solução: software; logística; científico; e serviço. • Prática da comunicação: Todos compreenderam a necessidade da participação no processo e explanaram suas contribuições e dificuldades. • Prática do automação: Uso de biblioteca e repositório das configurações de software no desenvolvimento de aplicações. • Prática do feedback: Todos envolvidos apontaram alternativas e falhas no processos, ao longo do desenvolvimento do software. Dicas do(a) Professor(a) Bloco 5 Marco Ikuro Hisatomi Prezado aluno, as indicações a seguir podem estar disponíveis em algum dos parceiros da nossa Biblioteca Virtual (faça o login através do seu AVA). Algumas indicações também podem estar disponíveis em sites acadêmicos como o Scielo, repositórios de instituições públicas, órgãos públicos, anais de eventos científicos ou periódicos científicos, acessíveis pela internet. Isso não significa que o protagonismo da sua jornada de autodesenvolvimento deva mudar de foco. Reconhecemos que você é a autoridade máxima da sua própria vida e deve, portanto, assumir uma postura autônoma nos estudos e na construção da sua carreira profissional. Por isso, te convidamos a explorar todas as possibilidades da nossa Biblioteca Virtual e além! Sucesso! Leitura Fundamental Indicação de leitura 1 A cultura DevOps nas organização parte do princípio em que o relacionamento entre as pessoas devem ser mais valorizados e, deste, resultados positivos sejam alcançados. Faça uma leitura no tópico Incentivando Seus Valores (p. 38-42). Disponível no parceiro Minha Biblioteca (Biblioteca Virtual). Referência FREEMAN, Emily. DevOps Para Leigos. Rio de Janeiro: Editora Alta Books, 2021. Indicação de leitura 2 Sobre a qualidade em DevOps, o tratamento é feito de maneira contínua para codificar sem defeitos, mesmo que a pessoa não seja um codificador. A partir dessa leitura, você poderá perceber e refletir melhor antes de iniciar a codificação do software, e o preparo para entregar um produto de qualidade. Leia o tópico DevOps depende de código limpo no capítulo 1 item 10. Disponível na Biblioteca Virtual. Referência MUNIZ, Antônio. Jornada DevOps. Rio de Janeiro: Brasport, 2020.Dica do(a) Professor(a) Para você conhecer um pouco mais, separei um breve vídeo que irá elucidar alguns pontos sobre a integração e entrega contínua. Compreenda por que o DevOps envolve várias técnicas e tecnologias, entrega de softwares altamente atualizados e com custo menores e, ainda, requer a revisão continua do código para manter o sistema sempre pronto para sofrer modificações. Assista a apresentação sobre a Integração Contínua pelo vídeo (08m26s) do canal do YouTube Código Fonte TV, com o nome Integração Contínua | Continuous Integration | CI // Dicionário do Programador. Referências FREEMAN, Emily. DevOps Para Leigos. Rio de Janeiro: Editora Alta Books, 2021. MUNIZ, Antonio. Jornada DevOps. Rio de Janeiro: Brasport; 2ª edição. 2020. SATO, Danilo. DevOps na prática: entrega de software confiável e automatizada. São Paulo: Caso do Código, 1998. WILLIS, John. The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. It Revolution Press. 2016. Bons estudos!
Compartilhar