Mudanças entre as edições de "Estudo de contêineres"
(17 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
= Conceitos gerais = | = Conceitos gerais = | ||
− | == | + | == 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; | ||
− | * | + | * 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
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.
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.