O OpenStack, maior projeto mundial aberto voltado a Cloud Computing, esteve no centro das discussões na comunidade de TI este mês. Pauta de dezenas de palestras do Red Hat Summit 2017 em Boston, EUA, o projeto foi também o núcleo do OpenStack Summit, realizado uma semana depois, na mesma cidade. Neste artigo vamos apresentar um panorama do projeto e a visão de líderes do OpenStack sobre tendências e planos.
Às vezes chamado de "sistema operacional para cloud computing", o OpenStack foi lançado em 2010 pela NASA e Rackspace, começando com dois subprojetos. Hoje é constituído de mais de 20 milhões de linha de código em 38 subprojetos, agrupados em três grandes áreas:
- Compute, para provisionamento e gerenciamento de grandes redes de máquinas virtuais; principal projeto: Nova;
- Storage, incluindo storage de objetos (projeto Swift) e storage de blocos (projeto Cinder), para uso com servidores e aplicações;
- Networking, para gerenciamento escalável de recursos de rede e IPs, através de APIs.
O OpenStack tem mais de 6.600 contribuidores, de acordo com belo painel de atividade do projeto. De acordo com pesquisa recente (PDF), o uso maior do OpenStack ocorre em nuvens privadas (70%) localizadas na própria empresa - e esse percentual vem aumentando.
Outra tendência - com impacto direto sobre os desenvolvedores - é o atual foco em containers - especialmente através do projeto Magnum, que integra tecnologias de orquestração de containers, incluindo Docker Swarm, Kubernetes. A integração com o OpenShift, a plataforma aberta de containers liderada pela Red Hat, continua evoluindo em paralelo e é comum a combinação dos dois projetos.
O InfoQ Brasil esteve presente no Red Summit, em um painel exclusivo para a imprensa, com importantes líderes do OpenStack. Entre eles estavam Monty Taylor, um dos fundadores do projeto. Também participou o gerente geral do OpenStack na Red Hat, Radesh Balakrishnan.
O primeiros tópicos discutidos foram a maturidade e a estabilidade do projeto. Segundo Monty Taylor:
Se você está se preocupando com sua camada de infraestrutura de nuvem, algo está errado. Acho que estamos no caminho certo agora, estamos ficando cada vez mais sem graça! Não há necessidade de enfiar features malucas de que ninguém precisa. Os contribuidores estão trabalhando em questões reais - nas coisas mais importantes.
Balakrishnan complementa:
Já resolvemos os aspectos principais: como implantar, manter, integrar etc. Há algumas integrações específicas em que ainda estamos trabalhando, mas são relativamente menores. Foi uma conquista ter chegado ao ponto em que estamos - mas ainda há coisas bem interessantes sendo criadas no OpenStack.
Com base em reuniões da Fundação e do Comitê Técnico realizadas alguns meses atrás, ficou clara uma nova missão: o foco em containers. Queremos convergir o mundo de máquinas virtuais e um pouco do mundo do bare metal - que são especialidades do OpenStack - com os containers. Podemos reusar muitos dos mesmos serviços do OpenStack nesse contexto: porque não integrar com Kubernetes, por exemplo, e utilizar para ele o mesmo ferramental usado para VMs e máquinas físicas? Unir esses mundos é a nova missão do OpenStack.
Quanto à integração com tecnologias de containers, Monty Taylor salienta a importância de evitar a concorrência destrutiva:
Queremos garantir que a execução as mais variadas tecnologias de containers funcionem bem no OpenStack. Fazemos o máximo para alinhar o trabalho da nossa comunidade com o das comunidades de containers. Uma ideia central é evitar a competição direta com elas, levando a disputas contraproducentes.
Formas de adoção de tecnologias de cloud computing foram outro destaque nas conversas. Para começar: segundo Taylor, a experiência em administração de sistemas tradicional não se torna obsoleta com a nuvem:
Eu também trabalho apoiando equipes na migração para nuvem, e quase nenhum dos aplicativos em execução nas empresas já é cloud-native (projetado para ser executado na nuvem). Há, por exemplo, antigas aplicações corporativas que precisam ser reinicializadas uma vez por semana e exigem horas de downtime para atualizar. Como administrador, não posso intervir no código, mas mesmo sem essas mudanças, a nuvem ainda pode trazer benefícios, inclusive para aplicações legadas e de baixa qualidade.
Com a tecnologia de cloud, posso subir uma máquina virtual bem parecida com o ambiente de produção; posso testar o ciclo de atualização quantas vezes precisar; começar de forma bem tradicional, executando comandos manualmente para identificar o que pode ser automatizado. Depois, posso testar a automação no mesmo ambiente virtualizado na nuvem, ou seja, sem necessidade de um servidor físico gigante esquentando no canto da sala. É claro que estamos trabalhando em maneiras de permitir o melhor suporte a aplicações cloud-native. Mas também podemos usar tecnologias de nuvem em um ambiente de operações tradicional - sem jogar fora décadas de experiência em administração de sistemas e em operações.
Monty mostra outro caminho para começar a utilizar o OpenStack:
É importante pensar na adoção de tecnologias de nuvem como um processo de várias etapas, que pode ser bastante longo. Voltando aos seus sistemas legados: você pode executar seu sistema da mesma forma que agora, mas anexar suas máquinas físicas a uma instalação do Ironic. Nem precisa fazer novo deploy. Este uso inicial do OpenStack já vai trazer conhecimento de onde estão as aplicações, e gradualmente aumentar a familiaridade com tecnologias de nuvem. Dessa forma, você poderá ter um inventário de serviços em execução. Depois pode-se partir para novos projetos e tecnologias do OpenStack. O ritmo quem deve estabelecer é você e sua empresa.
Conheça mais sobre o OpenStack no guia de boas vindas (pdf) e no site central voltado ao início com o projeto. É possível também montar um ambiente OpenStack na sua máquina com o DevStack ou o Anvil. Para conhecer os múltiplos subprojetos, não deixe de visitar o navegador de projetos. Depois de conhecer o básico, uma ótima forma de se aprofundar é assistir aos vídeos relacionados ao OpenStack do Red Hat Summit e às palestras recentes do OpenStack Summit.
Sobre o autor
Leonardo Galvão (@lgalvao) é Bacharel em Ciência da Computação e Analista de Sistemas no Governo Federal. Foi editor-chefe do InfoQ Brasil por seis anos, idealizou e foi cofundador da Java Magazine, primeira revista sobre Java na América Latina. Também liderou o conteúdo e a produção de seis conferências QCon, no Rio e em São Paulo. Programando desde os 11 anos de idade, trabalha no mercado profissional de criação de software há mais de duas décadas.