Engenheiro de plataforma x Engenharia de software x DevOps
De muitas maneiras, a engenharia de plataforma é parte de uma evolução maior da engenharia de confiabilidade do local (SRE). Esta é uma disciplina mais antiga, desenvolvido pelo Googleque se refere à aplicação de práticas de engenharia de software à infraestrutura e operações de TI.
Uma diferença fundamental, no entanto, é que os SREs se concentram na manutenção da infraestrutura, enquanto os engenheiros de plataforma se concentram mais na experiência do usuário final. Uma comparação entre as duas disciplinas no site DevOps.com revela nenhuma sobreposição completa entre as disciplinas.
“As operações de entrega de software são o foco principal dos engenheiros de plataforma. Os SREs também se preocupam com a entrega de software, porque a maneira como os aplicativos são criados desempenha um papel importante na confiabilidade e na correção de problemas”, escreve JP Cheung. “Os SREs também têm muitas outras responsabilidades, como resposta a incidentes e ajuda no gerenciamento da infraestrutura, que vão além do escopo da entrega de software.”
Embora a engenharia de plataforma empreste conceitos de DevOpsuma disciplina que combina TI e desenvolvimento de software, é, em última análise, uma reação contra ela – destinada a facilitar as complexidades.
De acordo com o site Diariamente Engenharia de Software, a engenharia de plataforma em um contexto DevOps pode usar componentes pré-construídos para criar um projeto com mais facilidade. “Originalmente, o DevOps era bastante ad hoc. Por exemplo, se uma equipe dentro de uma organização desejasse hospedar um novo site, era necessária a coordenação entre essa equipe e uma equipe de DevOps”, observa o site. “Compare isso com a noção de engenharia de plataforma. Os engenheiros de plataforma constroem sistemas que permitem que as equipes desenvolvam.”
VER: Descubra como o DevOps pode agregar velocidade e segurança aos seus processos de TI.
Quais são os benefícios da engenharia de plataforma?
Em essência, o maior benefício da engenharia de plataforma é que ela reduz o trabalho repetitivo que pode vir com uma abordagem tradicional voltada para operações.
Isso é semelhante ao conceito de teoria da carga cognitiva: as pessoas podem ter amplo conhecimento de muitos tópicos, mas só podem acessar uma pequena parte da “memória de trabalho” em um determinado momento. Simplificar tarefas reduz a carga cognitiva e pode levar a melhores resultados.
Paula Kennedy, COO da empresa de tecnologia Syntasso, escreve em um post recente em Platform Engineeringque essa separação de tarefas ajuda a simplificar a experiência do desenvolvedor, ou DevEx.
“Precisamos garantir que os desenvolvedores tenham tudo o que precisam para fazer seu melhor trabalho”, escreve ela. “Isso inclui o ferramental, os níveis de abstração, a automação e a experiência de autoatendimento para que os desenvolvedores, por sua vez, possam se concentrar em entregar valor aos clientes. Em outras palavras, o DevEx trata de reduzir a carga cognitiva dos desenvolvedores para permitir que eles sejam mais rápidos.”
Há também a possibilidade de que a criação de ferramentas de plataforma não seja da competência de um desenvolvedor, o que significa que a tarefa de gerenciá-la pode recair sobre as equipes de operações e infraestrutura.
“Realmente não é uma boa ideia ter desenvolvedores, especialmente desenvolvedores de aplicativos, responsáveis por isso”, diz Michael Coté, um defensor do desenvolvedor VMware Tanzu, em uma apresentação sobre engenharia de plataforma. “Você pode ter alguns desenvolvedores em sua equipe de plataforma, mas executando uma plataforma? Precisa ser o que as operações, o pessoal da infraestrutura fazem; eles têm as habilidades e responsabilidades.”
A engenharia de plataforma separa o dev das operações, mas de uma forma que pega as lições mais amplas do DevOps e as leva adiante. Se sua organização deseja gerenciar e utilizar sua infraestrutura, dar CDW Amplified Infrastructure Services uma olhada – você pode achar que é a solução ideal para operações mais eficazes.