![Gosto da iluminação do Path of Exile 2.](https://optimuscloud.com.br/wp-content/uploads/2024/05/1717146003_Path-of-Exile-2-chega-ao-PS5-no-final-de-150x150.jpg)
Path of Exile 2 chega ao PS5 no final de 2024
31 de maio de 2024![Black Python Devs: um novo grupo de afinidade com alcance global](https://optimuscloud.com.br/wp-content/uploads/2024/05/1717154526_Black-Python-Devs-um-novo-grupo-de-afinidade-com-alcance-150x150.jpg)
Black Python Devs: um novo grupo de afinidade com alcance global
31 de maio de 2024A Infraestrutura de Código (IfC) está ganhando interesse significativo e despertando conversas entre desenvolvedores e profissionais de DevOps. À medida que as organizações se esforçam por uma maior eficiência e automatização nos seus processos de implementação, o apelo da IfC reside na sua promessa de agilizar o provisionamento de infraestruturas, inferindo automaticamente os recursos necessários a partir do código da aplicação.
Esta inovação oferece uma forma perfeita de integrar a gestão de infraestruturas diretamente no fluxo de trabalho de desenvolvimento, prometendo colmatar a lacuna entre o desenvolvimento e as operações.
No entanto, apesar da sua crescente popularidade, alguns hesitam em experimentá-lo. Um dos equívocos mais comuns sobre Infraestrutura a partir de Código (IfC) é que ela sobrecarrega os desenvolvedores com a responsabilidade de escrever configurações específicas da infraestrutura diretamente no código de seus aplicativos.
Esse mal-entendido leva às seguintes crenças:
- Os desenvolvedores devem ter um conhecimento profundo da infraestrutura e dos recursos de tempo de execução que estão usando. Isso aumentará sua carga cognitiva e poderá distraí-los de seu foco principal de escrever a lógica do aplicativo.
- As equipes de operações perdem o controle e a governança da infraestrutura, pois as configurações são incorporadas diretamente no código do aplicativo pelos desenvolvedores. Isto pode resultar em configurações de infraestrutura inconsistentes, inseguras ou não compatíveis.
O que os frameworks IfC realmente fazem
IfC automatiza o processo de inferir os requisitos de tempo de execução de uma aplicação e criar uma especificação que documente esses requisitos. Esta especificação é gerada sem que nenhum código de infraestrutura específico seja adicionado ao aplicativo.
Por exemplo, para aproveitar um serviço de nuvem como um gateway de API, os desenvolvedores escrevem rotas em seus aplicativos e implementam manipuladores para essas rotas. Em muitos casos, eles não precisam se preocupar com qual gateway de API específico está sendo usado; eles só precisam entender que seu aplicativo será eventualmente implantado para aproveitá-lo.
A estrutura é então responsável por mapear os requisitos para os “fornecedores”, que são responsáveis pelo cumprimento do contrato. Basicamente, o framework coleta todos os recursos e os mapeia para implementações concretas de módulos que:
- Fornecer funções e permissões do IAM necessárias para permitir que os recursos se comuniquem e sigam os padrões de governança, como privilégio mínimo
- Habilite e provisione os serviços e recursos necessários e configure convenções de nomenclatura, convenções de rótulos e configurações mais refinadas apropriadas
O que os desenvolvedores realmente fazem
Na realidade, os desenvolvedores que usam estruturas IfC não estão gravando configurações de infraestrutura ou Infraestrutura como Código (IaC) em seus aplicativos. Com a abordagem que adotamos com a estrutura de código aberto Nitric, eles nem sequer anotam seu código com requisitos específicos de infraestrutura.
Em vez disso, os desenvolvedores se concentram exclusivamente na construção de seus aplicativos, usando recursos importados de um SDK. A única diferença que o desenvolvedor pode notar é que, ao declarar seus recursos, ele é obrigado a fornecer a finalidade pretendida para o recurso. Esta não é uma configuração, mas sim uma solicitação de permissões para acessá-la. O exemplo a seguir ilustra a intenção de um desenvolvedor ao declarar um bucket de armazenamento para leitura, gravação ou exclusão dele.
O que o DevOps realmente faz
Num ambiente IfC, as equipas DevOps concentram-se na gestão e manutenção da infraestrutura separadamente do desenvolvimento de aplicações. Eles são responsáveis por garantir que a infraestrutura atenda aos requisitos de tempo de execução da aplicação, que estão articulados na especificação do recurso. O DevOps se concentra na construção e manutenção de módulos reutilizáveis escritos com estruturas IaC que mantêm padrões de governança e conformidade. O exemplo a seguir fornece um bucket de armazenamento com uma convenção consistente de nomenclatura e rotulagem.
Como esta solução mantém a separação de preocupações
A Infraestrutura do Código (IfC) respeita a separação de preocupações que um projeto IaC tradicional mantém. Você ainda tem código de aplicativo e código de provisionamento de infraestrutura distintos, cada um dos quais pode ser mantido por equipes específicas de forma independente, se desejado.
O que o IfC traz para a mesa é a automação do processo de transferência entre equipes, essencialmente criando uma ponte sobre as águas frequentemente turbulentas da colaboração entre equipes em algumas organizações.
Esta ponte assume a forma de uma especificação de recurso. Esta especificação permite que as equipes de desenvolvimento e operações trabalhem com confiança. Os desenvolvedores podem prosseguir com a garantia de que seus requisitos de tempo de execução serão atendidos, enquanto as equipes de operações podem atender às solicitações de aplicativos usando IaC seguro e protegido. Este IaC pode ser inspecionado com ferramentas e fluxos de trabalho existentes, garantindo uma solução robusta de desenvolvimento e implantação.
Conclusão
Em última análise, separar seus arquivos e ferramentas não leva necessariamente a uma verdadeira separação de interesses. Sempre haverá um acoplamento inerente entre uma aplicação e seu tempo de execução. Idealmente, os requisitos de tempo de execução da sua aplicação devem informar a sua infraestrutura, e não o contrário — caso contrário, a sua aplicação poderá ser limitada.
Nitric fornece uma ponte entre o código do seu aplicativo e seu IaC que pode ser estendida mínima ou extensivamente para atender aos requisitos de sua equipe. Com a estrutura Nitric, a ponte existe no nível dos recursos, não no nível do aplicativo. Isso permite que você aproveite os benefícios do IfC em todos os seus projetos de forma consistente.
Experimente o IfC e experimente em primeira mão como ele pode automatizar processos, melhorar a eficiência e quebrar barreiras de comunicação dentro da sua organização.
A postagem Infraestrutura do Code Gives Ops Needed Freedom apareceu pela primeira vez em The New Stack.