Provisionar e gerenciar a infraestrutura na engenharia de plataforma envolve a evolução de processos manuais e inconsistentes para abordagens mais automatizadas, escalonáveis e adaptáveis. Ao adotar processos automatizados e padronizados, as organizações podem reduzir erros, melhorar a eficiência e garantir um gerenciamento de infraestrutura consistente.
As áreas de foco incluem definir processos de provisionamento, gerenciar solicitações de infraestrutura e provisionamento e monitorar a alocação de recursos.
Manual
No estágio inicial, a organização enfatiza a flexibilidade e respostas rápidas às necessidades de infraestrutura, com as equipes de TI ou Arquitetura fornecendo diretrizes por meio da documentação. Os desenvolvedores configuram manualmente a infraestrutura com base nessas diretrizes, levando a inconsistências, uma vez que diferentes equipes usam métodos variados. As solicitações de acesso e provisionamento são revisadas manualmente, causando atrasos e os desenvolvedores lidam com o provisionamento por conta própria, aumentando o risco de erros. A falta de processos formalizados e a dependência de verificações manuais resultam em operações siloed, aumento do tempo de inatividade e dificuldades na manutenção de uma infraestrutura escalonável, tornando essa abordagem insustentável à medida que as demandas aumentam.
Definir processos de provisionamento: os desenvolvedores configuram manualmente a infraestrutura caso a caso, geralmente usando diferentes métodos e ferramentas para tarefas semelhantes.
Responder e gerenciar solicitações de infraestrutura e provisionamento de serviços: as solicitações de infraestrutura são tratadas manualmente conforme o necessário, muitas vezes por meio de canais informais de comunicação (por exemplo, email e chat), com acesso fechado por revisões manuais das equipes de TI ou arquitetura. Equipes individuais ou desenvolvedores são responsáveis pelo provisionamento.
Monitorar a alocação de recursos: As equipes podem contar com verificações manuais para garantir que os recursos não fiquem sem capacidade, mas geralmente apenas quando surgem problemas.
Coordenado
Como a organização reconhece a necessidade de operações mais consistentes e eficientes, são tomadas etapas iniciais para centralizar e padronizar os processos de provisionamento. Algumas equipes começam a alinhar suas ferramentas e métodos, mas sem um padrão de toda a organização, as variações persistem. Sistemas centralizados, como tíquetes, são introduzidos para gerenciar solicitações de infraestrutura, mas essa abordagem pode introduzir gargalos, pois aprovações manuais e provisionamento adicionam sobrecarga. A transição para a centralização e a padronização, embora necessária, pode atrasar os ciclos de desenvolvimento e implantação, destacando a necessidade de simplificar ainda mais.
Definir processos de provisionamento: algumas equipes começam a usar e modificar scripts e ferramentas semelhantes, mas não há um padrão em toda a organização. Algumas equipes provisionam manualmente recursos e algumas equipes usam ferramentas e scripts disponíveis.
Responder e gerenciar solicitações de provisionamento de serviço e infraestrutura: as solicitações são enviadas por meio de um sistema centralizado (por exemplo, um sistema de tíquetes) e uma equipe centralizada de TI ou plataforma aprova e provisiona manualmente a infraestrutura.
Monitorar a alocação de recursos: o Teams começa a usar ferramentas padrão para coletar dados sobre a utilização de recursos, mas o monitoramento normalmente é configurado para serviços ou projetos individuais sem uma exibição holística.
Pavimentado
A organização se concentra em estabelecer processos de provisionamento formalizados e consistentes durante toda a operação. No entanto, à medida que o volume de solicitações de infraestrutura aumenta, a equipe da plataforma pode ter dificuldades para acompanhar, mesmo com fluxos de trabalho estruturados em vigor. O desafio aqui é gerenciar a demanda crescente sem comprometer a qualidade do serviço ou a eficiência, aumentando a necessidade de soluções mais escalonáveis.
Definir processos de provisionamento: os engenheiros usam modelos de IaC (infraestrutura como código) para provisionar serviços. Os processos de provisionamento são formalizados e padronizados em toda a organização. As práticas de IaC são amplamente adotadas, com modelos e ferramentas consistentes usados por todas as equipes.
Responder e gerenciar solicitações de provisionamento de serviço e infraestrutura: as solicitações são tratadas por meio de um fluxo de trabalho estruturado, com modelos predefinidos e processos definidos para simplificar o provisionamento (por exemplo, caminhos pavimentados e caminhos dourados). As aprovações podem ser necessárias para determinados tipos de solicitações.
Monitorar a alocação de recursos: um conjunto abrangente de métricas é acompanhado, oferecendo visibilidade clara da alocação e utilização de recursos. Os painéis centralizados monitoram o uso de recursos em todos os serviços, fornecendo insights de desempenho.
Automatizado
Para resolver as limitações dos processos manuais e aumentar a eficiência, a organização caminha para automatizar o provisionamento e integrá-lo em pipelines de CI/CD. A automação reduz o esforço manual e garante a implantação consistente, com verificações de governança e conformidade internas no fluxo de trabalho. No entanto, essa mudança para tudo como código exige um nível mais alto de experiência em automação, script e codificação. Além disso, embora os modelos simplifiquem muitos processos, eles podem simplificar demais cenários complexos, exigindo refinamento contínuo para resolver casos de borda exclusivos efetivamente.
Definir processos de provisionamento: os processos de provisionamento são automatizados e integrados aos pipelines de CI/CD, permitindo a implantação rápida e consistente da infraestrutura. As verificações de governança e conformidade são integradas aos fluxos de trabalho de provisionamento.
Responda e gerencie solicitações de provisionamento de serviço e infraestrutura: a equipe da plataforma gerencia o processo de solicitação por meio de uma funcionalidade de autoatendimento automatizada, permitindo que os usuários provisionem recursos de forma independente dentro de parâmetros controlados. Os usuários autorizados têm acesso a recursos de criação de ambiente dedicados e compartilhados, padronizados e pré-configurados.
Monitorar a alocação de recursos: automatizar o dimensionamento com base nos padrões de uso.
Adaptativo
A organização se concentra em otimizar a alocação de recursos e o desempenho por meio de gerenciamento inteligente e proativo. O provisionamento não é apenas automatizado, mas também adaptável, com sistemas que antecipam e respondem às necessidades de infraestrutura em tempo real. Essa abordagem permite um equilíbrio entre flexibilidade e governança, garantindo que os recursos sejam alocados com eficiência, mantendo a conformidade. O desafio nesse nível é gerenciar a complexidade de equilibrar a governança centralizada com a autonomia das equipes descentralizadas, garantindo que os padrões de governança evoluam junto com as necessidades organizacionais sem sufocar a inovação.
Definir processos de provisionamento: os processos de provisionamento são automatizados e integrados aos pipelines de CI/CD, permitindo a implantação rápida e consistente da infraestrutura. As verificações de governança e conformidade são integradas aos fluxos de trabalho de provisionamento.
Responder e gerenciar solicitações de provisionamento de serviços e infraestrutura: as solicitações são tratadas automaticamente por um sistema inteligente que prevê necessidades e provisiona recursos proativamente, oferecendo flexibilidade ao mesmo tempo em que mantém a governança.
Monitorar a alocação de recursos: prever a demanda de recursos com base em dados históricos e padrões de uso atuais, provisionar automaticamente ou desalocar recursos para manter o desempenho ideal e a eficiência de custo.