O que é OpenStack e porque isso é importante
O OpenStack é um software open source para a criação e gerenciamento de nuvens públicas e privadas cujos recursos você vai entender melhor lendo esse texto até o final. É uma tecnologia alinhada as necessidades de escalar seus negócios para volumes até então inimagináveis.
A automatização do trabalho já é uma realidade para a maioria das empresas, e as organizações que ainda não aderiram a essa estratégia estão fadadas a perder competitividade.
A capacidade de auto serviço para infraestrutura de TI, através do uso de painel de controle deixou de ser diferencial, e já é algo que seu cliente assume como o novo normal.
Desde a introdução da arquitetura cloud computing, o novo nível de maturidade das equipes de TI aumentou muito, e tecnologias nativas da nuvem como IaC (infraestrutura como código) agora permitem um nível sem precedentes de automação.
Não é mais um operador humano interagindo com a infraestrutura, e sim aplicações. O conjunto de práticas e tecnologias empregadas para permitir esse nível de automatização é chamado de DevOps, a padronização de interfaces entre equipes de desenvolvimento (Dev) e operações de infra (Ops).
Ferramentas IaC interagem com nuvens através da escrita de códigos que acessam uma API (application programming interface), tornando os painéis de controle obsoletos.
Nesse cenário, as empresas do segmento de serviços gerenciados, de cloud e edge computing (MSP e CSP) devem estar preparadas para garantir as bases necessárias para continuarem competitivas para o novo consumidor.
Os novos data centers
Com a internet deixando de ser um coadjuvante, e passando a protagonizar o ambiente de negócios, a operação de centros de processamento tem se tornando cada vez mais complexa.
No mundo da web 3.0 o volume e complexidade das cargas de trabalho, em ambientes locais multi cloud, e na borda das redes (edge computing) forçam o MSP/CSP a aderirem a novas tecnologias para automatização e orquestração de ambientes heterogêneos de infraestrutura de TI, de maneira centralizada.
Os provedores já entenderam que com a chegada das redes 5G no país, a largura de banda deixa de ser o principal gargalo para acesso de dados e consumo de aplicações, e o novo limitador passar a ser capacidade computacional o mais próximo possível do usuário, nas bordas das redes.
A hiper escala deixa de ser uma dinâmica atendida por ambientes centralizados, e sim distribuídos: edge computing, ou computação de borda, com processamento descentralizado das informações de forma a melhorar a experiência do usuário final.
Nesse cenário onde é esperado uma expansão significativa dos ativos de infraestrutura de TI para atendimento das demandas de processamento da internet das coisas, aumentando a adesão por parte de empresas de todos os tamanhos, aos modelos gerenciados de open source.
O Open Source gerenciado minimiza a necessidade de investimentos com software, ao mesmo tempo que se enquadra nos critérios necessários para suporte a operações complexas de TI, geograficamente distribuídas e automatizadas
Nesse caso, um provedor terceirizado assume a criação, gerenciamento e desempenho das infraestruturas de nuvem, atuando preventivamente contra falhas e garantindo rápida resolução de eventuais falhas, mesmo que estas estejam presentes no código-fonte, como “bugs”.
O modelo de código aberto gerenciado também garante novas funcionalidades ao software, fazendo com que as plataformas evoluam e proporcionem cada vez mais facilidades e diferenciais competitivos para o provedor.
A plataforma OpenStack
O papel de softwares como o OpenStack é justamente tornar mais viável essa missão, a plataforma é usada para criar e gerenciar nuvens públicas e privadas de maneira centralizada e homogênea.
Ou seja, permite gerenciar toda a infraestrutura de maneira simples e centralizada sem precisar de plenos conhecimentos nas inúmeras tecnologias e conceitos envolvidos para consumir tais recursos, democratizando o acesso a sistemas de informação.
Conforme os mandamentos da plataforma, escritos pelo primeiro líder do projeto que desenvolveu o OpenStack, Rick Clark, o objetivo primordial é oferecer escalabilidade e elasticidade aos usuários para construírem nuvens massivamente replicáveis.
Por sinal, a história do software é bastante interessante. Surgiu de uma parceria entre a NASA e a Rackspace Hosting, tendo em vista a necessidade da agência espacial americana em agregar agilidade à administração de diversos hypervisors; e da empresa de computação em nuvem em apresentar aos clientes uma solução para melhorar a experiência obtida com o uso de bancos de dados relacionais, armazenamento de objetos, serviços de software dentre outros.
Graças à filosofia de desenvolvimento aberto, desde 2010, quando a plataforma foi criada, uma comunidade de especialistas colabora no aprimoramento das funcionalidades, de forma aberta e transparente. Em 2012, a plataforma de orquestração de nuvens foi doada, e hoje é gerenciada pela OpenInfra Foundation, uma organização sem fins lucrativos.
O OpenStack permite ao provedor abstrair a camada física da infraestrutura de data center, orquestrando recursos virtuais em um ambiente de nuvem. As nuvens devem atender cinco critérios mapeados pelo NIST (National Institute of Standards and Technology), são eles:
- Rede;
- Recursos agrupados;
- Interface de usuário;
- Provisionamento de capacidade;
- Alocação/controle automático de recursos.
A visão operacional
O ponto de partida para uma compreensão clara de como funciona o OpenStack é levar em consideração que o software não virtualiza recursos, mas os utiliza para criar clouds.
Os comandos também não são executados diretamente e sim com retransmissão para o processo operacional de base (virtualizador). Por esse motivo, a operação da plataforma ocorre de forma associada a outras tecnologias, como virtualizador, sistemas de armazenamento, rede etc.
O OpenStack, como um maestro, orquestra todas essas tecnologias para criar uma idéia de um ponto central de gestão de toda a infraestrutura, sem a necessidade de conhecimento especifico de todas essas tecnologias envolvidas. Essa operação conectada se dá, essencialmente, a partir de uma série de projetos interdependentes em funcionalidades mas independentes em desenvolvimento.
Essa estrutura composta por partes interdependentes faz do software modular e altamente flexível, com a perspectiva de utilizar apenas os componentes que fizerem sentido para as especificidades de cada provedor. A arquitetura do OpenStack engloba diversos projetos open source utilizados para estabelecer os módulos undercloud e overcloud, respectivamente voltados aos administradores de sistema e aos usuários da nuvem.
É uma engrenagem que gera uma base sólida para o funcionamento de processos relacionados a computação, rede, armazenamento, identidades e imagens, além de dezenas de projetos opcionais em estágios de desenvolvimento.
E o OpenStack ainda permite acesso a API, painéis de controle, orquestração, provisionamento de bare-metal, sistema de mensagens, containers e governança.
Conheça os módulos
O sistema OpenStack é subdividido em seis módulos principais com funcionalidades diferenciadas e complementares. Confira:
- Nova: é a base operacional da plataforma, que permite controlar o conjunto de recursos computacionais, gerenciando hypervisors, bem como a criação e exclusão de funções e usuários;
- Heat: esse módulo é uma alternativa a sistemas como Terraform, onde se especifica toda uma infraestrutura por meio de configuração YAML e este sistema irá cuidar de fazer todo o deploy de rede, volumes e máquinas virtuais para construir essa infraestrutura;
- Horizon: esse é o módulo de painel de controle do OpenStack, com ele é possível ter uma visão geral de todo o ambiente de nuvem através de uma aplicação WEB;
- Neutron: inclui uma série de API, plug-ins e softwares que, basicamente, garante a transparência na comunicação entre dispositivos e tecnologias dentro de ambientes IaaS. Ou seja, é um módulo que opera estabelecendo conexões entre as redes e outros serviços OpenStack;
- Glance: opera o armazenamento e recuperação de imagens de disco de máquinas virtuais originárias de diferentes locais da rede OpenStack;
- Keystone: módulo que se encarrega da autenticação e autorização de todos os serviços e usuários, sendo também o catálogo de endpoints para todos os serviços. Na prática, é responsável pela comunicação entre os módulos e por gerir globalmente as atividades realizadas com o uso do software.
Além desses módulos principais, temos inúmeros outros módulos auxiliares, como por exemplo:
- Cinder: viabiliza a estrutura de armazenamento em blocos, permitindo a personalização de volumes adicionais que atendam necessidades específicas. O módulo é acessível por meio de API de autosserviço;
- Swift: esse módulo é ideal para armazenar dados não estruturados. O uso de uma RESTfull/API permite o armazenamento de objetos em grande quantidade. Da mesma forma, a recuperação de informações é facilitada, com alta blindagem contra falhas;
Por dentro dos recursos disponíveis
Veja o que a adoção do OpenStack permite fazer:
- Nuvens públicas, sendo a opção favorita para a criação desse tipo de ambiente pela possibilidade da configuração de um conjunto de serviços altamente competitivo e de custo-efetivo;
- Nuvens privadas, com ganhos substanciais na comparação com as criadas a partir códigos personalizados;
- Virtualização de funções de rede, com separação das principais funções da rede para distribuição entre ambientes, que se aponta como a próxima tendência;
- Containers, que agilizam a disponibilização de aplicações e simplificam a implantação e o gerenciamento, criando uma base estável para nuvens públicas e privadas.
Motivos para aderir ao OpenStack
Não é sem motivo que o OpenStack é a plataforma de nuvem mais comentada. Utilizado por grandes suporte a grandes operações digitais, como por exemplo, o comércio eletrônico da Walmart, onde transitam mais de 80 milhões de usuários por mês.
Confira as vantagens que o software pode agregar ao seu negócio.
- Redução de custos: você adere a um software gratuito e de código aberto;
- Operações multinuvem: o OpenStack pode ser implementado como nuvem pública, privada ou híbrida;
- Flexibilidade: os usuários podem implementar máquinas virtuais, aplicativos e outros recursos de forma fácil e rápida, de acordo com necessidades específicas;
- Melhoria contínua: a partir do engajamento e trabalho colaborativo da comunidade formada por especialistas cujos conhecimentos e experiências se somam no projeto de código aberto.
Ficou com dúvidas? Agende agora mesmo uma conversa com um de nossos especialistas em OpenStack e Open Source Gerenciado.