[Música] Olá pessoal mais uma vez seja bem-vindo ao curso processo de desenvolvimento e implantações de sistemas web nesse vídeo nós vamos falar sobre os principais conceitos de devops nós vamos trazer também aqui Quais são os benefícios em utilizar essa Cultura nós vamos falar também sobre integração contínua e entrega contínua pessoal antigamente nos setores de informática Que Nós chamávamos de CPD centro de processamento de dados era como se o time de desenvolvimento e o time de infraestrutura fossem Dois times jogando em Campos diferentes vamos imaginar esse cenário tá os desenvolvedores né os programadores da época eles
criavam os códigos e o pessoal de operações tem tentava manter tudo funcionando sem ter aquele problema né sem ter nenhum bo o termo devops já diz tudo é a junção de developers com operations né desenvolvedores com o pessoal da operação é um casamento perfeito da tecnologia da informação os desenvolvedores trabalharem muito sintonizados com o pessoal da infraestrutura na verdade antes disso todo o processo de desenvolvimento de software era bem parecido com uma uma linha de montagem de fábrica os desenvolvedores eles criavam o produto e simplesmente jogavam para o time de operações você imagina aí a
confusão que acontecia naquela época né era como se um time de designs entregasse um carro para o engenheiro mecânico dissesse assim ó resolve aí de vira e aí o problema era simples cada time tinha um objetivo diferente os caras da operação queriam estabilidade e segurança da aplicação Mas por outro lado os desenvolvedores eles queriam velocidade eles queriam novas funcionalidades queriam inovação naquelas aplicações naqueles projetos não sei se eu estou sendo exagerado mas assim era praticamente uma uma guerra interna mas em 2009 dois Engenheiros eles deram o primeiro passo importante para resolver essa Contenda na época
eles apresentaram algo assim revolucionário que eles chamaram de 10 mais deplo por dia olha que massa Já pensou você fazer mais de 10 atualizações por dia em um sistema para aquela época era algo assim além da possibilidade então Desde aquela época o devops virou mais do que uma metodologia devops é uma cultura é uma forma de pensar diferente A ideia é fazer com que todo mundo trabalhe junto sem aquela história de alguém dizer Não isso aí não é comigo não é com cicrano ou com beltrano E aí certamente deve ter vindo aquela pergunta à sua
cabeça né Tudo bem devolves parece ser um negócio interessante mas por que que eu deveria me importar com isso então vamos falar aqui sobre quatro motivos que podem justificar o porquê de se utilizar o devops em times de Tecnologia da Informação primeiro benefício ele tem uma entrega ágil de valor Sabe aquela frustração de passar horas criando algo e quando vai testar dá um erro puts usando devops isso Possivelmente vai diminuir significativamente então Imagine que você pode criar ambientes de desenvolvimento iguaizinhos ao ambiente de produção ou seja menos dor de cabeça menos aquela frase Ah mas
o meu computador funciona isso eu ouvi várias vezes num projeto que a gente tá trabalhando E aí atira aquela primeira pedra quem nunca falou isso no meu computador funciona né mas não sei por que aí não tá funcionando segundo benefício capacidade de inovação já ouviram aquele termo fa Fest é uma espécie de vamos ver se rola de uma maneira mais profissional e você testa rápido aquele produto aquele software se não der certo parte pra próxima o f fash ele incentiva as equipes testar suas ideias de forma que os produtos eles brotem né eles surjam de
uma forma mais rápida e possibilite a identificação de falhas né e ajustes que sejam necessários durante o início daquele produto né o início daquele software daquele daquela aplicação o terceiro benefício diz respeito a entregas resilientes traduzindo o seu sistema vai ficar mais resistente a problemas Como assim professor não entendi não bom são construídos testes automáticos e integração contínua então cada mudança de código ela é testada automaticamente e aí você pode perguntar beleza mas qual o resultado disso O resultado é que o desenvolvedor ele reduz a chance de lidar com aquele erro frustrante Então os testes
eles ficam automatizados e como resultado o desenvolvedor ele vai ter menos problemas Quando o seu sistema quando a sua nova versão do sistema for para o a e último benefício é a melhoria do clima organiz acional chega daquela guerra que eu falei no início né guerra entre times o time de desenvolvimento e o time de infraestrutura a briga tradicional entre desenvolvedores e infraestrutura acabou e agora todo mundo responde por aquele trabalho todo mundo compartilha das suas responsabilidades no fim das contas o devops não é somente uma uma metodologia Mas é uma forma de transformar a
maneira dos times de Tecnologia da Informação trabalharem e esse trabalho termina se tornando mais rápido mais inteligente e mais colaborativo quando a gente fala sobre devops é fundamental entender a relação com as metodologias ágeis na verdade metodologias ágeis e devops não são concorrentes mas são e coisas que se complementam nós já falamos aqui sobre as metodologias ágeis e a gente já estudou que elas têm como principal objetivo acelerar a entrega de valor para o cliente elas trabalham com ciclos curtos entregas incrementais e a adaptação é rápida às mudanças o scom por exemplo que nós trabalhamos
aqui nesse curso é um método Que estrutura o desenvolvimento em sprints E aí permite que entregas frequentes e revisões constantes sejam realizadas ao longo daquele processo curto o devops por sua vez tem como objetivo maximizar a eficiência através da automação e integração contínua enquanto a metodologia ágil foca na velocidade da entrega devop Se concentra na otimização dos processos operacionais quando a gente integra scom e devops por exemplo a gente observa uma transformação significativa relevante a equipe de infra ela deixa de ser um departamento isolado e passa a fazer parte efetiva do time de desenvolvimento então
isso reduz muito a incidência de falhas na entrega e como resultado aumenta a probabilidade do Sucesso em cada Sprint é uma ferramenta interessante Nesse contexto é o canan que é um método visual de gestão de trabalho que permite acompanhar o fluxo de atividades de forma clara e objetiva no ambiente devops o canan se torna uma ferramenta massa do ponto de vista de transparência e comunicação então em resumo as metodologias ágeis e devops elas não são abordagens concorrentes mas sim complementares juntas elas potencializam a eficiência a velocidade e a qualidade do desenvolvimento do seu software a
integração contínua ou simplesmente ci basicamente é um método no qual os desenvolvedores integram seu código em um repositório compartilhado várias vezes ao dia mas não é simplesmente enviar o código para um repositório pronto não não é assim cada pequena mudança passa por um processo automático de verificação Então como é que isso funciona na prática bom toda vez que um desenvolvedor ele envia um alteração um conjunto de scripts é rodado automaticamente para testar essas mudanças nós estamos falando aqui de testes unitários que verificam apenas pequenas partes do código e os testes de integração né E aí
eles checam como diferentes partes do sistema trabalham juntas e verificam a compa mas aí qual o principal objetivo disso é garantir a estabilidade do código mesmo com muitas pessoas trabalhando simultaneamente sobre aquele programa sobre aquela aplicação é como ter um supervisor técnico aí automático 24 horas por dia verificando cada linha de código que entra no sistema então ferramentas como gen e o gitlab 6cd são bacanas nesse processo eles criam o que chamamos de pipel de integração basicamente é um caminho predefinido que cada pedaço de código deve percorrer esse pipeline ele define exatamente como o código
vai ser compilado testado e validado antes de ser aprovado para o ambiente de produção Vamos fazer uma analogia aqui imagine um aeroporto em que todo processo de viagem de um passageiro é acompanhado então nós podemos comparar aí o pipeline como sendo o aeroporto e o código O Passageiro cada linha de código passa por uma série de verificação de segurança antes de ser liberado Então passa por teste raio x verificação de identidade checagem de bagagem ou seja só passa se tudo tiver né ou seja 100% estiver ok é o resultado disso é a quantidade de bugs
que é diminuída aumenta a confiabilidade do da aplicação e um time de desenvolvimento que pode trabalhar de forma mais rápida e mais integrada e também mais confiante né porque o seu código tá passando por uma validação e E aí ter a certeza que só vai subir para o a se tiver 100% correto a entrega contínua ou simplesmente CD E aí é muito comum a gente ouvir o termo ci CD o CD é uma extensão natural da do ci da Integração contínua aqui o foco é preparar o código automaticamente para ser implantado em produção isso não
significa dizer que toda mudança vai direto para o a Não não é isso mas significa dizer que o sistema Está sempre pronto para ser liberado então ferramentas como docker e kubernetes são importantes nessa etapa elas fazem algo bacana elas replicam o ambiente de produção de forma absolutamente Idêntica significa dizer que se o código funciona no ambiente de teste com certeza ele também vai funcionar da mesma forma lá no ambiente de produção Então aquela história Ah no meu computador funcionava isso não é mais desculpa tá a automação de testes é outra coisa importante que deve ser
considerada aqui não estamos falando simplesmente de rodar alguns scripts mas sim de uma abordagem sistemática para verificar a qualidade do código E aí existem tipos diferentes de de de teste né o teste unitário que ele verifica componentes individuais do seu programa os testes integração eles verificam como as diferentes partes do sistema vão trabalhar juntas e os test funcionais que garantem que o sistema vai fazer o que de fato deveria fazer e tudo isso é realizado de forma 100% automatizada é como se existisse lá um um time de robôs um conjunto de robôs que verifica esse
código pra gente e aí o resultado do disso obviamente é um código mais estável e as liberações de novas versões do software eles elas são sempre mais seguras pessoal então a gente precisa deixar claro aqui o seguinte develops não é somente uma metodologia ou um conjunto de ferramentas acima de tudo devops é uma cultura de transformação é uma forma nova de pensar desenvolvimento de software a gente falou que a abordagem resolve problemas críticos nas organizações como por exemplo reduzir e conflitos entre equipes aumentar a velocidade de entrega e melhorar a qualidade do código e principalmente
permitir que as empresas elas sejam mais competitivas devops não se trata de adquirir ferramentas caras ou seguir o manual A ideia é criar times que colaborem e que entendam o Real objetivo dessa cultura do que simplesmente realizar o seu trabalho sem estar preocupado como o seu trabalho vai se integrar com outros trabalhos Essas foram as nossas referências que nós utilizamos para construir esse material e eu espero reencontrar você no próximo vídeo até [Música] lá Y [Música]