Hoje é um marco da importante e empolgante evolução dos produtos da Juniper Networks. Nossa equipe de engenharia passou os últimos dois anos reformulando radicalmente o Contrail Networking, em um projeto denominado “CN2”. Ele poderia ser uma segunda edição importante do Contrail, mas é uma abreviação para o Contrail Networking nativo da nuvem da Juniper (Cloud-Native Contrail Networking, em inglês). É mais simples falar de CN2 do que de CNCN ou CN2.
Com o lançamento do CN2 e do Contrail 22.1, a Juniper passa a fornecer aos clientes uma arquitetura moderna e nativa do Kubernetes, com uma solução de rede nativa da nuvem, automatizada, escalável e de alto desempenho – com a eficiência de DevOps de um hiperescalador. E o mais importante é que o CN2 foi projetado para conectar aplicativos com segurança nos universos Kubernetes e OpenStack.
O que há de novo: o caminho Kubernetes/OpenStack
Tive a satisfação de trabalhar na aquisição da Contrail Systems pela Juniper em 2012 e no lançamento de seu primeiro produto em 2013. Naquela época, e em seu lançamento em 2012, o Contrail tinha a missão explícita de solucionar a complexidade da SDN em escala para Infraestrutura como serviço (IaaS) e da virtualização de funções de rede (NFV), com o OpenStack atuando como o orquestrador. A partir de 2015, o Kubernetes mudou o jogo para o desenvolvimento e a execução de aplicativos, e mais recentemente para a execução de VMs.
Já faz algum tempo que o Kubernetes é mais difundido do que o OpenStack. Na Juniper, sabíamos que havia uma série de modernizações incríveis que poderiam ser incorporadas ao CN2 para atender melhor aos casos de uso do Kubernetes e do OpenShift para nossos clientes, fornecendo ao mesmo tempo um amplo suporte ao OpenStack para que os usuários que utilizavam ambos ou que estavam evoluindo para o Kubernetes pudessem preservar uma experiência comum.
Hoje, o CN2 prioriza o Kubernetes. Além disso, o CN2 também é nativo do Kubernetes.
O que mudou: a adoção do Kubernetes
A transformação do Contrail não trata apenas de um serviço nativo da nuvem e do ecossistema relacionado ao Kubernetes; ela representa uma otimização fundamental para o Kubernetes – recriando o CN2 como uma extensão do próprio Kubernetes.
Agindo como uma CNI do Kubernetes e muito mais do que isso, o CN2 integra-se como peça fundamental da infraestrutra de cluster, utilizando a estrutura de extensões do Kubernetes para recursos personalizados. Agora, tudo no CN2 é provisionado como seria com o próprio Kubernetes. Os clientes podem usar kubectl, K9s ou qualquer ferramenta Kubernetes que preferirem. Também estendemos o Lens, a conhecida interface gráfica do Kubernetes, com um plug-in do Contrail. Isso significa que a API do CN2 agora se integra usando o RBAC nativo do Kubernetes e sistemas IAM adjacentes. E agora o CN2 está configurado como código, habilitando sem dificuldades o GitOps, a infraestrutura como código e o CICD. Também estamos introduzindo o Contrail Pipelines baseado no ArgoCD e ArgoWorkflows para CICD de uso imediato na SDN do Contrail, que inclui os novos pacotes de teste da Juniper.
Além disso, o CN2 foi criado de forma privada como closed source. Em vez do open source da versão 21.4 e anteriores, a versão 22.1 marcará o lançamento do CN2 – e quem quiser ter acesso poderá receber licenças de teste gratuitas da Juniper!
O que não mudou: escala, alto desempenho e rede aberta
A ideia de uma CNI é uma visão reducionista e rudimentar do Contrail para Kubernetes. No Contrail, existe muito mais SDN: política de segurança com microssegmentação, segurança de isolamento de namespace, balanceamento de carga de entrada, balanceamento de carga nativa para microsserviços disponíveis externamente, espelhamento de tráfego, política de roteamento, suporte BGP nativo, topologias de rede virtual e redes virtuais, para citar apenas alguns elementos. E tudo isso funciona com ou sem overlays (embora sejam recomendados).
Existe muito a tratar sobre o alcance e a profundidade dos recursos de rede avançados para organizações empresariais e fornecedores de serviços e nuvem. Fique ligado para ter acesso a outras publicações técnicas e vídeos de demonstração que cobrem tudo o que o CN2 tem a oferecer.
Todo mundo sabe que o Kubernetes costuma ser executado na nuvem. O Contrail também pode chegar lá; a Juniper tem várias implantações semelhantes. No entanto, executar o CN2 em uma nuvem bare-metal autogerenciada é uma inovação em data centers privados, devido ao modelo de federação simples e baseado em padrões abertos do CN2 para redes peering virtuais a partir de seu controlador logicamente centralizado para outros controladores do CN2, e especialmente para roteadores compatíveis com BGP – incluindo a Juniper e outros fornecedores. Com implantações no local, os clientes podem aproveitar opções de SmartNIC para obter o máximo de desempenho.
O que ainda é incrível e está ficando ainda melhor?
Conforme a multinuvem evolui, o mesmo acontece com o multi-Kubernetes. Isso ocorre de duas formas: no número de clusters e nas variedades e distribuições do Kubernetes.
Muitas organizações usam serviços Kubernetes gerenciados na nuvem, além de distribuições implantadas autogerenciadas. O CN2 ainda é uma opção sólida de SDN devido à sua capacidade híbrida de atender a todas essas distribuições do Kubernetes, incluindo OpenShift e OpenStack, criando uma experiência comum e unindo-as para proporcionar interconectividade otimizada.
Além de atender a vários orquestradores, o KubeSprawl, como o nome indica, usa muitos clusters Kubernetes. E agora o Kubernetes multicluster é um novo destaque do CN2.
O Contrail sempre teve como foco a escala e o multitenancy seguro e reforçado; por isso, é especialmente indicado para clusters compartilhados, com vários objetivos e para várias equipes. No entanto, conforme as organizações avançam em outra direção para implantar vários clusters pequenos – por equipe, por aplicativo, para desenvolvimento, para teste, para simulação e para produção – o CN2 agora permite limpar e consolidar a SDN em toda essa desordem de múltiplos clusters. Ele só pode ser executado em um cluster principal e funciona como a CNI para esse cluster e vários outros. Da mesma forma, ele pode combinar análises multicluster. Embora o CN2 seja conhecido pela forte federação, nesse modelo multicluster, a federação entre clusters não é exigida para o gerenciamento otimizado de políticas de segurança e rede virtual.
Finalmente, um fato sobre o Kubernetes é que ele é mais fácil de implantar do que o OpenStack. Ele funciona tanto na nuvem pública como na nuvem privada, em um modelo bare-metal e mesmo em implantações minúsculas de um único nó. Com isso, sabíamos que o CN2 seria extremamente fácil de testar. Executar um minikube em um laptop com CN2 é algo que exige apenas alguns minutos. E a Juniper possibilita que qualquer implantação seja otimizada, com registros totalmente opcionais, análise de sistemas e redes e telemetria de fluxo.
Essa é uma grande conquista das equipes de engenharia e produto da Juniper, marcando o início de uma nova edição do Contrail e uma nova era para o CN2.
Mais recursos