devops tutorial ultimate guide devops
Esta é uma série completa de tutoriais de DevOps com mais de 25 tutoriais em texto e vídeo cobrindo todos os aspectos do DevOps, como O que é DevOps, princípios de DevOps e seu arquiteto.
Lista de tutoriais na série de treinamento DevOps:
# 1) Introdução ao DevOps (Este tutorial)
#dois) DevOps e teste de software
Tutoriais de VÍDEO DevOps:
# 3) Tutorial de vídeo 1: Histórico, definição, valor, benefícios, hábitos e práticas recomendadas do DevOps
- Parte 1 Bloco 1 - Desmistificando DevOps
# 4) Vídeo tutorial 2: Práticas DevOps baseadas nos Princípios Agile, controle de origem e automação DevOps
Este tutorial em vídeo é dividido em 6 blocos:
- Parte 2 Bloco 1 - Prática DevOps baseada no Manifesto Ágil
- Parte 2 Bloco 2 - Fonte e controle de versão em DevOps
- Parte 2 Bloco 3 - Automação em DevOps
- Parte 2 Bloco 4 - Pequenos incrementos de entregas em DevOps
- Parte 2 Bloco 5 - Colaboração em equipes DevOps
- Parte 2 Bloco 6 - Como desenvolver colaboração em equipes DevOps
# 5) Vídeo tutorial 3: DevOps processa integração contínua, teste contínuo e entrega contínua
Este tutorial em vídeo é dividido em 4 blocos:
- Parte 3 Bloco 1 - Integração contínua em DevOps
- Parte 3 Bloco 2 - Entrega contínua em DevOps
- Parte 3 Bloco 3 - Implantação contínua em DevOps
- Parte 3 Bloco 4 - Teste Contínuo em DevOps
# 6) Vídeo tutorial 4: DevOps Configuration Management e monitoramento de desempenho de aplicativos ao vivo
Este tutorial em vídeo é dividido em 3 blocos:
- Parte 4 Bloco 1 - Gerenciamento de configuração em práticas DevOps
- Parte 4 Bloco 2 - Gerenciamento de liberação em DevOps
- Parte 4 Bloco 3 - Monitoramento de desempenho de aplicativos em DevOps
# 7) Vídeo tutorial 5: Recapitulação de todo o curso.
- Parte 5 Bloco 1 - Recapitulação dos tutoriais em vídeo DevOps
Tutoriais de texto:
# 8) Teste Shift Left
# 9) Como melhorar a qualidade do software usando integração contínua
# 10) Processo de Entrega Contínua
Ferramentas DevOps:
#onze) Ferramentas DevOps
# 12) Instalação e configuração de ferramentas DevOps de código aberto comumente usadas
# 13) Melhores ferramentas de integração contínua
# 14) Principais ferramentas de entrega contínua
Tutorial do Microsoft VSTS:
#quinze) Microsoft VSTS parte 1
# 16) Microsoft VSTS parte 2
Ferramentas AWS DevOps:
# 17) AWS DevOps Tools Parte 1 (CodeCommit)
# 18) AWS DevOps Tools Parte 2 (CodeBuild)
# 19) AWS DevOps Tools parte 3 (CodeDeploy)
#vinte) Implantação de aplicativo da Web .NET usando AWS Elastic Beanstalk
Ansible para DevOps:
#vinte e um) Parte Ansible 1: Instalação e configuração
# 22) Parte 2 do Ansible: automação de tarefas usando manuais
# 2. 3) Parte 3 do Ansible: Funções do Ansible e integração com o Jenkins
# 24) Integração de Jenkins com Selênio
# 25) Hudson Continuous Integration Tool
# 26) Empresas provedoras de serviços DevOps
# 27) Perguntas da entrevista DevOps
Vamos começar com o primeiro tutorial desta série.
O que você aprenderá:
- Introdução ao DevOps
- Visão geral do Agile e DevOps
- DevOps envolve apenas ferramentas?
- Componentes de DevOps
- Resumo
- Leitura recomendada
Introdução ao DevOps
DevOps não se trata apenas de ferramentas, mas também inclui um conjunto de melhores práticas que permite preencher a lacuna entre as equipes de desenvolvimento e operações nas áreas de integração e implantação contínuas, usando um conjunto integrado de ferramentas para automatizar a entrega de software.
qual é o melhor e-mail grátis
É imperativo que os desenvolvedores entendam o lado das operações e vice-versa. Portanto, o objetivo do DevOps é simplesmente ajudar qualquer organização na velocidade de entrega de aplicativos aos usuários finais e permitir feedback mais rápido do usuário final, que é a necessidade de qualquer empresa hoje.
Visão geral do Agile e DevOps
Não há diferença entre Agile e DevOps. Em vez disso, eles se complementam. Vamos começar observando o modelo em cascata, onde todos os requisitos são congelados e o design e o desenvolvimento são feitos um após o outro até que um produto estável esteja disponível.
Portanto, o problema aqui é que, se houver uma mudança na necessidade do cliente nesta fase, não há como incluir e entregar a necessidade alterada.
A fim de abordar a questão da adaptação às necessidades do cliente, as mudanças melhor do que no método em cascata foi a adoção do Agile. A ideia aqui era desenvolver um software em sprints ou iterações menores, digamos em torno de 2 a 3 semanas, o que ajudava as equipes de desenvolvimento a trabalhar no feedback do usuário final e a incorporar as mudanças nas versões mais recentes.
Portanto, as equipes de desenvolvimento e operação devem ter agilidade em suas áreas de trabalho eDevOpsnasceu para permitir uma melhor colaboração entre eles.
O Agile traz processos como XP, SCRUM etc. e DevOps traz práticas como Integração Contínua, Entrega Contínua, Teste Contínuo e Monitoramento Contínuo que veremos em detalhes conforme avançarmos neste tutorial.
DevOps envolve apenas ferramentas?
De certa forma, você pode argumentar que, para implementar o DevOps, são necessárias ferramentas. É verdade, mas as ferramentas são apenas aceleradores.
Mas, na verdade, trata-se dos seguintes 3 aspectos:
Pessoas :É muito importante treinar e ter uma equipe de pessoas altamente motivadas para poder se comunicar e colaborar com eficácia em toda essa jornada de mudança cultural.
Processar: Como estamos falando sobre mudança cultural para a implementação de DevOps, é muito necessário ter práticas e estratégias que forneçam valor para o cliente. Uma maneira adequada de fazer isso seria fazer uma avaliação de maturidade AS-IS, olhar para as lacunas e propor um roteiro para a implementação de recomendações apropriadas.
Não vou falar a fundo sobre como comecei a fazer essas avaliações, mas ficarei feliz em compartilhar quaisquer contribuições sobre o mesmo.
Ferramentas: Finalmente, trata-se de usar os aceleradores, automatizando o processo usando ferramentas DevOps padrão que estão disponíveis hoje. Pode ser Open-Source (Jenkins, Git etc.), Comercial (Microsoft TFS, VSTS, IBM Rational, Jira etc.) ou uma combinação de ambos.
Componentes de DevOps
Espero que agora você tenha uma ideia do que é DevOps.
comando grep em script de shell unix
Vejamos agora os seguintes 4 componentes de DevOps que formam o núcleo do ponto de vista da implementação e também as organizações desenvolveram boas estruturas de automação em torno do mesmo, oferecendo-o como um serviço a seus clientes.
- Integração contínua
- Teste Contínuo
- Entrega Contínua
- Monitoramento Contínuo
Eu realmente acredito que se um desenvolvedor tem que trabalhar neste modo, então deve haver um item de execução como uma tarefa ou um defeito (no Agile pode ser uma parte da história do usuário) atribuído a ele para permitir que ele entregue o trabalho dentro o prazo do sprint.
Portanto, mesmo antes que as etapas listadas acima possam ser implementadas, essas tarefas ou defeitos do desenvolvedor devem ser planejados em um Sprint. Portanto, ferramentas como JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS etc. ajudam a criar os Planos de Lançamento / Sprint do Agile.
Vamos agora dar uma olhada em cada um desses componentes em detalhes.
# 1) Integração Contínua
Como desenvolvedor, você trabalha nas tarefas ou defeitos atribuídos e faz check-in do código em um repositório compartilhado várias vezes ao dia. Da mesma forma, os outros membros da equipe também fazem check-in do código no repositório compartilhado.
Em seguida, você irá realmente integrar todo o trabalho feito pelos membros da equipe em um servidor de construção comum e realizar uma construção automatizada. Fazer essas integrações e compilações automatizadas regularmente é chamado de Integração Contínua.
Essa prática ajuda a detectar problemas muito cedo e também garante que todos os módulos integrados funcionem conforme necessário. Portanto, se você não seguir esta abordagem, a integração do trabalho da equipe pode acontecer uma vez por mês, o que pode atrasar para localizar e corrigir quaisquer problemas de integração.
Fluxo de trabalho de integração contínua de amostra:

