É impossível você ir a uma conferência de desenvolvedores hoje em dia e não ouvir sobre os termos containers, Docker e Kubernetes. A Microsoft, Google, Amazon e muitos outros parece ter voltado as atenções a este movimento no último ano. Por que será que todo mundo está tão animado com isso?
Um pouco sobre Containers
Para entender por que os Containers são um grande negócio, vamos pensar em containers físicos por um momento. A indústria naval moderna só funciona de forma tão eficiente porque foi padronizada em um pequeno conjunto de containers. Antes desse padrão, enviar objetos em massa era um processo bastante trabalhoso. Imagine a inconveniência de mover algumas caixas com smartphones por exemplo de um navio para outros meios de transporte por exemplo? Ao invés disso, os itens são colocados em containers onde se tem a certeza de que caberão nos porta-containers dos navios.
A expectativa por trás dos containers de software é essencialmente a mesma. Ao invés de transportar o sistema operacional completo e seu software, você simplesmente empacota o seu código e suas dependências em um container que pode ser executado em outro ambiente. Por serem muito pequenos, você pode rodar diversos outros containers em um único computador.
Um negócio vantajoso
Por que isso é um grande negócio? Antes dos containers se tornarem populares, os chamados “VPS ou computadores virtuais” permitem utilizar um único servidor para criar vários ambientes e aplicações isolados uns dos outros. Agora pense comigo: se você tivesse que rodar um novo servidor para cada aplicação, no final o custo seria algo astronômico concorda?
Os sistemas operacionais nas máquinas virtuais acreditam ter um servidor exclusivo para elas, mas na realidade, estão compartilhando o servidor com várias outras máquinas virtuais, que executam seus próprios sistemas operacionais e não sabem da sua existência. Abaixo de tudo isso está o sistema operacional principal que faz com que todas estas máquinas virtuais acreditem que elas são a coisa mais importante no mundo.
Comodidade
O uso desta tecnologia melhora a eficiência das equipes de software, porque facilita o trabalho conjunto de seus integrantes, ao mesmo tempo em que reduz despesas com comunicações. Na medida em que o software passa por vários estágios de desenvolvimento, o mesmo pode sair do PC do desenvolvedor para um outro ambiente e depois para um de produção rapidamente. A tecnologia de container promete rodar com consistência entre um ambiente para outro, seja ele virtual ou físico.
Esta tecnologia trabalha melhor quando cada elemento é designado para um processo simples. Por isso, começar a implementar uma arquitetura de microsserviços para uma grande aplicação ou projeto de software pode representar uma demanda intensiva de recursos, mas é um esforço que é recompensado pelos ganhos de agilidade obtidos, em função da velocidade de implementação dos containers, que varia de mili segundos a poucos segundos.
Conclusão
Embora existam diversas vantagens na tecnologia de container, as máquinas virtuais não desaparecerão tão cedo e não perderão jamais a sua importância. A HostDime disponibiliza planos VPS com a tecnologia KVM para hospedar suas aplicações.