sexta-feira, 23 de maio de 2014

Google: 'Tudo no Google é executado em um recipiente "


Automatização do ciclo de vida integrado: HP ProLiant Gen8


Google agora está em execução "tudo" na sua nuvem gigantesca em cima de um potencial sucessor de código aberto para virtualização, abrindo o caminho para que outras empresas façam o mesmo.


Caso VMware estar preocupado? Provavelmente não, mas a tecnologia pioneira da Google está fazendo incursões em uma certa classe de empresas tecnicamente sofisticados.







Essa tecnologia é chamada de Linux Containerization, e é o mais recente em uma longa linha de inovações destinadas a torná-lo mais fácil de empacotar aplicações e funda-los em torno de centros de dados. Não é uma nova abordagem - ver Solaris Zones, BSD prisões, Parallels, e assim por diante - mas o Google conseguiu popularizá-lo o suficiente para que uma indústria pequena está se formando em torno dele.


O envolvimento da Google na tecnologia é importante por causa da escala incompreensível em que a busca e anúncio gigante opera, o que beneficia a tecnologia por ela de testes de stress.


"Tudo no Google é executado em um recipiente", Joe Beda, um engenheiro de software sênior da equipe do Google, explicou em alguns diapositivos mostrados no Gluecon conferência desta semana. "Começamos mais de dois mil milhões de contêineres por semana."


Dois bilhões de embalagens por semana [Dois BEEELLION?-Ed.] Significa que para cada segundo de cada minuto de cada hora de cada dia, o Google está disparando-se, em média, cerca de 3.300 contêineres. Provavelmente começou a mais de 40.000 desde que você começou a ler este artigo.


A empresa é capaz de fazer isso por causa de como funciona a tecnologia: conteinerização Linux é uma maneira de compartilhar partes de um único sistema operacional entre vários aplicativos isolados, ao contrário de virtualização que irá suportar múltiplas aplicações, com seu próprio sistema operacional em cima de um único hypervisor.


Isso significa que, onde ele pode levar alguns minutos para girar uma máquina virtual, pode levar segundos para iniciar um contêiner porque você não está tendo ao fogo até o OS também.


Isso é benéfico para maciças aplicações distribuídas com muitas partes distintas que precisam ser convocado, executar e, em seguida, morto em pouco tempo. Ele também é muito mais eficiente do ponto de vista de utilização da CPU, o que importa se você é uma organização de TI focado como o Google.


A principal desvantagem com a abordagem está em segurança, porque se alguém pode sair de um recipiente e modificar a base do sistema operacional Linux, eles podem possuir todos os outros recipientes no sistema, enquanto que a virtualização evita este tipo de contaminação.


Googlecontainers

Google começou sua jornada em conteinerização em meados dos anos 2000, quando alguns engenheiros doou uma tecnologia chamada cgroups no kernel Linux. Esta tecnologia "fornece um mecanismo para agregar / conjuntos de particionamento de tarefas e todos os seus futuros filhos, em grupos hierárquicos com comportamento especializado."


Da mesma forma, a publicação do Google no MapReduce e documentos GFS deixar engenheiros Yahoo! criar um quadro de análise de dados de código aberto Hadoop, a adição de cgroups deixar para mais inovações por outras empresas.


O recurso do kernel cgroups tornou-se um componente crucial do LXC , Linux Containers, que combina cgroups com rede namespaces para tornar mais fácil a criação de recipientes e as formas que eles precisam para se conectar com outras infra-estruturas. Embora útil, isso ainda exigia que os usuários sofisticados.


Isto é, até que a inicialização Docker veio junto.


"A tecnologia não era acessível / útil para desenvolvedores, os recipientes não eram portáteis entre diferentes ambientes, e não havia nenhum ecossistema ou conjunto de contentores normais", explica o diretor-presidente da Docker Ben Golub em um e-mail para The Register.


"A inovação inicial de Docker foi para abordar estas questões", escreve ele, "fornecendo APIs padrão que fizeram recipientes fácil de usar, criando um caminho para a comunidade a colaborar em torno de bibliotecas de containers, trabalhando para fazer o mesmo portátil recipiente em todos os ambientes, e incentivar um ecossistema de ferramentas ".


A abordagem de Docker tem sido notavelmente bem sucedida e levou a parcerias com empresas como a Red Hat, a chegada de contentores Docker em nuvem da Amazon, e integração com projeto de análise de dados de código aberto Hadoop.


Take do Google sobre conteinerização é um pouco diferente, uma vez que coloca mais ênfase no desempenho e menos na facilidade de uso. Para tentar ajudar os desenvolvedores a entender a diferença, o Google desenvolveu uma variante do LXC nomeado, encantadoramente, lmctfy , abreviação de Let Me Conter isso para você.


Google descreve lmctfy como "a versão open source de pilha de contentores do Google, que fornece os recipientes de aplicações Linux. Estes recipientes permitir o isolamento de recursos utilizados por vários aplicativos em execução em uma única máquina. Isto dá aos aplicativos a impressão de funcionar exclusivamente em uma máquina . As aplicações podem ser container-consciente e, assim, ser capaz de criar e gerenciar seus próprios sub-recipientes ", a empresa explica na sua página Github.


"O projeto tem como objetivo proporcionar a abstração recipiente através de uma API de alto nível construído em torno intenção do usuário," Google escreve. "Os recipientes criados são eles próprios container-consciente dentro da hierarquia e pode ser delegada a ser gerida por outros agentes de usuário.


Por sua parte, Docker não está ameaçada por lmctfy e planeja executá-lo como um mecanismo de execução opcional dentro do software Docker.


"Docker fornecido inicialmente as APIs e padronização em cima de ferramentas LXC," Golub nos disse. "Com o lançamento do 0.9, adicionamos a capacidade de ter ambientes de execução swappable, de modo que podemos agora colocar estivador em torno LXC, libvirt, libcontainer, systemd / nspawn e outros formatos de contêiner de nível inferior. Work está acontecendo para apoiar LMCTFY como um mecanismo de execução sob Docker (formato do Google open source), e algum trabalho interessante é mesmo que está sendo feito para embrulhar em torno de Docker zonas, cadeias, e Parallels. "


Google também ofereceu um ramo de oliveira para Docker por adição de suporte para recipientes Docker em sua "Cloud Platform Google" em reconhecimento ao entusiasmo com que a tecnologia tem sido adotada.


Com conferência inaugural do Docker algumas semanas de distância e Eric Brewer, do Google programado para dar uma palestra, vamos ter a certeza de trazer-lhe mais informações sobre como essas duas abordagens para a mesma tecnologia se desenvolver, se entrelaçam, e melhor a vida dos desenvolvedores.


Você usa conteinerização no seu negócio, e se sim, o que ele faz para você? ®



Nenhum comentário:

Postar um comentário