OpenStack

NSX Blog - OpenStack e o Desafio de Redes – Parte II

OpenStack e o Desafio de Redes

Decidiu que é hora de implementar OpenStack para criar a sua Cloud? Testou em laboratório, avaliou as diversas distribuições disponíveis e contratou recursos especializados em OpenStack? Porém, chegada a hora de colocar em o ambiente em produção a parte de Redes não está se integrando com a rede física?

Se a história acima se assemelha muito ao que você tem enfrentado, esse post é fundamental para você entender os desafios de Redes com qualquer distribuição de OpenStack e, como o VMware NSX é a peça que está faltando para a sua Cloud.

Desafios de Redes e Segurança com OpenStack

Desde seu início, um dos maiores desafios, talvez o maior, das implementações de nuvens OpenStack é referente a automação, integração e orquestração dos elementos de Redes e Segurança necessários na camada de infraestrutura. A principal dificuldade é que estes ambientes são extremamente heterogêneos e a maioria dos dispositivos não possui uma interface aberta e programável para configuração e, desta forma, a maneira inicial encontrada foi a de pré-provisionar o ambiente de redes de forma manual e utilizar funcionalidades básicas de proteção para a implementação de serviços de segurança.

Com o aparecimento e amadurecimento das soluções de Virtualização de Redes e também com a evolução do OVS (Open vSwitch), alguns destes desafios foram solucionados, tornando-se possível a criação de uma camada de abstração dos elementos físicos de Redes e Segurança e, possibilitando uma automatização através da interface programável das soluções de Virtualização de Redes.

De qualquer forma, o projeto Neutron (responsável pelo gerenciamento de todos os serviços de Redes e Segurança das nuvens OpenStack) vem sofrendo modificações constantes e com a necessidade de funcionalidades mais avançadas, como por exemplo, roteamento dinâmico, VPN, funcionalidades de firewall, entre outros, a maturidade, consistência e a resiliência acabaram sendo prejudicadas.

O quadro abaixo, novamente extraído da pesquisa da Fundação OpenStack, exemplifica quais funcionalidades do projeto Neutron que estão sendo mais utilizadas ou mais demandadas atualmente nas nuvens OpenStack:

O crescimento sem planejamento trouxe grandes desafios ao projeto Neutron. O que é mais debatido hoje é que haja uma alteração da arquitetura deste projeto, visando simplificar sua utilização e melhorar a sua integração com as soluções de Virtualização de Redes.

Integração do VMware NSX com OpenStack

Poucas empresas hoje estão utilizando OpenStack em produção sem uma solução de Virtualização de Redes e as que não estão, normalmente sofrem grandes desafios como os mencionados acima.

Os benefícios que o NSX traz para o Neutron podem ser elencados a seguir:

  • Agilidade: Crie Redes na mesma velocidade das aplicações;
  • Mobilidade: Provisionamento e movimentação das instâncias;
  • Segurança: Microssegmentação e encadeamento de serviços de parceiros para funcionalidades avançadas;
  • Multi-tenant: Possibilidade da utilização de infraestrutura compartilhada entre múltiplos tenants;
  • Operações Simplificadas: Controle centralizado e monitoração única;

Como mencionado, os desafios com o Neutron podem ser endereçados com o NSX da seguinte forma:

  • Simplificação da implementação dos serviços do Neutron;
  • Estabilidade, escalabilidade e alta-disponibilidade;
  • Suporte da plataforma NSX;
  • Desenvolvimento contínuo de novas funcionalidades;
  • Maior performance devido a arquitetura distribuída do NSX;
  • Gerenciamento, Operações de Dia 2 e Ferramentas de Troubleshooting nativas no próprio NSX;

Usando o mesmo gráfico da sessão anterior e comparando com o código aberto do OVS, podemos perceber claramente as funcionalidades e benefícios que o NSX traz para a implementação dos serviços do projeto Neutron:

Para realizar a integração com o Neutron, o VMware NSX possui um plug-in aberto, disponível na página do GitHub que pode ser utilizado por qualquer distribuição ou implementação de OpenStack – https://github.com/openstack/vmware-nsx.

A idéia desse plug-in é traduzir as chamadas APIs realizadas no Neutron para chamadas APIs no NSX Manager e assim, realizar a construção dos serviços de Redes e Segurança. A figura abaixo exemplifica e mostra um exemplo do que pode ser construído utilizando essa abordagem:

A VMware possui duas distribuições do NSX. O NSX-v, versão exclusiva para o hipervisor VMware ESX, que é a mais utilizada, possui mais funcionalidades e é a versão que vem sendo tratada nos posts anteriores deste blog. Existe também o NSX-T, plataforma multi-hipervisor, que tem hoje como seu caso de uso principal nuvens OpenStack com hipervisores VMware ESX e também KVM. Abordaremos o NSX-T em posts futuros. Ambas as versões são ideias para ambientes OpenStack e possuem plug-ins disponíveis para qualquer distribuição de OpenStack obter seus benefícios.

Conheça alguns dos nossos clientes que estão se beneficiando não apenas do NSX mas também do VIO nos links abaixo:

Espero que tenham gostado desses dois posts e me contatem se tiverem qualquer dúvida.

Até mais!

NSX Blog - OpenStack e o Desafio de Redes – Parte I

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:

https://blogs.vmware.com/brasil/2017/05/descritivo-primeiro-video-da-serie-openstack-vio-para-o-blog-brasil.html

 

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:

http://pubs.vmware.com/Release_Notes/en/integrated-openstack/31/vmware-integrated-openstack-31-release-notes.html

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

  • 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!