Mudanças entre as edições de "Estudo de contêineres"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(17 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
= Conceitos gerais =
 
= Conceitos gerais =
  
== Contêineres ==
+
== Contêiner ==
  
 
* Ambiente isolado que empacota a aplicação e suas dependências;
 
* Ambiente isolado que empacota a aplicação e suas dependências;
 
* Compartilham o ''kernel'' do sistema operacional de gerência;
 
* Compartilham o ''kernel'' do sistema operacional de gerência;
* Iniciam instanteneamente e usam menos CPU e memória RAM que uma máquina virtual;
+
* Inicia instantaneamente e usa menos CPU e memória RAM que uma máquina virtual;
 +
* O foco é a aplicação que se deseja rodar;
 +
* É portátil pois contém a aplicação com tudo que a mesma necessita para funcionar;
 +
* Pode ser facilmente replicado;
 +
* Permite a execução de diversos ambientes em um mesmo sistema, não necessitando ter diversos sistemas operacionais completos para isso;
 +
 
 +
== Máquina Virtual ==
 +
 
 +
* Abstrai (virtualiza) o hardware;
 +
* O ''hypervisor'' permite que múltiplas máquinas virtuais sejam executadas em uma máquina física;
 +
* Cada máquina virtual contém uma cópia completa do sistema operacional, binários e bibliotecas, consumindo giga bytes em espaço em armazenamento, além de memória RAM e CPU;
 +
* O foco está na virtualização completa de um ambiente físico;
 +
* Tende a ser mais lento em decorrência da virtualização de hardware;
 +
 
 +
== Contêiner versus Máquina Virtual ==
 +
[[File:Conteiner-vs-mv2.png|center|600px]]
 +
 
 +
== Sistemas Operacionais ==
 +
[[File:Logo-SOs4.png|center|600px]]
 +
 
 +
Com relação aos sistemas operacionais focados em contêineres, há o Fedora CoreOS, antigo Container Linux by CoreOS e o openSUSE MicroOS, da SUSE Linux, cuja base é outro sistema operacional comunitário da empresa, o openSUSE Tumbleweed. Outros sistemas Linux como o Debian, openSUSE, Ubuntu, Fedora, ArchLinux também são ótimos sistemas para desktop que possam servir como hospedeiro de contêineres. No entanto, o Docker pode ser instalado em sistemas Microsoft Windows® e MacOS®, sendo que os contêineres a serem utilizados nesses sistemas deve possuir aplicações que executem nesses sistemas, ou seja, um contêiner para Microsoft Windows® deve conter os binários compilados para o sistema. A situação no MacOS® é análoga.<br />
 +
Aqui o foco será nos sistema operacional openSUSE, visto que dele deriva-se o openSUSE MicroOS que facilita a implementação do uso de aplicações em contêineres.
 +
 
 +
=== O openSUSE ===
 +
 
 +
O openSUSE é a versão mantida pela comunidade do sistema SLE (SUSE Linux Enterprise). É nele onde são testadas as aplicações que serão incluídas na versão paga do sistema operacional. <br />
 +
 
 +
Há duas ramificações desse sistema: Leap e Tumbleweed. O ramo Leap segue um modelo tradicional de lançamento de versão de sistema operacional, havendo grandes lançamentos entre versões. Por conta disso, o sistema tem um ciclo de vida que, o chegar ao fim do suporte, é preciso migrar para uma versão mais nova. Já o ramo Tumbleweed possui a característica de lançamento contínuo, ou seja, o modelo de ''rolling-release'', o qual o sistema não atem a uma versão específica, mas sim todo o grupo de aplicações é atualizado.

Edição atual tal como às 12h43min de 2 de março de 2023

Conceitos gerais

Contêiner

  • Ambiente isolado que empacota a aplicação e suas dependências;
  • Compartilham o kernel do sistema operacional de gerência;
  • Inicia instantaneamente e usa menos CPU e memória RAM que uma máquina virtual;
  • O foco é a aplicação que se deseja rodar;
  • É portátil pois contém a aplicação com tudo que a mesma necessita para funcionar;
  • Pode ser facilmente replicado;
  • Permite a execução de diversos ambientes em um mesmo sistema, não necessitando ter diversos sistemas operacionais completos para isso;

Máquina Virtual

  • Abstrai (virtualiza) o hardware;
  • O hypervisor permite que múltiplas máquinas virtuais sejam executadas em uma máquina física;
  • Cada máquina virtual contém uma cópia completa do sistema operacional, binários e bibliotecas, consumindo giga bytes em espaço em armazenamento, além de memória RAM e CPU;
  • O foco está na virtualização completa de um ambiente físico;
  • Tende a ser mais lento em decorrência da virtualização de hardware;

Contêiner versus Máquina Virtual

Conteiner-vs-mv2.png

Sistemas Operacionais

Logo-SOs4.png

Com relação aos sistemas operacionais focados em contêineres, há o Fedora CoreOS, antigo Container Linux by CoreOS e o openSUSE MicroOS, da SUSE Linux, cuja base é outro sistema operacional comunitário da empresa, o openSUSE Tumbleweed. Outros sistemas Linux como o Debian, openSUSE, Ubuntu, Fedora, ArchLinux também são ótimos sistemas para desktop que possam servir como hospedeiro de contêineres. No entanto, o Docker pode ser instalado em sistemas Microsoft Windows® e MacOS®, sendo que os contêineres a serem utilizados nesses sistemas deve possuir aplicações que executem nesses sistemas, ou seja, um contêiner para Microsoft Windows® deve conter os binários compilados para o sistema. A situação no MacOS® é análoga.
Aqui o foco será nos sistema operacional openSUSE, visto que dele deriva-se o openSUSE MicroOS que facilita a implementação do uso de aplicações em contêineres.

O openSUSE

O openSUSE é a versão mantida pela comunidade do sistema SLE (SUSE Linux Enterprise). É nele onde são testadas as aplicações que serão incluídas na versão paga do sistema operacional.

Há duas ramificações desse sistema: Leap e Tumbleweed. O ramo Leap segue um modelo tradicional de lançamento de versão de sistema operacional, havendo grandes lançamentos entre versões. Por conta disso, o sistema tem um ciclo de vida que, o chegar ao fim do suporte, é preciso migrar para uma versão mais nova. Já o ramo Tumbleweed possui a característica de lançamento contínuo, ou seja, o modelo de rolling-release, o qual o sistema não atem a uma versão específica, mas sim todo o grupo de aplicações é atualizado.