Por que é importante adotarmos “infraestruturas imutáveis”?

Há tempos, a forma dominante de manter nossas aplicações “rodando” tem sido através de infraestruturas “mutáveis”. Ou seja, compostas por servidores projetados para continuar funcionando por tempo indeterminado, recebendo atualizações na medida em que estas ficam disponíveis. Entretanto, esse “jeito de funcionar”, parece estar com os dias contados!

[tweet]Manter os servidores, em produção, devidamente atualizados e saudáveis é um desafio crescente.[/tweet] A menos que passemos a fazer as coisas de uma forma diferente da que fazemos hoje, nossos obstáculos só vão aumentar.

O “jeito mutável”, tem feito com que frequentemente, rotinas administrativas, mesmo as aparentemente inocentes, originem falhas notáveis em produção. Nem mesmo a adoção de ótimas ferramentas, como Puppet, Chef, Ansible e Octopus, tem sido suficientes para impedir que coisas assim aconteçam.

A raiz das dificuldades relacionadas as infraestruturas “mutáveis”, acreditamos, é a “complexidade” crescente e manifesta em suas quatro origens comuns:

  1. dimensionalidade alta, tanto nos diversos fluxos independentes de atualização quanto na heterogeneidade resultante nas diversas instâncias de servidores;
  2. interdependência crescente dos componentes, expressa na falta evidente de resiliência das arquiteturas;
  3. grande influência de fatores externos, sobretudo em atualizações que não tem qualquer relação com as demandas da aplicação operando em um servidor e que, mesmo assim, são instaladas e geram impactos negativos;
  4. baixíssima reversibilidade, assinalada na dificuldade de reverter “impactos colaterais” causados por rotinas de atualização que gostaríamos que fossem desfeitas.

As soluções para estas origens de complexidade, presentes nas infraestruturas “mutáveis”, passam pelo rompimento definitivo com o paradigma.

A recomendação tem sido para que, inspirados pelos contêineres, deixemos de utilizar servidores, incrementalmente atualizados, projetados para operar por tempo indeterminado. No lugar deles, que adotemos métodos ágeis para “levantar” e “derrubar” servidores, rapidamente, a partir de scripts de configuração. Esses servidores não seriam atualizados em produção, permanecendo “imutáveis”, sendo substituídos por novas instâncias sempre que necessário.

A “infraestrutura imutável”, combinada com o conceito de “infraestrutura como código”, possibilita, inclusive, com ferramentas como a Packer, da HashiCorp, que apliquemos as mesmas estratégias de CI/CD que já aplicamos com sucesso no desenvolvimento de aplicações. Dessa forma, temos:

  1. redução na dimensionalidade, uma vez que concentramos os fluxos de atualização sempre na atualização do script que gera a imagem dos servidores e que as instâncias passam a ter homogeneidade garantida pela utilização da mesma imagem;
  2. redução da interdependência, visto que o deploy da aplicação fica combinado com o da infraestrutura;
  3. menor influência do ambiente, uma vez que as imagens são projetadas em isolamento e podem ser testadas também em isolamento;
  4. aumento da reversibilidade, uma vez que, por serem imutáveis, os servidores não armazenam estado e podem ser gerados, rapidamente, por versões anteriores de seus scripts de configuração.

Em termos simples, infraestruturas “imutáveis” atacam as origens comuns da complexidade e, por isso, invariavelmente, são mais simples, eficientes e mais baratas.

Finalmente, mas não menos importante, infraestruturas “imutáveis” são plenamente alinhadas com os princípios da computação em nuvem. Afinal, a geração de novas instâncias, simplificada a partir de scripts, melhora a descartabilidade dos servidores e habilita a utilização de features como auto-scaling e self-healing.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
5 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jonas Santos
Jonas Santos
4 anos atrás

Conteúdo superficial, não resolve nada, não serve nem pra teoria. Esperava mais de uma empresa chamada “Eximia”..

Bom, esperar oque, todo conteúdo desses sites é nesse sentido, oque me impressiona é o “dono” falar amadorismo remunerado, quando o mesmo parece ocorrer nesses blogs. 🙄

Elemar Júnior
Elemar Júnior
4 anos atrás

Mais uma vez, Jonas, você comenta e agradecemos pelo feedback honesto. Mais uma vez, verificamos que o email que você forneceu é falso. 😉

Se quiser fazer algo mais construtivo, entre em contato com a gente em um canal onde possamos entender melhor sua posição.

Elemar Júnior
Elemar Júnior
4 anos atrás

Em tempo, o post indicado pelo Jonas é esse aqui.

https://www.eximiaco.tech/pt/2019/05/31/somos-amadores-remunerados/

Rodrigo
Rodrigo
4 anos atrás

Kkkk.
Elemar… Tem que ser muito fã seu pra se dar o trabalho.

Daniel Passos
Daniel Passos
4 anos atrás

Excelente artigo Elemar, enriquecedor como sempre!
Sobre o menino Jonas, é incrível como sempre tem um menininho que fica sentido e acoado com tamanha qualidade técnica sua. Acho que todo artigo aparece um cara desses, nem se incomode rsrs.
Forte abraço!

AUTOR

Douglas Picolotto
Com mais de 15 anos de experiência, atua como engenheiro de nuvem e arquiteto de software, sendo especialista em Containers e DevOps. Auxilia empresas na adoção de nuvem, entregando software com maior qualidade e confiabilidade.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquivo

Pós-pandemia, trabalho remoto e a retenção dos profissionais de TI

CTO Consulting e Especialista em Execução em TI
5
0
Queremos saber a sua opinião, deixe seu comentáriox
Masterclass

O Poder do Metamodelo para Profissionais Técnicos Avançarem

Nesta masterclass aberta ao público, vamos explorar como o Metamodelo para a Criação, desenvolvido por Elemar Júnior, pode ser uma ferramenta poderosa para alavancar sua carreira técnica em TI.

A sua inscrição foi realizada com sucesso!

O link de acesso à live foi enviado para o seu e-mail. Nos vemos no dia da live.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Por que é importante adotarmos “infraestruturas imutáveis”?

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Por que é importante adotarmos “infraestruturas imutáveis”?

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?