Por que razão devemos contêiner as nossas aplicações

Por que razão devemos contêr as nossas aplicações? Em primeiro lugar, é de notar que uma aplicação pode funcionar correctamente num sistema sem contentores ou dentro de um contentor. Pode funcionar correctamente em qualquer dos modos.

Então porquê “perder tempo” a passar a aplicação para contentores?

Quando preparamos uma aplicação para correr em contentores, não estamos a perder tempo. Pelo contrário, estamos a poupar tempo no futuro.

Deixe-me explicar, quando uma aplicação está preparada para funcionar em contentores, estamos a tornar a aplicação mais independente de um sistema porque podemos actualizar o sistema onde os contentores funcionam sem afectar a aplicação e, pelo contrário, podemos actualizar a imagem da aplicação sem afectar o sistema base. Por conseguinte, fornecemos uma camada de isolamento à aplicação.

É importante notar que a imagem que preparamos para a candidatura deve estar em conformidade com as normas da OCI ou Open Container Initiative (como pode ser verificado em https://opencontainers.org/ ), ou seja, a imagem está em conformidade com a OCI, podemos executar a imagem da nossa aplicação em todas as rotinas compatíveis, tais como:

  • Docker
  • Containerd
  • Cri-o
  • Rkt
  • Runc

Bem, o que mais ganhamos em ter a aplicação pronta a correr num contentor?

Para além do acima referido, podemos tirar partido das rotinas anteriores e gestores autónomos como o Docker com orquestradores como os orquestradores:

  • Docker-swarm (não é o mais utilizado)
  • Kubernetes (o derradeiro orquestrador)

Este tipo de orquestrador oferece grandes vantagens para a nossa aplicação, tais como alta disponibilidade, escalabilidade, monitorização, flexibilidade, etc. Fornecem uma camada extra de abstracção que facilita a gestão de redes, volumes, gestão de instâncias, e tudo relacionado com a gestão de contentores.

Por exemplo, utilizando Kubernetes pode ter uma aplicação em produção e tê-la à escala baseada na utilização de CPU ou RAM. Pode também certificar-se de que há um certo número de casos. E, mais importante ainda, é possível deslocar-se sem causar um desastre, gerindo muito rapidamente um rollback, se necessário.

Conclusões

Há apenas alguns anos atrás, a indústria em geral só via isto como viável para ambientes não produtivos (excepto para os mais ousados), mas recentemente estamos a assistir a uma adopção cada vez mais generalizada deste tipo de tecnologia. De facto, a grande maioria dos principais actores da tecnologia das nuvens tem serviços relacionados com as nuvens no local.

Deixe uma resposta