詳細検索

Migrating from Azure App Service to Azure Kubernetes Service vol.1

Avatar
por Kohei Akiyama
2 min de leitura

Migrating from Azure App Service to Azure Kubernetes Service vol.1
Traduzido do 日本語 • Ver original

Olá. Aqui é Akiyama do Azure Cloud Solution Architect. Desta vez, vou escrever sobre a migração para k8s no nosso Mamoru Biz.

Parece que será mais longo do que eu imaginava, então vou dividir o artigo da seguinte forma.

  • Vol.1 Decision <- 本記事
  • Vol.2 AKS(k8s) 移行の下準備
  • Vol.3 AKS(k8s) 移行

App Service

移行した話の前に、 Mamoru Biz チームと App Service の関係について書きます。

Microsoft の to Migrate from App Service to AKS App Service é um serviço adequado para startups que permite publicar aplicativos web facilmente. Quando comecei a Mamoru Biz, eu era apenas uma startup, e precisava construir infraestrutura em pouco tempo enquanto trabalhava em um negócio de contrato, então introduzi o App Service, no qual eu tinha experiência.

Lembro que, naquela época, a versão Docker estava disponível apenas na região do Japão. Foi justamente na época em que escrevi este artigo.

A equipe de desenvolvimento da Mamoru Biz era quase inteiramente dedicada a engenheiros de aplicação, e engenheiros de infraestrutura trabalhavam simultaneamente em outras tarefas (principalmente negócios por contrato). A infraestrutura era liderada por engenheiros de infraestrutura, mas na prática não era tão difícil se você usasse apenas o App Service.

Quando quis lançar um servidor web, engenheiros de aplicações começaram a construir ambientes de infraestrutura. (Do ponto de vista da qualidade, Dev/Staging/Production Staging/Production foi criado por engenheiros de infraestrutura.)

Contexto da Transição

Arquitetura

A Mamoru Biz atende clientes com aplicativos iOS/Android + aplicativos web. O App Service é responsável pela parte do app web, mas gradualmente há casos em que o App Service não é utilizado. Um deles é a execução do trabalho.

App Service (para Container) exige que o container Docker que você implanta responda a uma requisição HTTP. (Referência: Seu container deve responder a um ping HTTP.)

Você não precisa de um servidor web para rodar um trabalho, mas não havia outra boa forma de rodar o trabalho no App Service porque não havia outra boa maneira de rodá-lo como um ambiente de execução Docker na época. O App Service requer um servidor web, então você pode usar um supervisor para rodar tanto o servidor web quanto o trabalho. Do ponto de vista de contêiner Docker, containers são projetados especificamente para App Service, o que não é uma situação muito boa.

Posteriormente, foram lançadas Instâncias de Container, mas era um pouco complicado porque exigia controle de um serviço separado, como o Logic App, para gerenciar o ciclo de vida dos containers.

Comecei a sentir que construir infraestrutura em casos em que o App Service não se encaixava era redundante.

Crescimento dos Desenvolvedores

Na Colorkrew, valorizamos crescer através dos desafios.

À medida que os desenvolvedores se tornaram mais proficientes, surgiu o desejo de implementar rapidamente algo diferente do PHP/Laravel, que era usado principalmente no Mamoru Biz. Especificamente, eles queriam usar paralelismo Go. É importante criar um lugar onde os desenvolvedores possam enfrentar mais desafios e, claro, se isso puder reduzir custos de desenvolvimento, não há nada a dizer.

Como mencionado anteriormente, engenheiros de infraestrutura que também estão em posição têm menos tempo para usar, então é uma vantagem para a equipe que engenheiros de aplicação possam adicionar containers de forma autônoma. A ideia é que, ao reduzir o custo de adicionar containers, queremos diminuir o custo total.

Consultas em um negócio de contratos

No setor de contratos, as consultas da Kubernetes estão aumentando gradualmente. Ao incorporar a tecnologia k8s em nossos serviços SaaS, podemos esperar compartilhar conhecimento e facilitar para engenheiros alternarem entre ambos os negócios.

Conclusão

Depois de julgarmos abrangente a tecnologia, cultura, negócios, etc. listados até agora, decidimos migrar para o K8S.

Nem preciso dizer que App Service e Azure Kubernetes Service são ambos bons serviços, e você precisa usá-los conforme suas necessidades. A história é que a Mamoru Biz rapidamente começou com App Service e migrou para o AKS conforme cresceu.

Faz muito tempo até agora, então vou escrever sobre isso em outro artigo.

Related Articles