Pesquisa de site

Docker vs CoreOS Rkt


A menos que você tenha se escondido debaixo de uma pedra em um datacenter desde o século passado, é provável que já tenha ouvido falar do Docker, a principal solução de contêiner de software do mercado. E se sim, você provavelmente já ouviu falar de seu principal concorrente, o CoreOS, também. Vamos ver como os dois se comparam nesta comparação.

O zeitgeist do DevOps desempenhou um papel importante em impulsionar esses dois fornecedores para o mainstream de TI - para os profissionais, os contêineres oferecem consistência e portabilidade sem precedentes para testar e enviar aplicativos de software modernos. Tradicionalmente, você criaria uma máquina virtual para testar e implantar aplicativos; Atualmente, os contêineres oferecem uma opção mais leve e fácil de gerenciar para fornecer aplicativos prontos para execução, independentemente do ambiente.

O CoreOS Rocket (rkt) é o primeiro desafiante confiável ao domínio do Docker no espaço de contêineres. Simplificando, o rkt é uma tecnologia de contêiner mais segura, projetada para aliviar muitas das falhas inerentes ao modelo de contêiner do Docker. Alex Polvi, do CoreOS, cita as motivações de sua empresa para construir uma alternativa de contêiner mais segura ao Docker:

"Do ponto de vista da segurança e da capacidade de composição, o modelo de processo do Docker - em que tudo é executado por meio de um daemon central - é fundamentalmente falho. 'Consertar' o Docker significaria essencialmente uma reescrita do projeto, herdando toda a bagagem da implementação existente. "

Vale a pena notar que, desde então, o Docker corrigiu algumas de suas falhas de segurança mais críticas - por exemplo, sua versão 1.10 eliminou a necessidade de executar contêineres como root, abordando uma queixa de segurança de longa data entre seus adotantes.

Estivador

Originalmente destinado a estender os recursos do Linux Containers (LXC), o Docker foi criado como um projeto de código aberto em 2013; A solução da empresa é agora a plataforma líder de conteinerização de software no mercado. Usando o LXC, o Docker atua como um mecanismo de contêiner portátil para empacotar aplicativos e dependências em contêineres facilmente implantáveis em qualquer sistema Linux.

A interface do usuário do Docker Kitematic. Fonte: docker.com.

Como a tecnologia do Docker é baseada no LXC, os contêineres não executam uma versão independente do kernel do sistema operacional. Em vez disso, todos os contêineres em um determinado host são executados no mesmo kernel, com outros recursos isolados por contêiner. Isso permite um alto grau de isolamento (embora não tão isolado quanto uma VM completa) com uma sobrecarga de recursos menor.

CoreOS

O CoreOS lançou o rkt em 2014 como uma alternativa mais segura, interoperável e aberta ao Docker. Como mencionado anteriormente, as versões anteriores do Docker são executadas como root - como resultado, as vulnerabilidades existentes dentro dos contêineres podem dar privilégios de superusuário a um invasor. Outro ponto forte do CoreOS é a operabilidade aberta: o rkt usa um formato de contêiner de código aberto chamado appc, enquanto o Docker usa seu próprio formato de imagem proprietário

A interface do usuário tectônica do CoreOS. Fonte: coreos.com.

Atualmente, o conjunto de ofertas do CoreOS (por exemplo, Container Linux, Tectonic) está focado no espaço de gerenciamento de infraestrutura de contêineres; A rkt compete claramente com o Docker, mas as ofertas das duas empresas provavelmente serão recomendadas como tecnologias complementares. Mais uma vez, o Docker fez grandes avanços na resolução de muitas de suas deficiências percebidas em relação ao CoreOS. Em relação à operabilidade aberta, o Docker 1.11 viu a adoção da Open Container Initiative (OCI), um padrão suportado pela RedHat, Google, AWS, VMware - bem como pelo CoreOS.

Pontuação lado a lado: Docker vs. CoreOS

1. Conjunto de recursos

Quando se trata de contêineres, o Docker e o CoreOS são os players dominantes nesse espaço - ambos os fornecedores alcançaram o domínio do mercado por meio da construção de um ecossistema abrangente de ofertas capazes para aumentar suas principais tecnologias de contêineres. O CoreOS posiciona o rkt como uma solução de contêiner mais focada em segurança; além disso, seu Container Linux da CoreOS é um sistema operacional leve de código aberto baseado no kernel Linux. Para recursos avançados, a solução Datacenter do Docker oferece orquestração de contêineres corporativos, gerenciamento de aplicativos e segurança de nível empresarial.

EstivadorCoreOS
5/55/5

2. Facilidade de uso

Embora nenhuma dessas tecnologias tenha sido projetada para iniciantes, ambos os fornecedores percorreram um longo caminho para tornar os contêineres mais acessíveis a um público de TI mais amplo. Por exemplo, o Docker oferece o Kitematic como uma solução baseada em GUI para gerenciar contêineres do Docker, enquanto a plataforma Tectonic do CoreOS permite o gerenciamento visual de contêineres e clusters do CoreOS.

EstivadorCoreOS
4/54/5

