Engenharia de plataforma

Ferramentas para suas equipes de desenvolvimento.

Templates de serviços, pipelines de deploy, ambientes e documentação para o trabalho que seus desenvolvedores repetem. Construímos ferramentas compartilhadas com as equipes que vão usá-las e mantê-las.

O que construímos

  • Plataformas internas de desenvolvimento e processos documentados para os tipos de serviço do escopo
  • Pipelines de CI/CD com verificações de compilação, testes e publicação para suas aplicações
  • Configuração de ambientes, ferramentas e templates de serviços para os projetos acordados
  • Guias de preparação, instruções operacionais e responsáveis documentados como parte da entrega

Provas

Auth0

De 2012 a 2019, trabalhamos no produto de autenticação da Auth0: o Admin Panel, o Support Center em React, sete extensões e bibliotecas de código aberto para Python e Node.js. Essas ferramentas permitiam aos clientes administrar as configurações e ajudavam os desenvolvedores a integrar a Auth0 aos seus produtos.

Leia o caso
Admin Panel · Support Center · 7 extensões
Bibliotecas de código aberto para Python e Node.js

Quando os times nos procuram

  • Os deploys dependem de etapas manuais ou de conhecimento não documentado
  • Novos engenheiros têm dificuldade para preparar e publicar um serviço
  • As equipes mantêm soluções separadas para tarefas recorrentes de infraestrutura

Encontrar o trabalho que suas equipes podem compartilhar

Revisamos como os serviços são criados, testados, implantados e mantidos. Identificamos etapas manuais, documentação ausente e diferenças entre equipes. Algumas diferenças são necessárias; outras podem ser atendidas por um template ou processo compartilhado.

Escolhemos o primeiro processo com os desenvolvedores que o usam e definimos o que ele precisa atender. A implementação pode incluir templates, preparação de ambientes, verificações e documentação. Registramos uma linha de base e revisamos o uso, o tempo de preparação, os resultados dos deploys e a manutenção antes de escolher as próximas mudanças.

Como construímos

  1. Revisar preparação e entrega

    identificar tarefas recorrentes, atrasos e requisitos operacionais

  2. Acordar processos compartilhados

    escolher os primeiros tipos de serviço e critérios de aceitação

  3. Construir e testar as ferramentas

    configurar templates, ambientes e verificações de publicação

  4. Revisar uso e manutenção

    comparar os resultados com a linha de base e acordar o que melhorar

O que um processo de entrega compartilhado inclui

Templates de serviços

Definir o logging, os testes, a integração contínua e a configuração de deploy de um template. Documentar quais tipos de serviço ele atende e como tratar requisitos que ficam fora dele.

Ambientes de teste

Acordar quais serviços precisam de ambientes de teste ou de pré-visualização separados, como são criados e removidos e quais dados de teste usam. Documentar as diferenças em relação à produção e as verificações pendentes antes da publicação.

Verificações de publicação

Medir a duração das verificações e quais falhas são intermitentes e trabalhar nos gargalos. Documentar as aprovações e as etapas de recuperação para que a equipe possa avaliar e responder a um deploy que falhou.

Uso e manutenção

Acordar medidas como tempo de preparação, frequência de deploy, publicações com falha e uso do processo compartilhado. Revisá-las junto com as necessidades de suporte e manutenção; a adoção, sozinha, não estabelece o valor da plataforma.

O escopo inclui as ferramentas compartilhadas, a documentação e a transferência da operação necessárias para os processos escolhidos.

Funciona bem com

Perguntas frequentes

  • Isso é DevOps com outro nome?

    DevOps aproxima desenvolvimento e operações. A engenharia de plataforma fornece ferramentas e processos compartilhados para que esses times construam, implantem e operem serviços.

  • Construir ou comprar a plataforma?

    Comparamos os produtos existentes com as integrações, os processos, as permissões e os requisitos operacionais de que você precisa. A recomendação pode combinar ferramentas compradas com componentes sob medida, considerando juntos os custos de implementação e operação.

  • Como sabemos que a plataforma valeu a pena?

    Acordamos uma linha de base e medidas para o problema que queremos resolver, como tempo de preparação, frequência de deploy, publicações com falha ou esforço de manutenção. Comparamos esses resultados com o custo de implementação e operação para avaliar o trabalho.

  • Onde a IA entra nisso?

    A plataforma pode incorporar revisões, testes e documentação para o desenvolvimento assistido por IA. Para produtos com funções de IA, também pode oferecer deploy, acompanhamento de versões, avaliação e monitoramento. Definimos essas verificações conforme a aplicação e seus requisitos de dados.

  • Nossos times são pequenos. Isso é exagero?

    Para um time pequeno, o primeiro escopo pode ser um template, um pipeline e uma configuração de ambiente. Começamos pelos problemas recorrentes de preparação e deploy, estimamos o trabalho e medimos se as mudanças economizam tempo antes de acrescentar mais.

  • Quem fica dono da plataforma depois que vocês saem?

    Acordamos os responsáveis pela operação e preparamos a transferência durante o projeto. Sua equipe recebe os templates, a configuração e a documentação nos repositórios e nas ferramentas acordados. Identificamos os acessos, os conhecimentos e a manutenção de que a plataforma precisa.

O que facilitaria as entregas da sua equipe?