Software · Infraestrutura & Sistemas

Containers no Windows e Além: Job Objects, Server Silos, Jails e Zones

Como o isolamento em nível de sistema operacional evoluiu além do Linux: Job Objects no Windows, FreeBSD Jails, Solaris Zones e a arquitetura dos Windows Server Containers.

Diagrama conceitual ilustrando containers no windows e além: job objects, server silos, jails e zones
Neste artigo

A narrativa popular de que containers nasceram no Linux com o Docker omite décadas de evolução em sistemas operacionais corporativos. O conceito de isolar processos compartilhando o mesmo kernel data de 1979 com o chroot no Unix V7, consolidou-se nos anos 2000 com o FreeBSD e Solaris, e ganhou vida própria no ecossistema Windows NT.

flowchart TD
  subgraph Evolucao["Linhagem Histórica de Isolamento"]
    Chroot["1979: Unix chroot<br/>(Mudança de diretório raiz)"]
    Jails["2000: FreeBSD Jails<br/>(IPs dedicados, filesystem e processos)"]
    Zones["2004: Solaris Zones<br/>(BrandZ, quotas de CPU e rede virtual)"]
    LXC["2008: Linux Namespaces & cgroups<br/>(Base do Docker em 2013)"]
    WinSilos["2016: Windows Server Silos<br/>(Containers nativos Windows)"]
  end

  Chroot --> Jails --> Zones --> LXC --> WinSilos

A Fundação do Windows: Job Objects

No Windows NT, muito antes de existirem ferramentas de containers, o kernel fornecia os Job Objects. Um Job Object agrupa múltiplos processos sob uma mesma fronteira de controle de recursos:

  • Limites máximos de memória física ou virtual.
  • Limite de taxa de ocupação de tempo de CPU (processor affinity e limites percentuais).
  • Prioridade compartilhada de escalonamento.
  • Encerramento atômico de toda a árvore de processos descendentes.

Embora úteis para contenção, Job Objects originais não ofereciam isolamento de namespace: os processos enxergavam os mesmos arquivos, chaves de registro do Windows e portas de rede dos demais processos do sistema.

FreeBSD Jails e Solaris Zones

No ano 2000, o FreeBSD introduziu os Jails, expandindo o chroot para isolar a tabela de processos, o subsistema de rede (atribuindo endereços IP dedicados a cada jail) e as permissões de superusuário (o root dentro do jail não conseguia alterar configurações do kernel hospedeiro).

Em 2004, a Sun Microsystems levou a tecnologia ao estado da arte corporativo com os Solaris Zones. As zonas permitiam particionar servidores SPARC maciços em ambientes totalmente independentes, com quotas garantidas por ZFS, interfaces virtuais e até kernels de compatibilidade para executar binários Linux diretamente sobre o Solaris (BrandZ).

A Arquitetura dos Containers Windows

Para suportar o Docker nativamente no Windows Server 2016, a Microsoft desenvolveu os Server Silos no subsistema executivo do NT:

graph TD
  subgraph ProcessIsolation["Modo Process Isolation (Kernel Compartilhado)"]
    K1["Kernel Windows NT"]
    Silo1["Server Silo A<br/>Registro Virtualizado<br/>Host Compute Service (HCS)"]
    Silo2["Server Silo B<br/>Registro Virtualizado<br/>Host Compute Service (HCS)"]
    K1 --> Silo1
    K1 --> Silo2
  end

  subgraph HyperVIsolation["Modo Hyper-V Isolation (Micro-VM Dedicada)"]
    Hypervisor["Hyper-V Hypervisor"]
    VM1["Micro-VM com Kernel NT dedicado<br/>Container A"]
    VM2["Micro-VM com Kernel NT dedicado<br/>Container B"]
    Hypervisor --> VM1
    Hypervisor --> VM2
  end
Característica Modo Process Isolation Modo Hyper-V Isolation
Kernel Compartilhado diretamente com o host NT Instância dedicada de micro-kernel em hardware virtual
Compatibilidade de Build Versão do container deve bater com a versão exata do SO hospedeiro Pode executar versões de build distintas ou até Linux via WSL2
Isolamento de Segurança Fronteira baseada em software (Silos + Object Manager) Fronteira blindada por hardware e hipervisor
Consumo de Memória Leve (poucas centenas de megabytes) Maior pegada inicial devido à inicialização da VM

Compreender essa evolução permite que engenheiros avaliem com clareza as garantias de segurança de cada runtime, identificando quando o isolamento baseado em software é suficiente ou quando exigências regulatórias demandam barreiras físicas por hipervisor.

Explorar este tema no Grafo de Conhecimento