OpenStack e o Desafio de Redes
Quando comecei a escrever este post, não imaginava a quantidade de conteúdo e a dificuldade de tentar resumir em poucos parágrafos o que é OpenStack, quais são seus benefícios, seus desafios, como funciona e entre outros assuntos como é sua integração com o NSX.
Aconselhado pelos meus colegas David Santos e Gustavo Santana, autores neste blog também, resolvi dividir este post em duas partes. A primeira trazendo mais detalhes do que é o OpenStack e também ilustrando os benefícios da distribuição da VMware: o VMware Integrated OpenStack. E o segundo post virá na semana que vem, aí sim, entrando com mais detalhes nos principais desafios de Redes e Segurança existentes em uma Nuvem OpenStack, além de mais informações de como o NSX se torna uma peça fundamental para qualquer nuvem baseada nessa plataforma.
O que é o OpenStack?
O OpenStack é um software para a criação de Nuvens Públicas ou Privadas e seu objetivo é controlar conjuntos de recursos computacionais, de armazenamento e também de redes e segurança com gerenciamento realizado por um painel integrado ou consumido através de APIs (Application Programmable Interfaces).
O OpenStack é liderado pela Fundação OpenStack e foi criado em meados de 2010 inicialmente pela Rackspace e pela NASA. Hoje conta com mais de 60.000 membros ativos, além de organizações das mais diferentes verticais que fazem uso dessa solução. O objetivo da Fundação é proteger, desenvolver e promover o OpenStack para a comunidade a sua volta.
O OpenStack é uma combinação de diversos projetos de software de código aberto com o intuito de trazer simplificação e agilidade nos desenvolvimentos de cada um deles. Entre os principais projetos podemos citar:
- Nova: É o gerenciador da infraestrutura computacional, responsável pela criação e ciclo de vida de todas as instâncias na nuvem OpenStack;
- Glance: Responsável pela busca e armazenamento de imagens das instâncias na Nuvem OpenStack;
- Cinder: Responsável pelo armazenamento em blocos dos dados na nuvem OpenStack, realiza a interação com dispositivos de armazenamento oferecendo uma camada de abstração para os usuários finais;
- Swift: Responsável pelo armazenamento de objetos na nuvem OpenStack com alta capacidade;
- Neutron: Responsável pelos componentes de redes e segurança da nuvem OpenStack;
- KeyStone: É o serviço que oferece autenticação, autorização para os usuários do ambiente multi-tenant na nuvem OpenStack;
- Heat: É o serviço de orquestração baseado em templates para oferecer maior agilidade na criação e provisionamento dos outros projetos da nuvem OpenStack. Um dos principais recursos é sua funcionalidade de autoscaling;
- Ceilometer: É o serviço responsável pela coleta, normalização e transformação dos dados produzidos pelos outros serviços da nuvem OpenStack;
Usando a imagem abaixo, extraída da própria Fundação OpenStack, é possível ter uma ideia geral de como é a arquitetura de uma nuvem OpenStack:
Um excelente recurso disponível é o Project Navigator da própria Fundação OpenStack. Esse recurso mapeia a utilização, o tempo de criação e a maturidade de cada um dos projetos OpenStack. Esta é uma excelente referência para as empresas que estão pensando em adotar o OpenStack em ambientes produtivos.
A cada 6 meses, uma nova versão do software OpenStack é disponibilizado pela Fundação e leva o nome de uma cidade escolhido pela comunidade. Atualmente a última versão que fora lançada em fevereiro de 2017 é designada por Ocata, e as próximas versões se chamarão Pike e Queens respectivamente.
Para conhecer mais sobre OpenStack, sugiro que consultem o post do meu colega Alexandre Stratikopoulos que contém mais informações dessa plataforma:
O que é o VIO (VMware Integrated OpenStack)?
Assim como várias outras empresas de software, a VMware também possui sua própria distribuição de OpenStack, ela é chamada VIO – VMware Integrated OpenStack.
Existe uma tendência crescente pelas empresas que estão adotando o OpenStack em ambientes produtivos de utilizar distribuições suportadas por empresas de software, contrapondo a utilização da distribuição oferecida pela Fundação OpenStack. O principal motivador para tal escolha é o fato do suporte disponibilizado por estas empresas.
O objetivo do VIO não é e nunca será conter a maior quantidade de projetos disponíveis na comunidade, e sim, oferecer os projetos mais estáveis através de uma distribuição robusta, performática, resiliente e segura para ambientes que utilizam a infraestrutura computacional da própria VMware. Atualmente um dos grandes desafios da maioria das implementações de nuvens OpenStack é a atualização entre as versões desse software. Atualização essa que têm se mostrado praticamente impossível de ser realizada na grande maioria das distribuições OpenStack e este é um dos principais diferenciais disponíveis desde a versão 2.0 do VIO.
Utilizando o gráfico da imagem abaixo do último OpenStack Survey de 2017 como base, observamos os principais projetos que são utilizados em produção e os projetos que atualmente fazem parte do VIO:
Atualmente o VIO está na versão 3.1 e utiliza a versão Mitaka. Maiores detalhes sobre esta versão podem ser encontrados no seguinte link:
Vale aqui um breve relato sobre as contribuições que a VMware já fez e continua fazendo para a melhoria dos códigos abertos do software OpenStack
- Fundador do projeto Neutron (anteriormente conhecido como Quantum)
- Fundador e maior contribuidor do projeto Open vSwitch – OVS – utilizado largamente pela comunidade de empresas de software com distribuição própria
- Fundador do Open Virtual Networking (OVN), um dos mais utilizados planos de controle de código aberto para gerenciamento de Redes e Segurança de componentes virtuais
- Autor do padrão OVSDB – Open Virtual Switch Database – protoloco de gerenciamento de comunicação mais utilizado por diversos fabricantes de equipamentos de redes atualmente
- Diversos funcionários da VMware se destacam pela alta quantidade de contribuições a cada nova versão do software OpenStack
Entretanto, apesar dos benefícios e vantagens de utilizar o VIO para infraestruturas VMware, não é requisito que se utilize o VIO para uma nuvem OpenStack que utiliza infraestrutura com o VMware ESX ou o VMware NSX. Qualquer distribuição OpenStack pode utilizar o ESX ou o NSX pois a VMware oferece os plug-ins de integração de maneira gratuita através de sua página no GitHub.
Novamente, recomendo ficar atento em breve em mais um post do meu colega Alexandre Stratikopoulos para conhecer melhor sobre VIO e também o post de outro colega, Marcos Hernandez, sobre as contribuições que a VMware continua realizando para a comunidade.
No meu próximo post, irei explicar com mais detalhes os principais desafios da integração de Redes com a nuvem OpenStack e como o NSX pode ajudar.
Até semana que vem com a segunda parte deste post!
Caio Oliveira | |
Especialista VMware NSX | |
[email protected] | |
@oliveirac_caio | |