Crédito da imagem: Getty Images
Confira as sessões sob demanda do Low-Code/No- Code Summit para aprender como inovar com sucesso e obter eficiência aprimorando e dimensionando desenvolvedores cidadãos. Assista agora
.
Simplificando, “Everything as Code” (EaC) é uma maneira de gerenciar a infraestrutura de TI e criar sistemas e ferramentas que suportam aplicativos de software modernos. Ele pega os processos e atividades manuais que as pessoas fazem e os transforma em código de software para que as máquinas possam fazer essas coisas. Qualquer coisa que as equipes precisem descobrir, concordar e controlar é documentada e “codificada” como um arquivo de configuração que os humanos podem ler e, em seguida, as máquinas podem executar.
Imagine se sua cozinha pudesse de alguma forma entender sua receita favorita e então escolher automaticamente as ferramentas certas para prepará-la, o processo certo para cozinhá-la e até mesmo o vinho certo e as combinações de sobremesas, e então sirva aquela refeição exata para você repetidamente, toda vez que você pedir. Parece impossível? …Isso é. Mas se sua cozinha fosse um provedor de nuvem pública e sua refeição fosse um aplicativo de software, é exatamente disso que estamos falando aqui.
Everything as Code permite que os desenvolvedores digam a seus provedores de nuvem (ou seus sistemas locais) exatamente o que eles precisam para “servir” o aplicativo perfeito e, em seguida, os sistemas e ferramentas e todos os processos executam esse plano para fazê-lo.
Usando as melhores práticas de desenvolvimento para acelerar o tempo de lançamento no mercado
EaC tem sido uma mudança tanto cultural quanto tecnológica porque revolucionou completamente a forma como os desenvolvedores pense sobre a construção, implantação e atualização de software. Por exemplo, antes de “como código”, se, digamos, uma pequena empresa precisasse executar um aplicativo, ela precisaria seguir várias etapas. Um administrador de TI solicitaria um servidor físico com a quantidade certa de disco físico integrado, CPU e memória. Chegaria algumas semanas depois, e o administrador teria que instalar o sistema operacional, configurar o kernel para máxima eficiência e então conectar o servidor a uma rede física. Todas essas etapas eram demoradas, propensas a erros humanos e não eram facilmente escaláveis — e apenas algumas das coisas que precisavam ser feitas antes que os desenvolvedores de software pudessem realmente começar a executar seus aplicativos.
Evento
Cúpula de Segurança Inteligente
Registrar agora
Com uma abordagem “como código”, um desenvolvedor pode descrever a mesma infraestrutura em um arquivo de configuração de política, que informa ao provedor de nuvem escolhido exatamente o tipo certo de ambiente de servidor para “ativar”. O provedor de nuvem pode configurá-lo em segundos e o desenvolvimento pode começar imediatamente. Posteriormente, se o desenvolvedor precisar fazer uma alteração ou passar de um ambiente de teste para um ambiente de produção, basta modificar o arquivo no código, reenviá-lo e o provedor de nuvem o atualizará em segundos. Isso aumenta a velocidade e a escala exponencialmente, pois as máquinas podem executar o código muito mais rápido do que os humanos podem executar tarefas e, se bem feito, também pode eliminar o erro humano e o trabalho repetitivo.
Exemplos populares “como código”
Dois dos exemplos mais populares de “como código” que fazem parte do movimento Everything as Code são infraestrutura como código e política como código
:
Infraestrutura como código
O software moderno é executado em um ambiente hipervirtualizado, o que adiciona complexidade, mas também permite um nível de controle inigualável. O código do aplicativo é executado em contêineres virtuais, eles próprios sendo executados em máquinas virtuais, todos conectados a uma rede virtual — todos os quais podem ser controlados com código de software. Hoje, em vez de solicitar um servidor, os desenvolvedores podem simplesmente definir o que seu aplicativo precisa e enviar essa solicitação como código de software. As plataformas de nuvem executam esse código e constroem automaticamente o ambiente que foi solicitado. O que é realmente importante sobre isso é que permite que as empresas “ampliem sob demanda” – elas pagam pelo uso real a qualquer momento e podem aumentar ou diminuir conforme necessário.
Política como código
É quando as políticas são um monte de regras codificadas e aplicadas em diferentes sistemas. Pense na “política como código” como um conjunto de barreiras que determinam o que pode acontecer e o que nunca pode acontecer. A política é desacoplada – ou separada – do aplicativo ou da infraestrutura. Dessa forma, se uma política precisar ser alterada, um desenvolvedor não precisa atualizar — ou se preocupar em alterar ou interromper — o restante do aplicativo ou da infraestrutura. Isso significa que você pode alterar a codificação da política sem alterar a codificação do aplicativo. Abrir
Agente de Política (OPA) é um ótimo exemplo de política como código — OPA é um mecanismo de política de propósito geral que fornece um único padrão para políticas que podem ser aplicadas em qualquer lugar. Top três benefícios de uma abordagem tudo como código
Quando você permite que os humanos sejam criativos e pensem em problemas difíceis , e você os deixa colaborar, compartilhar e imaginar, todos nós sabemos que a mágica pode acontecer. Tudo como código permite que os humanos decidam o que é certo e, em seguida, incumbem as máquinas de fazer isso. Isso significa que você obtém o melhor de tudo, incluindo:
Repetibilidade : Todos os processos, políticas e descrições são escritos em código, para que sejam facilmente replicados. Digamos que um desenvolvedor que trabalha para um banco global deseja definir uma política que diga: “Apenas usuários localizados na região central dos EUA podem acessar contas comerciais entre 9h e 17h CT”. Se outro desenvolvedor localizado na Europa quiser implementar a mesma política, mas com um fuso horário atualizado, ele poderá facilmente replicar a política para fazer isso. Isso economiza o tempo do segundo desenvolvedor, livra-o de reinventar a roda e também significa menos espaço para erros. Escalabilidade: definir a configuração como código significa que os sistemas podem ser dimensionados e baixo sob demanda com pouco risco de erro. E como os ambientes são literalmente definidos em código e podem ser executados em qualquer lugar, o teste também fica mais fácil. Os ambientes de desenvolvimento, teste e produção podem ser tão idênticos quanto possível, e as lições aprendidas em um podem ser aplicadas aos outros apenas com mudanças de política. Com uma abordagem “como código”, os desenvolvedores podem testar suas alterações antes de colocá-las em produção, reduzindo o risco de erros e riscos de segurança. A automação também libera o tempo dos desenvolvedores e permite que eles se concentrem em trabalhos mais diferenciados. Segurança: quando a política de segurança e a configuração são removidas de caixas pretas dedicadas, PDFs e reuniões de equipe e, em vez disso, são codificadas em arquivos de política, as equipes podem tratar esses arquivos de política apenas como qualquer outro arquivo de software. Isso significa que eles verificam e revisam por pares. Eles iteram e implementam essa segurança em todos os lugares. Ele pode ser rolado para frente ou para trás conforme necessário. E, quando as equipes precisam provar aos auditores que sua política está em conformidade, elas podem facilmente apontar para o código.
Quando bem feito, “tudo como código ” permite que as equipes definam o que é certo e, em seguida, permite que os sistemas o façam a partir daí. Ele democratiza a capacidade de construir aplicativos e resolver problemas, o que significa que mais pessoas podem contribuir para um produto final melhor.
E, claro, Everything as Code não é apenas sobre o controle de sistemas. Também aproveita a cultura de trabalho que os desenvolvedores de software construíram para minimizar erros e maximizar a satisfação e a produtividade. Ao automatizar a repetição e promover a colaboração, Everything as Code permite que os humanos se concentrem em novos desafios e trabalhos significativos e permite que as máquinas cuidem do resto.
Tim Hinrichs é CTO e cofundador da Styra.
Tomadores de Decisão de Dados
Bem-vindo à comunidade VentureBeat!
DataDecisionMakers é onde os especialistas, incluindo o pessoal técnico que trabalha com dados, podem compartilhar ideias e inovação relacionadas a dados.
Se você quiser ler sobre ideias de ponta e atualizações Informações atualizadas, práticas recomendadas e o futuro dos dados e da tecnologia de dados, junte-se a nós no DataDecisionMakers.
Você pode até considerar contribuir com um artigo de sua autoria!
Leia mais de DataDecisionMakers