O que é engenharia de plataforma?

Copiar URL

Acesse a biblioteca de conteúdos da Red Hat

A engenharia de plataforma surgiu como uma resposta a um novo argumento na área de tecnologia: a infraestrutura não deveria ser uma preocupação dos desenvolvedores, principalmente no caso de ambientes de nuvem híbrida e multicloud. 

Tradicionalmente, o trabalho do desenvolvedor era criar ou encontrar ferramentas que suprissem suas necessidades. Antes, iterações de tecnologia básicas atendiam a essa expectativa. Porém, à medida que as empresas crescem, fica cada vez mais complexo e fragmentado para os desenvolvedores oferecerem suporte aos usuários e escalarem com eficiência em organizações de maior porte.

Novas ferramentas são lançadas diariamente, funcionalidades surgem a todo momento, e isso torna avaliar e selecionar as ferramentas ideais para as tarefas um processo demorado. Aprender a operar novas ferramentas, pesquisar tecnologias emergentes, investigar as ameaças de segurança mais recentes e solicitar serviços de infraestrutura e aplicações pode consumir um volume considerável de tempo, energia mental e recursos. Esse esforço poderia ser investido na otimização das soluções comercializadas e na conquista de metas de negócios. 

No mundo da engenharia de plataforma, os desenvolvedores são os clientes e as plataformas internas do desenvolvedor (IDPs) são a solução.

Uma IDP é configurada pelas equipes de engenharia de plataforma e consiste em um conjunto padronizado de ferramentas e tecnologias self-service internas essenciais para os desenvolvedores criarem, implantarem e fazerem a manutenção do código em todo o ciclo de vida de uma aplicação. As cadeias de ferramentas integradas a uma IDP permitem um fluxo de trabalho mais produtivo para que os desenvolvedores possam se concentrar em coisas como segurança e escalabilidade. Em última análise, elas ajudam as empresas a gerar mais valor para o cliente.

Criar uma IDP eficiente significa procurar por pontos de fricção na experiência do desenvolvedor e selecionar ferramentas e tecnologias capazes de remover ou reduzir esses atritos. Inicie com uma abordagem simples, incluindo apenas ferramentas que você sabe que serão úteis para sua equipe de desenvolvimento A partir daí, expanda os recursos para que evoluam em conjunto com as necessidades da sua equipe, sempre buscando feedback durante o processo. 

Como o DevOps, a engenharia de plataforma compartilha o objetivo comum de alinhar melhor os desenvolvedores com as operações, aprimorando a automação e a colaboração. Quando pensamos na relação entre as duas práticas, a engenharia de plataforma pode ser considerada um ingrediente essencial e complementar para lidar com o desafio de escalar o DevOps em uma empresa.

As práticas de DevOps costumam incentivar os desenvolvedores a pesquisar, aprender, implementar e gerenciar o software por conta própria, proporcionando mais conhecimento e controle sobre a aplicação em produção No entanto, essa abordagem nem sempre beneficia o resultado final, podendo, em vez disso, gerar custos administrativos indiretos e aumentar a carga cognitiva sobre os desenvolvedores.

Uma equipe pode ter interesse em entregar uma função, mas não o conjunto de habilidades necessário para fazê-lo. Por outro lado, ela pode ter as habilidades, mas não o interesse de criar a função. A equipe pode, ainda, ter as habilidades e o interesse, mas não ser seguro ou viável economicamente colocar a ideia em prática. Tudo isso se torna ainda mais complicado à medida que as organizações escalam e crescem.

A adoção do DevOps e da entrega contínua resultou em pipelines e cadeias de ferramentas mais longas. E com a pressão adicional da abordagem "shift left" (que implica em um entendimento completo de como proteger cada etapa do fluxo de trabalho ao criar e manter uma aplicação), os desenvolvedores passaram a ser responsáveis por compreender cada vez mais as complexidades envolvidas nas aplicações que estão construindo.

Essa autonomia oferece um senso de liberdade. No entanto, também pode levar à sensação de responsabilidade e carga cognitiva debilitantes, algo que não beneficia nem o indivíduo nem a organização.

Ao priorizar a empatia e a jornada do usuário, a engenharia de plataforma, como estratégia, expande o DevOps encontrando maneiras mais eficazes de automatizar a entrega de aplicações, melhorar a colaboração e a comunicação, reduzir erros, aumentar a segurança e a conformidade, incrementar a eficiência e, o mais importante, redirecionar as principais habilidades dos desenvolvedores para onde elas são mais necessárias. 

Transformação para uma cultura de DevOps

Tanto a engenharia de plataforma quanto a engenharia de confiabilidade de sites envolvem criar e fazer a manutenção de sistemas. A diferença entre as duas práticas está no foco. A SRE se concentra nas equipes de operações de TI, ajudando-as a utilizar os software como ferramentas para gerenciar sistemas, solucionar problemas e automatizar tarefas operacionais.

Os engenheiros de plataforma se concentram nas equipes de desenvolvimento, auxiliando na criação de plataformas para gerenciar sistemas, solucionar problemas e automatizar tarefas. 

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Todos os testes de soluções Red Hat

Com os nossos testes de solução gratuitos, você ganha experiência hands-on, prepara-se para uma certificação ou avalia se uma determinada solução é adequada para sua organização.

Leia mais

What is multi-cloud GitOps?

O GitOps é um conjunto de princípios que orienta seu fluxo de trabalho e possibilita a implantação contínua (CD) de aplicações nativas em nuvem. Ele ajuda você a gerenciar a configuração do cluster e as implantações de aplicações, levando a automação a um processo que antes era manual.

O que é o fluxo de trabalho do GitOps?

O GitOps é uma abordagem moderna de desenvolvimento e implantação de software onde toda a infraestrutura e o ciclo de vida da aplicação são gerenciados por repositórios git como single source of truth.

Site Reliability Engineering: o que é SRE?

Site Reliability Engineering (SRE) ou engenharia de confiabilidade de sites é uma abordagem da engenharia de software para gerenciar sistemas e automatizar tarefas operacionais de TI.

DevOps: conteúdo adicional

Artigos relacionados