Como nossa jornada de kubernetes nos salvou 1 milhão de dólares

Richard Sands Blocked Unblock Seguir Seguindo 3 de janeiro

No início de 2018, nossa equipe de engenharia embarcou em uma jornada para renovar nossa infraestrutura e ferramental. Em essência, nossa experiência de desenvolvedor estava longe de ser necessária.

Ter uma experiência de desenvolvedor ruim levou a: engenheiros fazendo soluções alternativas para sincronizar suas alterações de código no EC2, ignorando diretamente os pipelines. Testes de unidade mal utilizados como o pipeline levou muito tempo para dar feedback. A depuração não foi fácil. Se um bug crítico foi encontrado na produção, boa sorte em consertar tudo em menos de uma hora em um bom dia.

Queríamos fazer melhor, nosso objetivo era…

Mova-se com velocidade e tenha pipelines entregando software em menos de 5 minutos

… E foi isso que iniciou nossa jornada de kubernetes.

TLDR : Quer economizar US $ 1 milhão e ter uma equipe de desenvolvimento feliz? Forneça o ferramental correto.

Então, nós realmente economizamos US $ 1 milhão de dólares?

Aparente clique no isco à parte, podemos economizar essa quantia se olharmos apenas para o nosso canal de entrega e esquecermos nossos custos reduzidos de infraestrutura. Nós tínhamos todos os nossos pipelines de entrega rodando no Bamboo (um antigo produto da Atlassian). Parecia algo assim:

  • Impulso de código
  • Vá manualmente e aperte Run Build in Bamboo ?
  • Bambu construiu um EC2 AMI ?
  • Tornou um balanceador de carga, EC2, banco de dados RDS, Memcache, etc ($ e ?)

O processo demorou cerca de 45 minutos em média (se o desenvolvedor tiver sorte de não ser enfileirado atrás de outras compilações).

Nós nos mudamos para o kubernetes / circleci e se parece com isso:

  • Impulso de código
  • Construção automática acionada
  • Testes de unidade executados (1 minuto) ?
  • Construa uma imagem de encaixe e pressione (2 minutos) ?
  • Implantar no cluster do kubernetes (1 minuto) ?

A diferença, nenhum EC2 extra, nenhum balanceador de carga extra e uma linha do tempo de 4 minutos.

E quanto a esse US $ 1 milhão de dólares

Nossa equipe tem aproximadamente 28 engenheiros, digamos que 25 deles fazem 5 builds por dia, 265 dias por ano. Nossas compilações estão funcionando 40 minutos mais rápido. Cálculo rápido:

5 builds x 40 minutos de economia = 200 minutos x 25 engenheiros = 5.000 minutos x 265 dias por ano = 1.325.000 minutos / 60 = 22.083 horas x custo médio de US $ 50 por hora = US $ 1,1 milhão de dólares

Eu ouço você dizer: "mas os engenheiros não estão sentados esperando que as construções aconteçam, eles fazem várias tarefas".

Eles fazem, mas olhando para trás; Levou 45 minutos para descobrir se uma build funcionava quando rodava na AWS, não tínhamos o docker naquela época. Agora os engenheiros podem ter certeza de que seus testes são aprovados, o código funciona em um pipeline padronizado e compartilha URLs de desenvolvimento com outras equipes em até quatro minutos após o envio do código.

Migrar para o Circle CI / Kubernetes nos deu um pipeline moderno que a equipe pode se orgulhar. A equipe pode corrigir problemas críticos de produção em minutos, não em horas.

Tenha um objetivo em mente, forneça as ferramentas para alcançar esse objetivo e permita que seus engenheiros se movimentem com velocidade.