Quando as empresas falam sobre entregar software mais rapidamente, é comum ouvir as palavras DevOps e engenharia de plataforma. Embora algumas pessoas pensem que são ideias concorrentes, elas na verdade trabalham em conjunto.
Pense assim: DevOps é o objetivo geral, é a cultura e a mentalidade de trabalho em equipe. A engenharia de plataforma pode ser a maneira de alcançar esse objetivo em grande escala, criando as ferramentas que podem facilitar o trabalho de DevOps.
Para entender como esses conceitos se complementam, é importante primeiro estabelecer definições claras. A diferença está em separar a meta cultural do DevOps da disciplina especializada, a engenharia de plataforma, e das ferramentas concretas que ela cria, a plataforma interna para desenvolvedores (IDP).
DevOps é um conjunto de práticas que aproxima as pessoas que escrevem o código (desenvolvimento ou "Dev") e as pessoas que executam o código (operações ou "Ops").
É principalmente uma mudança cultural que se concentra em fazer as equipes se comunicarem melhor, compartilharem responsabilidades e automatizarem tudo. O objetivo é transformar uma ideia de software em algo que os clientes possam usar rapidamente, unindo pessoas, processos e ferramentas para acelerar o valor comercial.
A engenharia de plataforma é a prática de projetar e manter uma plataforma interna para desenvolvedores (IDP) para equipar as equipes de engenharia de software com caminhos ideias.
As equipes de engenharia de plataforma tratam as ferramentas de desenvolvedor e a infraestrutura de nuvem como um produto. O trabalho principal deles é remover tarefas difíceis e repetitivas das equipes de desenvolvimento. Eles ajudam a criar uma camada de autoatendimento simples e confiável para que os desenvolvedores não precisem ser especialistas em serviços de nuvem complexos, como rede, segurança ou orquestração de contêineres.
Uma plataforma interna para desenvolvedores (IDP) é o conjunto real de ferramentas e serviços que a equipe de engenharia de plataforma cria. É um local único em que os desenvolvedores encontram tudo o que precisam para trabalhar, incluindo recursos como orquestração de contêineres, ferramentas de infraestrutura como código (IaC) e pipelines de CI/CD.
Por exemplo, um IDP criado no Google Cloud pode usar o Google Kubernetes Engine (GKE) para executar contêineres. Ao incorporar os princípios de engenharia de confiabilidade do site (SRE) e DevOps nos caminhos dourados da plataforma, a equipe de engenharia de plataforma pode reduzir o potencial de erro humano e minimizar o tempo de inatividade. A IDP abstrai o que é difícil e oferece automações e tutoriais para os desenvolvedores seguirem, garantindo que o trabalho deles seja seguro e correto desde o início.
DevOps é o "porquê" de precisarmos trabalhar juntos e automatizar. A engenharia de plataforma é o "como" tornamos essa automação fácil para todos.
Embora pequenas empresas ou equipes possam gerenciar seus processos por meio de comunicação próxima, todas as organizações podem se beneficiar da adoção dos princípios e práticas recomendadas de DevOps desde o início.
Mas quando uma empresa cresce para centenas de desenvolvedores:
A complexidade aumenta: cada equipe de desenvolvimento precisa aprender e manter dezenas de ferramentas, como o Cloud Logging, o Cloud Monitoring e o código de infraestrutura. Esse fardo, chamado de carga cognitiva, deixa as pessoas mais lentas. |
A complexidade aumenta: cada equipe de desenvolvimento precisa aprender e manter dezenas de ferramentas, como o Cloud Logging, o Cloud Monitoring e o código de infraestrutura. Esse fardo, chamado de carga cognitiva, deixa as pessoas mais lentas.
Inconsistência: equipes diferentes podem configurar os ambientes de maneiras distintas, usando práticas de segurança, padrões de código ou configurações de implantação variados. Isso dificulta o trabalho da equipe de operações para dar suporte a todos. |
Inconsistência: equipes diferentes podem configurar os ambientes de maneiras distintas, usando práticas de segurança, padrões de código ou configurações de implantação variados. Isso dificulta o trabalho da equipe de operações para dar suporte a todos.
A engenharia de plataforma ajuda a resolver esse problema criando uma IDP padronizada usando o conjunto abrangente de serviços gerenciados do Google Cloud. Além disso, os caminhos dourados facilitam a criação, o gerenciamento e a escalonabilidade de IDPs. Isso mantém o objetivo de velocidade e qualidade do DevOps vivo à medida que a empresa cresce.
Embora DevOps e engenharia de plataforma sejam complementares, os focos principais são distintos.
O DevOps é centrado na mudança cultural, enfatizando o trabalho em equipe, a responsabilidade compartilhada e a automação de todo o pipeline de entrega. O objetivo é alinhar pessoas e processos para mover valor rapidamente da ideia à produção.
Em contraste, a engenharia de plataforma tem como foco principal a experiência do desenvolvedor. Isso é possível abstraindo a complexidade da infraestrutura e criando recursos de autoatendimento. Ao oferecer um caminho simples e confiável para os desenvolvedores, a engenharia de plataforma serve como a disciplina especializada que acelera os objetivos culturais do DevOps em escala.
Para os principais líderes técnicos, a engenharia de plataforma pode oferecer benefícios financeiros e de gestão.
Risco e compliance
A engenharia de plataforma ajuda a reduzir o risco ao criar políticas de segurança e compliance diretamente na plataforma, aplicando automaticamente padrões em todos os ambientes, como clusters do GKE, para evitar inconsistências.
Produtividade do desenvolvedor
A engenharia de plataforma melhora os resultados financeiros ao fornecer APIs e portais simples de autoatendimento que reduzem significativamente o tempo que os desenvolvedores gastam em tarefas de infraestrutura.
Entrada mais rápida no mercado
Ao capacitar as equipes com fluxos de trabalho eficientes, a engenharia de plataforma no Google Cloud permite que as organizações lancem novos serviços com rapidez e facilidade. A infraestrutura do Google Cloud permite implantações eficientes e muito mais.
A decisão de criar uma equipe de engenharia de plataforma dedicada e construir uma IDP não se baseia em um tamanho de equipe arbitrário, mas sim nas necessidades organizacionais e no custo do atrito. Uma plataforma se torna apropriada quando o tempo e o esforço gastos pelos desenvolvedores de aplicativos em tarefas de infraestrutura superam o investimento necessário para criar e manter a própria plataforma. Saiba mais neste guia sobre engenharia de plataforma.
Ferramentas simples de CI/CD, como o Cloud Build, podem ser suficientes se seus aplicativos forem simples e suas equipes de desenvolvimento puderem gerenciar facilmente as próprias necessidades de infraestrutura. Nesse caso, o foco no lado cultural do DevOps (melhor comunicação, metas compartilhadas e automação simples) é a abordagem mais eficaz.
Uma equipe de plataforma geralmente é necessária quando a complexidade começa a desacelerar toda a organização. Isso geralmente acontece se sua empresa estiver passando por alguma destas situações:
Alta carga cognitiva: os desenvolvedores estão gastando muito tempo configurando e mantendo a infraestrutura em vez de se concentrar no desenvolvimento de recursos. |
Alta carga cognitiva: os desenvolvedores estão gastando muito tempo configurando e mantendo a infraestrutura em vez de se concentrar no desenvolvimento de recursos.
Práticas inconsistentes: há vários padrões de segurança, operacionais e de implantação nos seus produtos, o que dificulta o suporte e a auditoria. |
Práticas inconsistentes: há vários padrões de segurança, operacionais e de implantação nos seus produtos, o que dificulta o suporte e a auditoria.
Provisionamento lento: os desenvolvedores precisam de dias para criar novos ambientes de teste ou produção, o que cria gargalos no ciclo de vida do desenvolvimento. |
Provisionamento lento: os desenvolvedores precisam de dias para criar novos ambientes de teste ou produção, o que cria gargalos no ciclo de vida do desenvolvimento.
É nesse momento que a criação de uma equipe de plataforma para construir um IDP consistente e padronizado pode proporcionar o maior retorno do investimento e manter a velocidade e a qualidade prometidas pelo DevOps.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.