Lar O negócio Contentores, explicados

Contentores, explicados

Índice:

Vídeo: Trials Replay Corrida dos Contêineres 2014_01 (Outubro 2024)

Vídeo: Trials Replay Corrida dos Contêineres 2014_01 (Outubro 2024)
Anonim

Até agora, os contêineres são um conceito familiar para o seu departamento de TI. As pequenas ou médias empresas (SMBs) mais ágeis já podem estar usando-as. No que diz respeito ao desenvolvimento de aplicativos e à infraestrutura de TI, os contêineres Linux são tão modernos quanto você verá com esse tipo de tecnologia.

De fato, a 451 Research projeta o mercado de contêineres de aplicativos para expandir de US $ 762 milhões em 2016 para US $ 2, 7 bilhões em 2020. Enquanto isso, o Gartner prevê que mais de 50% das organizações globais executarão aplicativos em contêineres em 2020, um aumento de menos de 20% em 2017.

Já explicamos como a arquitetura modular de aplicativos de microsserviços está ajudando as equipes de desenvolvimento e TI a trabalhar com mais eficiência, reduzindo o custo e a complexidade de adicionar novos recursos e funcionalidades. Do ponto de vista da tecnologia, os contêineres são o agente catalisador dessa equação do DevOps. Eles são o pacote conveniente por meio do qual as equipes de DevOps e TI podem passar rápida e consistentemente o código, configurações e dependências de um aplicativo.

Mas o que isso realmente significa para o seu negócio? Conversei com as soluções empresariais de TI e a empresa de software de código aberto Red Hat para descobrir. Este explicador explicará não apenas o que são contêineres e como eles funcionam, mas as diferentes maneiras pelas quais - depois de entender a tecnologia - sua organização pode usar implantações em contêiner no topo do seu data center ou infraestrutura de nuvem para fornecer software de qualidade mais rapidamente.

Contentores 101

Em seu nível mais básico, os contêineres do Linux são apropriadamente nomeados para os contêineres de remessa de metal aos quais costumam ser equiparados. Seja em um navio de carga, trem de carga ou na traseira de um caminhão grande, o próprio contêiner é o mesmo navio uniforme de transporte de mercadorias. Lars Herrmann, Gerente Geral da Unidade de Negócios de Soluções Integradas da Red Hat, supervisiona a tecnologia de contêineres Linux da empresa. Herrmann disse que as empresas deveriam simplesmente considerar os contêineres como uma nova unidade de trabalho.

"Os contêineres têm tudo a ver com agilidade", disse Herrmann. "Em uma organização complexa, trata-se de atribuir responsabilidades, juntamente com a liberdade de fornecer recursos. E os contêineres oferecem a você essa tecnologia para manter tudo junto enquanto ainda gerencia sua responsabilidade por segurança, disponibilidade, conformidade regulamentar - tudo o que importa".

Clique na imagem para obter o infográfico completo. Crédito da imagem: Twistlock

Dessa maneira, a homogeneidade dos contêineres os torna blocos de construção fáceis de usar. São unidades pequenas e conectáveis, nas quais é possível criar uma arquitetura de microsserviços, responsável pela eficiência operacional e pelo controle de versão. Ao mesmo tempo, eles fornecem às equipes de DevOps e de TI controle granular sobre como implantar recursos de infraestrutura. Herrmann também apontou que os contêineres são fundamentalmente uma tecnologia de sistema operacional (SO).

"Os contêineres pegam o sistema operacional e o dividem em dois pedaços", explicou Herrmann. "Por um lado, você obtém a unidade de trabalho do aplicativo, que contém o código e as dependências do aplicativo, de maneira que pode ser otimizada pelas equipes do DevOps, além de autonomia e controle para tomar decisões quando desejarem. Eles não precisam mais espere por outras equipes.

"A outra parte é o kernel do sistema operacional. O kernel do SO e a carga útil do contêiner fornecem suporte para os recursos e primitivos que você deseja disponíveis, como armazenamento, rede e segurança. Como os contêineres são uma tecnologia do sistema operacional, você pode executá-los em qualquer lugar, seja virtual hosts ou uma nuvem pública. Essa qualidade híbrida permite gerenciar qualquer aplicativo em qualquer ambiente usando a mesma tecnologia e, ao mesmo tempo, capacitar as equipes de DevOps."