# 2) Entrega contínua
A entrega contínua é a próxima etapa após a integração contínua. O objetivo da entrega contínua é levar o aplicativo integrado à produção o mais rápido possível. Durante este processo, ele passa por vários estágios do ciclo de vida da entrega, ou seja, QA, preparação, ambientes de produção, etc.
Este processo de entrega regular de aplicativos integrados em vários estágios é conhecido como Entrega Contínua.
A entrega contínua ajuda a acelerar o tempo de lançamento no mercado quando comparada aos métodos tradicionais, menor risco, reduzindo o custo ao incentivar mais automação no processo de lançamento e, o mais importante, obter feedback mais rápido dos usuários finais para produzir um produto de qualidade.
Pela minha experiência, tenho visto que esse processo funciona bem para qualquer tipo de desenvolvimento de aplicativo da web.
Também fiz uma boa quantidade de avaliações sobre implementações de DevOps para organizações na área de negócios de semicondutores, mas devido ao ciclo de lançamento esta área de Entrega Contínua não parece se encaixar, pois é mais um processo em cascata que está sendo seguido e as implantações são feitas como e quando solicitadas em um ambiente de cliente.
Fluxo de trabalho de entrega contínua de amostra:

No diagrama acima, você pode observar os diferentes ambientes disponíveis e, portanto, esse provisionamento da infraestrutura para os ambientes também pode ser automatizado durante o processo de entrega contínua.
# 3) Teste Contínuo
A partir das 2 práticas acima, descobrimos que CI e CD ajudam a implantar o aplicativo ou a fazer alterações na produção. Todo este processo envolve a validação adequada do código e sua integração com todos os componentes envolvidos para garantir que o aplicativo funcione conforme o previsto e está livre de bugs ou defeitos.
Portanto, o Teste Contínuo é o processo de execução de vários tipos de testes automatizados, começando com o processo de CI até o momento em que o aplicativo é finalmente implantado na produção.
Você pode ver no diagrama anterior que na etapa de Integração Contínua integramos todos os trabalhos dos desenvolvedores em um servidor de construção comum e também durante este estágio os desenvolvedores executariam uma certa quantidade de testes de unidade.
Uma vez que a integração e os testes funcionem sem erros, somente então o aplicativo ou as mudanças são implantados no ambiente de QA após a aplicação dessas aprovações e portas de qualidade.
No ambiente de QA, os testes funcionais são executados e, novamente, com base nas aprovações, eles seriam implantados no ambiente de preparação, que estaria em paridade, como os sistemas de produção e os testes de aceitação executados. Depois que essa atividade for concluída, o aplicativo ou as mudanças são finalmente implantados nos sistemas de produção.
Portanto, pode-se observar aqui que o teste contínuo como uma atividade começa no próprio estágio de CI e é uma etapa muito obrigatória em todo o processo de entrega contínua.
Fluxo de trabalho de teste de amostra no processo de entrega contínua:

