A engenharia de plataforma é um campo em rápida evolução que está remodelando a maneira como criamos e gerenciamos software. É uma disciplina que se concentra na criação de plataformas dimensionáveis, confiáveis e eficientes que podem dar suporte ao desenvolvimento e à implantação de aplicativos.
Entretanto, como em qualquer campo emergente, está repleto de padrões (práticas recomendadas) e antipadrões (armadilhas comuns). Neste artigo, vamos conhecê-los!
O poder dos padrões
Os padrões de engenharia de plataforma são estratégias experimentadas e testadas que se mostraram eficazes em vários cenários. Eles são os blocos de construção que podem orientar uma organização na criação de uma plataforma robusta e eficiente.
Por exemplo, o padrão “You Build It, You Run It” permite que devs assumam a responsabilidade total por seus aplicativos, desde o desenvolvimento até a implementação e a manutenção. Isso não apenas aumenta a responsabilidade, mas também melhora a qualidade dos aplicativos.
O perigo dos antipadrões
Por outro lado, os antipadrões são práticas que parecem benéficas à primeira vista, mas que podem levar a ineficiências e problemas no futuro. Então, reconhecer e evitar esses antipadrões é fundamental para o sucesso de qualquer empreendimento de engenharia de plataforma.
Esse campo, que ganhou impulso devido à sua relevância para o DevOps, tem vários antipadrões que podem prejudicar sua eficácia. Em seguida, falaremos sobre os 7 antipadrões mais comuns.
7 antipadrões que você precisa conhecer
Not Invented Here
Um exemplo clássico é a síndrome do “Not Invented Here”, em que as equipes resistem ao uso de soluções de terceiros, optando por construir tudo internamente. Isso pode levar ao desperdício de recursos e a um tempo de colocação no mercado mais lento.
Plataformas complexas
Um desses antipadrões é a criação de plataformas excessivamente complexas. Essas plataformas podem usar formatos de arquivo de configuração desconhecidos, não ter convenções de API consistentes, não ter documentação ou não conseguir aliviar a dor de devs.
Por exemplo, se uma plataforma usa um formato de arquivo de configuração com o qual a pessoa desenvolvedora não está familiarizada, isso aumenta a complexidade em vez de reduzi-la.
Campo dos sonhos
Outro antipadrão é a plataforma “Campo dos sonhos“, cujo nome vem do filme de 1989. Isso se refere à suposição de que, se você criar uma plataforma, as pessoas desenvolvedoras a usarão automaticamente. No entanto, sem envolvê-las desde o início e abordar seus problemas específicos, a plataforma pode ter dificuldades para ser adotada.
Concentração de habilidades
A armadilha da concentração de habilidades é outro antipadrão em que os indivíduos mais experientes são transferidos para a equipe de engenharia da plataforma, causando uma possível lacuna de conhecimento nas equipes de desenvolvimento.
Portanto, isso pode levar a problemas quando as equipes de desenvolvimento perdem o conhecimento necessário para executar o software ou perdem as pessoas que poderiam migrá-las para uma plataforma.
Plataformas Magpie
As “plataformas Magpie” se concentram em novas tecnologias brilhantes em vez de resolver os problemas que devs enfrentam com os sistemas existentes. Isso pode levar a uma plataforma que ofereça suporte a um projeto greenfield, mas que não ajude as equipes com o software de produção existente.
Pouco investimento
Plataformas com pouco investimento são aquelas que não têm investimento de longo prazo para mantê-las utilizáveis. Por exemplo, quando uma equipe de plataforma se desfaz após a entrega de um produto, a plataforma pode se tornar uma âncora que prejudica todos os que dependem dela.
Plataformas esticadas
Por fim, as “plataformas esticadas” tentam resolver muitos problemas, oferecendo suporte a todas as ferramentas e tecnologias existentes, o que pode levar à sobrecarga da equipe da plataforma.
Alcançando o equilíbrio
Dessa forma, o segredo para uma engenharia de plataforma bem-sucedida está em encontrar o equilíbrio certo entre padrões e antipadrões. Pois trata-se de entender o contexto e escolher as estratégias certas que se alinham às metas e à cultura da organização.
Também se trata de promover uma cultura de aprendizado e adaptação, em que as equipes são incentivadas a aprender com seus erros e a melhorar continuamente suas práticas.
Falando sobre cultura…
Hoje em dia, é muito fácil formar uma equipe e tornar as coisas consistentes, colaborativas e comunicativas e, para isso, há muita documentação, estruturas e técnicas para formar equipes integradas à cultura da empresa, mas se você tiver algum problema relacionado à cultura, a engenharia de plataforma em si não resolverá esses problemas.
Para completar seus estudos sobre o tema, assista ao vídeo Engenharia de plataforma em times de desenvolvimento no Itaú Unibanco para acompanhar como a plataforma pode impactar em uma grande empresa.
Conclusão
Por fim, a engenharia de plataforma é uma jornada, não um destino. É um processo contínuo de aprendizado, adaptação e aprimoramento. Ao compreender e aproveitar os padrões, evitar os antipadrões e desfrutar do poder dos dados, as organizações podem criar plataformas robustas, eficientes e prontas para o futuro.
Então, dê sua opinião sobre o artigo sobre “Padrões e antipadrões na engenharia de plataforma” na área de comentários abaixo e aproveite para continuar lendo mais conteúdos do nosso blog.
Referência
Platform Engineering’s patterns and anti-patterns | The DevOps engineer’s handbook