Contêineres também não são a mesma coisa que virtualização. Herrmann explicou que contêineres e virtualização são forças recíprocas. A virtualização emula um ambiente de hardware virtual para executar várias pilhas de software; fornece o que é chamado de camada de abstração para dar flexibilidade àquele ambiente de computação em nuvem sobre como os aplicativos e dados são estruturados e implantados. Portanto, em um único kernel do sistema operacional virtualizado, você pode executar vários servidores ou instâncias. Contêineres são as instâncias.

"Ainda há muita confusão em torno da confluência de contêineres com virtualização", disse Herrmann. "A virtualização resolve um problema diferente, e achamos que os contêineres e a virtualização se complementam muito bem. A virtualização fornece abstração e emulação e, com contêineres, você obtém um tipo de abstração semelhante, mas sem a emulação. Juntos, eles não fornecem sobrecarga mensurável e uma tonelada de eficiência operacional, mas pode ser difícil separar os dois ".

Uma rápida análise da paisagem dos contêineres

Os DevOps e os princípios ágeis dos quais estamos falando em relação aos contêineres não são novos, pois remontam ao conceito de arquitetura orientada a serviços (SOA), detalhada em nosso explicador de microsserviços acima. O moderno contêiner Linux foi inventado quando o Docker mudou o jogo. O Docker é algumas coisas diferentes, mas, acima de tudo, é uma tecnologia de código aberto muito popular que foi desenvolvida pelo Docker Project em 2013. Ela foi projetada para embalar, transportar e executar qualquer aplicativo como um contêiner leve. Em 2017, o Docker adicionou a capacidade de executar contêineres Linux no Windows usando a tecnologia Hyper-V.

O Docker está entre vários projetos de código aberto que estão ajudando a moldar a tecnologia e o espaço. O Kubernetes, originalmente desenvolvido pelo Google e agora gerenciado pela Cloud Native Computing Foundation, é um sistema de código aberto para automatizar a implantação, dimensionamento e gerenciamento de contêineres. Docker e Kubernetes são os dois projetos de código-fonte aberto que dominam o desenvolvimento da tecnologia. De fato, em abril, o Dockers lançou o Docker Enterprise Edition (EE) 2.0, que permite aos usuários gerenciar e proteger suas cargas de trabalho no Kubernetes em um ambiente multi-Linux, multi-OS ou multi-nuvem. Essa flexibilidade reduz a chance de as empresas ficarem presas a uma determinada tecnologia ou infraestrutura. Docker diz que o EE 2.0 permite que as empresas obtenham mais eficiência de custos gerenciando aplicativos a partir de uma única interface de controle para acompanhar imagens, armazenamento e redes.

Existem dezenas de outras empresas, juntamente com o Projeto Atomic da Red Hat (para pilhas combinadas de Docker / Kubernetes) e a Open Container Initiative da Linux Foundation que visam criar padrões abertos da indústria em torno de contêineres. Para o Docker, foram as imagens do Docker que incendiaram o mundo do desenvolvimento. Um contêiner armazena o código, as bibliotecas e os arquivos de configuração para executar uma imagem em qualquer local. "Todos os contêineres estavam colocando serviços no mesmo nó até o Docker apresentar a noção de implantação baseada em imagem", disse Herrmann.

Clique na imagem para obter o infográfico completo. Imagem: The Docker Survey, 2016

O Docker também é uma startup (fundada em 2010 como dotCloud) que levantou mais de US $ 242 milhões em financiamento. A empresa oferece um conjunto de ferramentas empresariais CaaS (Container-as-a-Service) para implantações do Docker em data centers e nuvens privadas. Obviamente, quando se trata de gerenciamento de contêineres corporativos, o Docker não está sozinho no espaço. A Red Hat oferece seu próprio pacote corporativo CaaS de ferramentas de desenvolvedor em seus produtos Red Hat Enterprise Linux (RHEL), OpenShift e JBoss.

Mais e mais grandes empresas de tecnologia também estão entrando em ação. O Amazon Web Services (AWS), o Microsoft Azure e o Google Cloud Platform (GCP) integraram todas as ferramentas integradas de orquestração e gerenciamento de contêineres em suas respectivas plataformas de infraestrutura como serviço (IaaS). Em 8 de maio, a Microsoft anunciou uma parceria com a Red Hat para permitir que os desenvolvedores executem software baseado em contêiner no Azure. Nesse mesmo dia, a IBM informou que expandiria sua colaboração com a Red Hat para permitir que desenvolvedores construíssem aplicativos em uma plataforma de contêiner integrada. Em questão de poucos anos, o espaço dos contêineres ficou bastante cheio.

