Introdução
Seguindo as instruções descritas em Automatizar implantações de contêiner do Docker com o Azure Pipelines, você conseguiu aprimorar um pipeline de lançamento para compilar e publicar um aplicativo ASP.NET Core como um contêiner do Docker que, em seguida, foi implantado no Serviço de Aplicativo do Azure. Essa migração para um projeto baseado em contêiner resultou em vários benefícios para a equipe de produtos. Além disso, a adoção de tecnologias de contêiner tem o potencial de desbloquear várias oportunidades inovadoras para o futuro.
À medida que as organizações de desenvolvimento se expandem, a complexidade das soluções que elas fornecem também aumenta. À medida que vários produtos e serviços se tornam mais interdependentes, diferentes requisitos de desenvolvimento e operações surgem para vários componentes em um determinado aplicativo. Uma forma de aumentar a eficiência arquitetônica é refatorando esses componentes em microsserviços distintos.
Um microsserviço é um serviço pequeno e independente projetado para ser autossuficiente e atender a uma funcionalidade de negócios específica. Os contêineres fornecem uma excelente base técnica para desenvolver e implantar esses serviços, mas isso gera uma outra questão: como fazer para gerenciar todos esses contêineres que estão em uso?
É aí que tecnologias de orquestração, como o Kubernetes, podem ser úteis. O Kubernetes é uma plataforma concebida para gerenciar cargas de trabalho e serviços em contêineres. É uma excelente opção para organizações que têm um número crescente de contêineres que precisam ser implantados, integrados e monitorados em vários ambientes.
Neste módulo, você acompanhará a equipe Web da Tailspin Toys na exploração de uma forma de usar o Kubernetes no Azure. Você aprenderá como atualizar um pipeline de lançamento para criar, publicar e implantar vários contêineres do Docker no cluster do Kubernetes.
Embora esse módulo se concentre nas principais tarefas necessárias para criar e implantar o aplicativo de contêiner, é importante entender que todos os outros recursos do Azure Pipelines ainda estão disponíveis para implantações de contêiner no Kubernetes. Você pode integrar testes, definir várias fases e executar outras tarefas como faria com seus aplicativos existentes. Nós omitimos essas tarefas aqui para manter o foco.
Objetivos de aprendizagem
Depois de concluir este módulo, você poderá:
- Explicar os benefícios do Kubernetes e quando usá-lo.
- Criar recursos do Azure para dar suporte a um cluster do Kubernetes.
- Atualizar um pipeline de lançamento básico para criar, publicar e implantar vários contêineres do Docker no cluster do Kubernetes.
- Monitorar o build e a implantação do projeto.
Pré-requisitos
Os módulos neste roteiro de aprendizagem formam uma progressão. Para acompanhar a progressão desta série desde o início, conclua os roteiros de aprendizagem Introdução ao Azure DevOps e Criar aplicativos com o Azure DevOps.
Para acessar este roteiro de aprendizagem desde o início, siga este link: Implantar aplicativos com o Azure DevOps. Este módulo começa no final de Automatizar implantações de contêiner do Docker com Azure Pipelines.
Este módulo também considera que você tenha familiaridade básica com o Kubernetes, embora isso não seja necessário para concluí-lo. Se você é novo no tópico, recomendamos que conclua primeiro o roteiro de aprendizagem Administrar contêineres no Azure.
Observação
O Azure Pipelines dá suporte a uma ampla variedade de linguagens e tipos de aplicativos. Neste módulo, você trabalhará com um aplicativo .NET, mas poderá aplicar os padrões que aprender aqui a projetos próprios que usam suas linguagens de programação e estruturas favoritas.
Conheça a equipe
Em módulos anteriores, você conheceu a equipe da Web do Space Game da Tailspin Toys. A equipe da Web do Space Game está aqui novamente para trabalhar com você neste módulo:
Paulo é o líder de desenvolvimento.
Marina está na garantia de qualidade.
Pedro está em operações.
Clara acaba de entrar como desenvolvedora e é subordinada de Paulo.
Clara já tem experiência com DevOps. Ela está ajudando a equipe a adotar um processo mais automatizado que usa o Azure DevOps.