# 4) Monitoramento contínuo
À medida que o aplicativo ou as alterações são implantados no ambiente de produção, a equipe de operações procura monitorar o aplicativo e o ambiente de um ponto de vista de tempo de atividade, estabilidade e disponibilidade. Este processo é conhecido como monitoramento contínuo.
As equipes de operações terão seus próprios softwares para monitorar o ambiente, mas também precisarão fazer sua parte para monitorar os aplicativos implantados para quaisquer problemas. Para isso, eles precisariam trabalhar com as equipes de desenvolvimento a fim de construir certas ferramentas para analisar os problemas do aplicativo.
Portanto, os problemas de infraestrutura, ambiente e aplicativos são todos monitorados no processo de monitoramento contínuo.
Resumo
Neste tutorial, descobrimos exatamente o que é o processo DevOps, incluindo os vários componentes envolvidos nele. Esses componentes ajudam a agilizar a entrega do aplicativo e também a economizar o tempo de colocação no mercado, que é a necessidade dos negócios hoje em dia do ponto de vista competitivo.
Na próxima série de tutoriais no segmento DevOps, você verá os diferentes vídeos / prováveis ferramentas DevOps que as equipes podem usar e também a implementação de DevOps usando certas ferramentas para local e nuvem.
E, como dito e feito, descobri que a implementação do DevOps é empolgante, na forma de ver uma mudança organizacional.
Nosso próximo tutorial explicará tudo sobre DevOps e teste de software.
Leitura recomendada
- Tutoriais detalhados do Eclipse para iniciantes
- Entrega contínua em DevOps
- Implantação contínua em DevOps
- Tutorial de teste de DevOps: como o DevOps afetará os testes de controle de qualidade?
- Integração contínua em DevOps
- Teste Contínuo em DevOps
- Recapitulação dos tutoriais em vídeo DevOps
- Tutorial do AWS CodeCommit para implementação de DevOps na nuvem