Estudo de contêineres: mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Joao.ms (discussão | contribs)
Sem resumo de edição
Joao.ms (discussão | contribs)
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 5: Linha 5:
* 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;
* Inicia instanteneamente e usa 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;
* É portátil pois contém a aplicação com tudo que a mesma necessita para funcionar;
* Pode ser facilmente replicado;
* Pode ser facilmente replicado;
* Permite a exe
* Permite a execução de diversos ambientes em um mesmo sistema, não necessitando ter diversos sistemas operacionais completos para isso;


== Máquina Virtual ==
== 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

1 Conceitos gerais

1.1 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;

1.2 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;

1.3 Contêiner versus Máquina Virtual

1.4 Sistemas Operacionais

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.

1.4.1 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.