La giornata di oggi segna un’importante evoluzione per i prodotti di Juniper Networks. Negli ultimi due anni, il nostro team tecnico ha radicalmente rinnovato Contrail Networking, ora ribattezzato “CN2”. Il nome sembra indicare una seconda edizione di Contrail, ma in realtà è l’abbreviazione di Juniper Cloud-Native Contrail Networking. CN2 è solo più chiaro di CNCN o CN2.
Con il rilascio di CN2 e Contrail 22.1, Juniper offre una moderna architettura nativa Kubernetes che mette a disposizione dei nostri clienti una soluzione di networking cloud nativa automatizzata, ad alte prestazioni e scalabile, con l’efficienza DevOps di un hyperscaler. Ma soprattutto, CN2 nasce per connettere in modo sicuro le applicazioni nel mondo di Kubernetes e di OpenStack.
Le novità: la scelta fra Kubernetes e OpenStack
Ho avuto la fortuna di lavorare all’acquisizione di Contrail Systems da parte di Juniper nel 2012 e al primo lancio di prodotto nel 2013. All’epoca, e nei giorni della sua introduzione del 2012, Contrail mirava a risolvere il difficile problema dell’SDN su larga scala per l’infrastruttura come servizio (IaaS) e la virtualizzazione delle funzioni di rete (NFV), in cui OpenStack fungeva da orchestratore. A partire dal 2015 e negli anni successivi, Kubernetes ha cambiato le regole del gioco per lo sviluppo e l’esecuzione di applicazioni e, più di recente, anche per l’esecuzione di VM.
Kubernetes è un ambiente più pervasivo di OpenStack, già da tempo. Juniper sapeva che CN2 offriva ottime potenzialità di modernizzazione per gestire meglio i casi d’uso di Kubernetes e OpenShift per i nostri clienti, garantendo comunque un ottimo supporto OpenStack per non modificare l’esperienza degli utenti che tenevano aperte entrambe le opzioni o che avevano scelto di evolvere verso Kubernetes.
Arriviamo a oggi, ed ecco che CN2 opera primariamente su Kubernetes. Inoltre, CN2 ora è anche Kubernetes nativo.
Cosa è cambiato: un sistema Kubernetes nativo
La trasformazione di Contrail non riguarda solo l’offerta di un prodotto cloud nativo adatto all’ecosistema di Kubernetes, ma è un’ottimizzazione assoluta perché CN2 è stato ricostruito come estensione di Kubernetes stesso.
CN2 opera come una CNI di Kubernetes, ma non solo: infatti si integra come parte fondamentale dell’infrastruttura del cluster usando il framework di estensione Kubernetes di risorse personalizzate. Adesso, tutto in CN2 viene fornito proprio come in Kubernetes stesso. I clienti possono utilizzare kubectl, K9s o qualsiasi strumento Kubernetes a loro scelta. Abbiamo anche esteso Lens, la famosa GUI di Kubernetes, con un plug-in Contrail. Ciò significa che l’API di CN2 ora si integra utilizzando l’RBAC Kubernetes nativo e i sistemi IAM adiacenti. E, ancora meglio, CN2 è ora configurato come codice, abilitando facilmente GitOps, l’infrastruttura come codice e CICD. Stiamo anche introducendo Contrail Pipelines basate su ArgoCD e ArgoWorkflows per CICD pronti all’uso per l’SDN di Contrail, che include le nuove suite di test di Juniper.
Inoltre, CN2 è stato costruito privatamente come closed source. Diversamente dall’open sourcing delle versioni 21.4 e precedenti, la versione 22.1 segnerà l’introduzione di CN2 e chi vorrà provarla potrà richiedere licenze di prova gratuite da Juniper.
Cosa è rimasto uguale: scalabilità, alte prestazioni e networking aperto
L’idea di una CNI è una banale visione riduttiva di Contrail per Kubernetes. All’interno di Contrail, c’è molto più SDN: policy di sicurezza della micro segmentazione, sicurezza dell’isolamento del namespace, bilanciamento del carico in ingresso, bilanciamento del carico nativo per microservizi disponibili esternamente, mirroring del traffico, policy di routing, supporto BGP nativo, topologie di rete virtuale e reti virtuali, e molto altro. Funziona tutto con o senza overlay (sebbene siano consigliati).
C’è ancora troppo da dire sull’ampiezza e la profondità delle ricche funzionalità di networking per le aziende e per i fornitori di cloud e servizi, quindi continua a seguire i prossimi blog tecnici e video dimostrativi su tutto ciò che può offrirti CN2.
Sappiamo tutti che Kubernetes viene eseguito spesso sul cloud. Questa potrebbe essere anche la direzione di Contrail, Juniper ha molti deployment di questo tipo. Tuttavia, l’esecuzione di CN2 su un cloud bare metal autogestito è un punto di svolta per i data center privati. Questo per via del modello di federazione semplice e basato su standard aperti di CN2, che esegue il peering di reti virtuali dal suo controller centralizzato logicamente su altri controller CN2, in particolare verso i router di tipo BGP, inclusi quelli di Juniper e di altri fornitori. Le implementazioni in locale consentono inoltre ai clienti di sfruttare le opzioni SmartNIC per ottenere prestazioni estreme.
Cosa si conferma funzionale e cosa sta ancora migliorando?
Con l’evoluzione del multicloud, evolve anche il multi-Kubernetes. Questo avviene in due modi: nel numero di cluster e nelle versioni o distribuzioni di Kubernetes.
Molte organizzazioni utilizzano servizi Kubernetes gestiti sul cloud e anche distribuzioni con deployment autogestiti. CN2 è ancora un’ottima scelta di SDN grazie alla sua capacità ibrida di soddisfare tutte le distribuzioni Kubernetes, inclusi OpenShift e OpenStack, creando un’esperienza comune e federandole per un’interconnettività senza interruzioni.
Oltre a poter gestire più orchestratori, KubeSprawl è l’eponimo per l’uso di molti cluster Kubernetes. E ora Kubernetes multi-cluster è un nuovo punto di forza per CN2.
Contrail è stato creato apposta per una multi-tenancy sicura e scalabile, quindi è l’ideale per cluster multiuso, multi-team e condivisi di grandi dimensioni. Ma considerato che le aziende fanno l’opposto e distribuiscono molti piccoli cluster – per team, per applicazione, per sviluppo, per test, per staging e per produzione – con CN2 possono snellire e consolidare l’SDN dei loro disordinati multi-cluster. Infatti CN2 si può eseguire in un solo cluster primario e può fungere da CNI per quel cluster e per molti altri. Allo stesso modo, può combinare analisi multi-cluster. Anche se CN2 è noto per la sua capacità federativa, in questo modello multi-cluster non è richiesta la federazione tra i cluster per una gestione senza interruzioni della rete virtuale e delle policy di sicurezza.
Infine, il vantaggio di Kubernetes rispetto a OpenStack è la maggiore facilità di implementazione. Funziona in cloud privati e pubblici, bare-metal e si adatta a piccole implementazioni di un solo nodo. Per queste ragioni, sapevamo che CN2 sarebbe stato assolutamente semplice da provare e testare. L’esecuzione di minikube su un laptop con CN2 è facile al punto da richiedere pochi minuti. E Juniper consente la semplificazione e snellimento di ogni tipo di deployment con opzioni complete per logging, analisi di sistema, analisi di rete e telemetria di flusso.
Questo è un grande risultato per i team di prodotto e di engineering di Juniper e segna l’inizio di una nuova versione di Contrail e di una nuova era per CN2.
Altre risorse