É preciso dar aos desenvolvedores o que eles querem
Quando o DevOps surgiu no final dos anos 2000, trouxe consigo os princípios fundamentais de propriedade compartilhada, feedback rápido e automação do fluxo de trabalho para ajudar a concretizar a visão de desenvolvimento ágil de software. Isso exigia alto grau de autonomia para os desenvolvedores e, em troca, capacitava-os com as ferramentas necessárias para aumentar a eficiência.
O modo operacional favorito dos desenvolvedores (e muitas funções técnicas especializadas, como cientistas de dados, pesquisadores de IA etc.) pode ser resumido em três pontos principais: acesso instantâneo a recursos, resultados imediatos e autoatendimento completo.
Usar esses itens como uma bússola ao criar serviços voltados para perfis técnicos é uma ótima maneira de permitir a inovação e garantir a rápida adoção. Embora nem sempre seja possível fornecer recursos e resultados instantâneos, o fato de chegar o mais próximo possível do instantâneo gera maior satisfação.
DevOps, os principais clientes
Hoje, vemos o amadurecimento do DevOps com o surgimento da engenharia de plataforma, uma nova função para uma era mais madura no desenvolvimento de aplicações. É ela que atua nos bastidores para fornecer um catálogo de serviços e componentes de infraestrutura fáceis de usar e de autoatendimento para dar suporte à experiência diária de desenvolvimento.
As melhores práticas desta engenharia têm como objetivo ajudar os desenvolvedores de aplicações a se integrarem e começarem a criar mais rapidamente, fornecendo tudo o que eles precisam para experimentar, desenvolver, testar e implementar. A plataforma disponibilizada para esses desenvolvedores geralmente se inspira nos serviços popularizados pela nuvem pública e em seu modo de operação. Ela é projetada para fornecer acesso instantâneo não apenas às melhores e mais recentes ferramentas e softwares que sustentam a inovação, mas também para facilitar o acesso aos próprios dados, protegidos por estratégias e protocolos de segurança predeterminados.
Kubernetes e gerenciamento de dados
A plataforma ideal com foco no desenvolvedor também inclui o gerenciamento de dados. Ela pode se basear no Kubernetes como o meio para orquestrar, implementar, executar e dimensionar aplicações nativas da nuvem, bem como gerenciar os serviços de dados necessários para essas aplicações.
Os recursos de gerenciamento de dados são fundamentais para a engenharia de plataformas, pois permitem a exploração e o teste em condições realistas, por exemplo, usando uma cópia instantânea dos dados de produção em vez de um conjunto de dados sintéticos pouco realista.
O ideal é que os recursos de gerenciamento de dados também sejam projetados considerando o autoatendimento e forneçam acesso aos dados de forma altamente disponível, confiável, elástica, multilocatária e segura.
Também é fundamental que essa base entregue cadeias de ferramentas e serviços de dados fáceis de especificar para os desenvolvedores, de modo que eles possam usá-los facilmente como blocos de construção, mesmo que não tenham amplo conhecimento do Kubernetes ou de como implementar um determinado mecanismo de banco de dados de forma segura e dimensionável.
Nosso Golden Path é possível
As equipes de engenharia de plataforma estão ocupadas trabalhando sem serem vistas em segundo plano para trazer o Golden Path de autoatendimento para o desenvolvimento de aplicações. Com o Kubernetes como estrutura de orquestração, contêineres e serviços de dados como recursos principais, os engenheiros de plataforma podem finalmente concretizar totalmente a visão de maior agilidade e produtividade do DevOps.