O desenvolvimento de interfaces eficazes na engenharia de plataformas envolve a transição de processos manuais personalizados para soluções padronizadas e consistentes que simplificam o provisionamento e as solicitações de serviço. Este artigo explora os estágios de desenvolvimento de interface, concentrando-se na configuração de ambientes de desenvolvimento e no diagnóstico do comportamento do aplicativo.
Processos personalizados
Existe uma coleção de processos variados para fornecer diferentes recursos e serviços, mas a consistência da interface não é considerada. Processos personalizados sob medida atendem às necessidades imediatas de indivíduos ou equipes e dependem de intervenção manual, mesmo que o provedor use alguns scripts de implementação automatizados.
O conhecimento de como solicitar estas soluções é partilhado de pessoa para pessoa. O processo de solicitação de um serviço carece de padronização e consistência. O provisionamento e o uso de um serviço de plataforma provavelmente exigem suporte profundo do provedor de recursos.
A falta de requisitos e padrões centrais torna esse nível apropriado quando a empresa ainda não identificou e documentou as expectativas. Pode ser eficaz para equipas de empresas em estágio inicial ou esforços de plataforma. Nesses ambientes, as equipes têm a liberdade de evoluir processos e capacidades para suas necessidades, permitindo que entreguem mais rapidamente e paguem o preço da padronização apenas quando necessário mais tarde.
Configurar o ambiente de desenvolvimento: os engenheiros individuais reúnem as etapas necessárias para configurar um ambiente, perguntando aos colegas, encontrando documentação e seguindo suas próprias práticas conhecidas.
Diagnosticar o comportamento do aplicativo: os engenheiros escolhem suas próprias ferramentas e processos para diagnosticar o comportamento. Eles são responsáveis por tomar medidas para acessar aplicativos e logs.
Normas locais
Engenheiros e equipes de engenharia proativamente, mas informalmente, definem padrões para diferentes capacidades e serviços para aumentar a quantidade de compartilhamento de conhecimento que pode ocorrer dentro da organização. Comunidades informais de apoio surgem em torno desses padrões, mas isso depende de recursos e comprometimento de indivíduos e equipes individuais.
Configure o ambiente de desenvolvimento: equipes individuais definem suas próprias ferramentas e processos e tentam garantir que os engenheiros dentro das equipes se atenham a esses processos. Isso pode ser por meio de documentação ou contêineres, mas a escolha de como documentar ferramentas e processos é conduzida pela equipe.
Diagnosticar o comportamento do aplicativo: equipes individuais definem suas próprias práticas e processos para diagnosticar o comportamento. As equipes contam com a equipe de DevOps/TI para ter acesso aos recursos implantados.
Existem interfaces padrão consistentes para provisionamento e observação de plataformas e recursos que atendem a amplas necessidades. Os usuários são capazes de identificar quais recursos estão disponíveis e estão habilitados para solicitar os recursos que eles precisam.
Estradas pavimentadas ou caminhos dourados, na forma de documentação e modelos, são fornecidos. Esses recursos definem como provisionar e gerenciar recursos típicos usando padrões compatíveis e testados. Embora alguns usuários possam usar essas soluções por conta própria, as soluções muitas vezes ainda exigem profundo conhecimento de domínio e, portanto, o suporte dos mantenedores ainda é vital.
Gerenciamento significativo exigido da equipe central para manter modelos/documentação, especialmente em resposta às necessidades em mudança das equipes.
Configurar o ambiente de desenvolvimento: há algum investimento em um caminho comum com documentação ou modelos que definem as ferramentas e os processos necessários em toda a organização. As equipes podem se desviar dos padrões à medida que modificam modelos, mas não se fundem novamente na equipe centralizada.
Diagnosticar o comportamento do aplicativo: prática padrão definida para acessar e diagnosticar recursos implantados.
Soluções de autoatendimento
As soluções são oferecidas de forma a proporcionar autonomia aos usuários e requer pouco apoio dos mantenedores. A organização incentiva e habilita soluções para fornecer interfaces consistentes que permitam a descoberta e a portabilidade da experiência do usuário de um recurso para outro. Embora sejam self-service, as soluções exigem conscientização e implementação da equipe. Para melhorar essa experiência, poderia haver uma linguagem interna guiada e simplificada que permitisse aos usuários adotar e integrar recursos da plataforma mais rapidamente. Isso gera uma coleção de recursos centrada no usuário, autossuficiente e consistente.
Configurar ambiente de desenvolvimento: as equipes de engenharia dependem da plataforma para configurar ambientes de desenvolvimento. Existe disponibilidade para descobrir os recursos disponíveis. As equipes de engenharia adotam a plataforma exclusivamente para todas as interações. A plataforma auxilia o compartilhamento de conhecimento através da descoberta e modificação de modelos novos e existentes, aumentando continuamente o valor oferecido pela plataforma.
Diagnosticar o comportamento da aplicação: ferramentas e serviços para observar recursos e funcionalidades são fornecidos através da plataforma a pedido. Plataforma fornece acessibilidade para diagnosticar e observar recursos/capacidades.
Serviços integrados
Os recursos da plataforma são integrados de forma transparente nas ferramentas e processos que as equipes já usam para fazer seu trabalho. Alguns recursos são provisionados automaticamente, como observabilidade ou gerenciamento de identidade para um serviço implantado. Quando os usuários atingem as bordas dos serviços fornecidos, há uma oportunidade de ir além de soluções automatizadas e personalizar para suas necessidades sem sair das ofertas internas, porque os recursos da plataforma são considerados blocos de construção. Esses blocos de construção são usados para criar composições transparentes e automáticas para atender aos casos de uso de nível mais alto, permitindo uma personalização mais profunda quando necessário.
As equipes internas da plataforma podem determinar quais recursos estão funcionando bem para a organização e podem usar esse conhecimento para determinar em quais áreas investir para melhorar ainda mais a plataforma.
Os recursos podem ser estendidos e empacotados de várias maneiras, oferecendo a máxima flexibilidade para provisionar, gerenciar e observar recursos e capacidades.
Configurar o ambiente de desenvolvimento: os recursos da plataforma são integrados às ferramentas e processos que as equipes já usam para fazer seu trabalho. Pode ser usado via CLI, IDE ou outros ambientes.
Diagnosticar o comportamento do aplicativo: a plataforma configura automaticamente os recursos de observabilidade para cada aplicativo implantado. A plataforma oferece recursos para interação com dados de diagnóstico e aplicações implementadas.