Quais problemas de negócios os contêineres podem resolver?

Quando se trata de implementar arquiteturas de aplicativos modernas e princípios de DevOps em uma empresa, os contêineres são a resposta para uma série de problemas. Particularmente quando a organização está enraizada na tecnologia legada e nas políticas de desenvolvimento tradicionais, os contêineres são a plataforma facilmente integrada por baixo que pode facilitar a transição e facilitar o departamento de TI.

"No momento, vemos a conteinerização como a maneira mais prática de introduzir nuvem, DevOps e microsserviços em seu ambiente. Os contêineres se integram naturalmente às tecnologias que você já possui", disse Herrmann.

Rich Sharples, diretor sênior de gerenciamento de produtos para middleware da Red Hat, disse que o objetivo é fornecer software de qualidade em uma cadência mais rápida. Todas as empresas procuram lançar software mais rapidamente para competir em seus próprios mercados, e essa pressão geralmente recai sobre um departamento de TI sobrecarregado. Sharples disse que os contêineres são uma maneira de produzir aplicativos e serviços que podem ser alterados mais rapidamente - seja adicionando um novo recurso ou uma correção crítica de segurança - mantendo a qualidade. Ele também falou sobre a infraestrutura em contêineres como a ponte para preparar as empresas para os microsserviços.

"Temos este princípio de design: não podemos deixar aplicações para trás", afirmou Sharples. "Estamos neste maravilhoso mundo novo de DevOps e desenvolvimento ágil de software. Mas as empresas não podem reescrever todos os aplicativos para ingressar na festa. Como os levamos a essas novas idéias?

"Investir em plataformas como contêineres é uma maneira de garantir que a organização esteja pronta para começar a criar algo como microsserviços. Microsserviços e contêineres juntos é onde está o poder real. Não há nada interessante em um único microsserviço; é apenas na pluralidade que você vê isso rede colaborante composta por pedaços discretos de funcionalidade ".

Crédito da imagem: Docs.Docker.com

Avaliar se deve investir ou adotar contêineres não é apenas tecnologia. Sharples explicou que, para uma transição bem-sucedida para o DevOps, que incorpora contêineres e microsserviços, você precisará da arquitetura, das plataformas subjacentes e dos processos ágeis.

"Esta não é apenas uma decisão de tecnologia", disse Sharples. "Você precisa pensar se sua organização está pronta, se você tem problemas específicos de entrega de software que precisa resolver e entender como os drivers de negócios se parecem com a automação e o DevOps. Entenda seus principais requisitos, analise as necessidades de diferentes projetos e depois decida qual combinação de nuvem, arquitetura de aplicativo e tecnologia de contêiner pode fazer isso acontecer ".

Herrmann deu aos departamentos de TI da empresa três conselhos ao analisar como os contêineres se encaixam em sua organização:

1. Introdução

Segundo Herrmann, a combinação de DevOps, agilidade, contêineres e microsserviços não é apenas uma mudança de tecnologia isolada. "É uma jornada que leva a uma transformação bastante significativa na forma como sua empresa irá operar", disse ele. "Meu primeiro conselho é começar porque seus concorrentes o são. Permitir que os primeiros usuários juntem as peças é a estratégia errada, porque você pode não se atualizar."

2. Visão abrangente

Herrmann aconselhou que você abordasse os contêineres de um ponto de vista mais holístico. "Escolha seu objetivo mais importante", disse ele. "A capacidade de fornecer software mais rapidamente é um excelente ponto de partida. Com base nesse objetivo, pense em como você coloca sua organização no processo e estruture esse trabalho sem riscos e rotatividade para as operações existentes".

3. Ecossistema

Muitas empresas estão chegando ao ponto em que estão restritas à arquitetura, processos e plataformas legados, apontou Herrmann. "Você não pode mudar a arquitetura sem pensar nas plataformas nas quais deseja confiar", disse ele. "Então, a pergunta é: com quem trabalho? Com ​​quem converso? Nossa recomendação é procurar empresas que possam ajudar não apenas com os problemas de tecnologia, mas gerenciar a transformação em todas essas dimensões: tecnologia, processo, todo o caminho Ao lidar com nuvem, DevOps, contêineres e microsserviços todos juntos, você deseja confiar em um ecossistema que pode ajudá-lo a obter sucesso em um curto período de tempo e poupar você de becos sem saída ".

Contentores, explicados