3. Apoio da Comunidade

Tanto o Docker quanto o CoreOS desenvolveram uma forte comunidade de seguidores devido às suas ofertas de código aberto proeminentes e amplamente adotadas. O CoreOS mantém um hub ativo de recursos da comunidade; da mesma forma, o portal da comunidade e os fóruns do Docker são recursos populares de autoatendimento entre os usuários do Docker.

EstivadorCoreOS
5/55/5

4. Taxa de liberação

Os produtos de ambos os fornecedores têm visto atualizações e lançamentos regulares, embora a solução de contêiner do Docker - atualmente na versão 1.13 - seja uma oferta mais sênior do que o CoreOS rkt. Na verdade, este último acabou de fazer seu lançamento 1.0 em fevereiro de 2016, enquanto o Docker 1.0 fez sua estreia no início de 2013.

EstivadorCoreOS
5/55/5

5. Preços e suporte

Um sistema de monitoramento não solucionará um erro de configuração. Um script de teste de configuração irá.

Tanto o Docker quanto o CoreOS rkt são ofertas gratuitas e de código aberto, com várias ofertas corporativas pagas que consistem principalmente em serviços e suporte de valor agregado. Os produtos comerciais do Docker incluem o Docker Datacenter (a partir de US$150 por mês/instância) para contêineres de suporte do fornecedor por trás do firewall e o Docker Cloud (com US$7 meses/5 repositórios) para criar/enviar repositórios privados. As opções pagas do CoreOS são totalmente relacionadas ao suporte - por exemplo, sua oferta de suporte Tectonic/Kubernetes começa em US$3000 para 10 servidores.

EstivadorCoreOS
5/55/5

6. API e extensibilidade

O CoreOS usa o gRPC, uma estrutura RPC universal de código aberto e de alto desempenho, para fornecer às suas ofertas uma API RESTful. Para não ficar para trás, o Docker oferece um conjunto completo de APIs REST e SDKs que permitem aos desenvolvedores controlar todos os aspectos da pilha de contêineres a partir de aplicativos personalizados. E tanto o CoreOS quanto o Docker são projetos de código aberto, com código-fonte totalmente disponível e hospedado no GitHub.

EstivadorCoreOS
5/55/5

7. Integrações de terceiros

O Docker Hub é o serviço hospedado na nuvem da empresa que oferece mais de 100.000 aplicativos gratuitos, registros públicos e privados, com repositórios oficiais dos principais fornecedores terceirizados - de Nginx e Ubuntu a MongoDB e Redis. O CoreOS é mais DIY/barebones a esse respeito, embora todos os seus projetos estejam disponíveis no GitHub.

EstivadorCoreOS
5/53/5

8. Empresas que o utilizam

O Docker é usado por muitas das principais empresas de hoje: ADP, PayPal, Ebay, BBC News, Spotify, Lyft, Expedia, Groupon, GE Appliances, ING e Uber. Da mesma forma, o CoreOS é usado por empresas proeminentes como CA Technologies, Verizon, Viacom, Salesforce.com, DigitalOcean, para citar algumas.

EstivadorCoreOS
5/55/5

9. Curva de aprendizado

De um modo geral, atualizar-se com contêineres não é uma tarefa para os tecnicamente desafiados; uma proficiência básica em Linux certamente ajuda nesse sentido. Ambas as ofertas têm curvas de aprendizado íngremes, especialmente porque são compostas por várias camadas de partes móveis. Felizmente, tanto o Docker quanto o CoreOS fornecem excelentes recursos de site para aprender a usar suas respectivas tecnologias.

EstivadorCoreOS
4/54/5

10. Classificação de segurança

Apesar de uma boa classificação de segurança de 760, a postura de resiliência do Docker é prejudicada por DNSSEC desativado e outros problemas de segurança. O CoreOS também obtém uma classificação de segurança aceitável de 675, apesar das lacunas.

Placar e Resumo

Estivador CoreOS
Conjunto de recursos5/5 5/5
Facilidade de uso4/5 4/5 
Apoio da comunidade5/5 5/5 
Taxa de liberação5/5 5/5 
Preços e suporte5/5 5/5 
API e extensibilidade5/5 5/5 
Integrações de terceiros5/5 3/5 
Empresas que o utilizam5/5 5/5 
Curva de aprendizado4/5 4/5 
Classificação de segurança760675
Total4,7/54,5/5

Em suma, ambas as ofertas de contêiner têm seus benefícios exclusivos, mas, além do rkt e seus benefícios de segurança decrescentes em relação ao Docker, as ofertas dos dois fornecedores são, em sua maioria, complementares. Por exemplo, é bastante comum que as empresas implantem contêineres do Docker no CoreOS com seu gerenciador de cluster de frota. E como a especificação OCI recém-proposta usa o formato de imagem do Docker 2.2 como base para tipos comuns de imagem de contêiner, o Docker e o CoreOS estarão ostensivamente menos preocupados com padrões de contêiner de duelo e mais focados na criação de um conjunto abrangente e interoperável de ferramentas para gerenciar todo o ecossistema de contêineres.

Artigos relacionados