詳細検索

Colorkrew 2024 Atual Situação das Operações de Infraestrutura para Serviços Internos

Avatar
por Kohei Akiyama
4 min de leitura

Colorkrew 2024 Atual Situação das Operações de Infraestrutura para Serviços Internos
Traduzido do 日本語 • Ver original

Olá. Meu nome é Akiyama, Arquiteto de Soluções em Cloud Azure e Engenheiro DevOps. Sou responsável pelo líder de infraestrutura dos nossos próprios serviços.

O último blog que escrevi foi há dois anos, então aqui vou resumir a situação recente da infraestrutura. Olhando para trás no primeiro aniversário da introdução do AKS com nosso próprio serviço Mamoru Biz

Eficiência aumenta com o crescimento das equipes de desenvolvimento de produtos

Essa é a maior mudança. Dois anos atrás, nosso próprio serviço era igual ao Mamoru Biz (agora Colorkrew Biz), mas agora temos uma ampla gama de produtos, incluindo "Colorkrew ID", "Colorkrew Intra", "AI Chat system" e produtos em desenvolvimento. Todos esses produtos utilizam infraestrutura em nuvem, então é necessário construir eficientemente a infraestrutura do novo sistema.

A equipe de infraestrutura dos nossos serviços atualmente conta com quatro pessoas, incluindo eu, todas trabalhando simultaneamente em outras tarefas, como projetos contratados.

Nos últimos um ou dois anos, promovemos aproximadamente os seguintes conteúdos para criar uma situação em que as operações de infraestrutura não sejam atrasadas.

  • Solicitações de templates da equipe de desenvolvimento de produto
  • Modularização do código de implantação de infraestrutura
  • Tentativa e erro e feedback sobre a tecnologia mais recente

Esta entrada explica tudo em ordem.

Solicitações de modelos da equipe de desenvolvimento de produto

Usamos o GitHub para gerenciamento de código-fonte. Quando começamos a desenvolver um novo produto ou um produto existente precisa de uma nova infraestrutura em nuvem, deixamos a equipe de infraestrutura montar o conteúdo no GitHub Issue por conta própria.

E como isso virou um padrão, preparamos um modelo de issue para a equipe de desenvolvimento de produto escrever sobre isso. ref: Configure um modelo de issue para o repositório

O conteúdo é o seguinte

  • Recursos necessários de infraestrutura em nuvem (banco de dados, armazenamento, ...) etc)
  • Recursos Kubernetes (Pod, CronJob, ... etc)
  • Fluxo de implantação
  • Datas de entrega por ambiente (Depuração é o mais rápido possível, Produção é 2 meses depois, ... etc)

É ineficiente preencher as informações necessárias com um chat de conversa, então é eficiente cobrir a maior parte das informações de uma vez. Além disso, ao consultar os pedidos de infraestrutura de outros produtos, a equipe de desenvolvimento de produto pode perceber o efeito colateral de evitar silos e levar a conexões horizontais e compreensão.

Modularização do Código de Implantação de Infraestrutura

Infraestrutura - Terraform

Nossa equipe usa o Terraform para gerenciar a infraestrutura dos nossos serviços. O Terraform oferece um recurso chamado Modules, que buscamos melhorar a reutilizabilidade e a manutenibilidade. (Infelizmente, nem todos são módulos.) Reescrever o código implantado depois de ser escrito nos módulos exige muito esforço. )

ref: Visão geral dos módulos

Kubernetes - Helm

Para os recursos do Kubernetes, usamos o Helm para gerenciar o manifesto. Como cada aplicação é construída com vários padrões de pilhas tecnológicas (Laravel, Go lang, etc.), temos um template comum para acomodar isso e minimizar a ocorrência de suas próprias definições de manifesto por parte de cada aplicação.

ref: Library Charts

Aplicações - Ação do GitHub

Usamos o GitHub Actions para implantar nossas aplicações. O GitHub Actions oferece um recurso chamado Reutilização de fluxos de trabalho. Isso foi importante porque gerenciamos os repositórios da nossa aplicação um a um em um repositório separado, o que torna complicado gerenciar toda vez que um modelo de ação do GitHub é copiado. ref: Reutilização de fluxos de trabalho

A modularidade facilita muito a manutenção das peças comuns e a qualidade uniforme em cada produto.

Tentativa e erro e feedback sobre tecnologia moderna

Se você simplesmente seguir o que já criou antes, pode até agora, mas é importante tentar e falhar com a tecnologia mais recente em constante evolução da TI. Nós ativamente testamos novas tecnologias e funções em pequenas quantidades e devolvemos o que funciona para o conjunto.

Por exemplo, o Azure Static Web Apps é o serviço ideal como interface para um serviço web.

ref: O que é Azure Static Web Apps?

Anteriormente, hospedavamos dentro do Azure Kubernetes Service, então precisávamos de atualizações de segurança para imagens Docker ou as construímos para implantação. Como elas estão funcionando bem com o novo produto, estamos aplicando gradualmente a outros produtos.

Conclusão

Os serviços da Colorkrew continuam a se expandir, e tanto a infraestrutura quanto os desenvolvedores individuais precisam fazer mais para alcançar maior qualidade e desempenho a cada dia.

Na Colorkrew, você pode experimentar tanto o desenvolvimento dos seus próprios serviços quanto o negócio de contratos. Se você tem interesse em nossa empresa, por favor, insira na página de recrutamento .

Related Articles