
Die Datawire-Leute und ich sind kürzlich von den fantastischen KubeCon- und CloudNativeCon-Konferenzen in Barcelona zurückgekehrt. Wir haben an 6 Auftritten auf der KubeCon teilgenommen, ein paar coole (ohne falsche Bescheidenheit) T-Shirts an unserem Stand verteilt, mit Dutzenden von Menschen gesprochen und coole Auftritte besucht. Es gab so viele interessante Dinge auf der KubeCon EU, dass ich beschlossen habe, einen Beitrag mit den wichtigsten Ergebnissen zu schreiben.
Und hier sind die Schlussfolgerungen, die ich gezogen habe (nicht in der Reihenfolge ihrer Wichtigkeit):
- Plattformübergreifende und hybride Clouds (noch) sind beliebt.
- Die Technologieintegration gewinnt an Dynamik.
- Ankündigung des Service Mesh Interface (SMI): Bleiben Sie auf dem Laufenden.
- (Trüb?) Die Zukunft von Istio.
- Politik als Code steigt auf.
- Cloud DevEx ist immer noch nicht ohne Probleme.
- Unternehmen (noch) in den frühen Stadien der Technologieeinführung.
- Lokale Kubernetes sind echt (aber eingängig).
- Betrachten Sie Cluster als Herde.
- Der Erfolg von Kubernetes hängt immer noch von der Community ab.
Auf der Konferenz gab es mehrere Präsentationen zu Multi-Clouds (und verwandten Themen: Netzwerk und Sicherheit ), aber ich bemerkte, dass viele Einführungsfolien in den Endbenutzerberichten die Infrastruktur oder Architektur mit mindestens zwei Cloud-Anbietern darstellten. Am Datawire-Stand haben wir häufiger als bei früheren Konferenzen über Multi-Cloud-Übergangstrends gesprochen.
Der Erfolg von Kubernetes hat seine Multi-Cloud-Strategie erheblich vereinfacht und eine hervorragende Abstraktion für Lieferungen und Orchestrierung bereitgestellt. In den letzten zwei Jahren sind die Funktionen und APIs von Kubernetes wesentlich stabiler geworden, und viele Anbieter verwenden diese Plattform. Die Speicherverwaltungsfunktionen und die Netzwerkkonnektivität wurden verbessert, und in diesem Bereich gibt es genügend gute kommerzielle Open Source-Produkte und -Lösungen. In seinem Vortrag "Den Mythos entlarven: Es ist schwierig, Speicher in Kubernetes aufzubauen" sprach Saad Ali, ein leitender Google-Entwickler, auf interessante Weise über Speichereinrichtungen, und Eran Yanay von Twistlock präsentierte einen guten Überblick über Verbindungen in "Verbindungen in Kubernetes: wie man ein CNI-Plugin von Grund auf neu schreibt . "
Besonders gut gefallen haben mir die verschiedenen Gespräche über die Kombination von Azure mit vorhandenen lokalen Infrastrukturen. Ich habe kürzlich in InfoQ einen Artikel darüber geschrieben, wie sich die Architektur mehrerer Plattformen auf die Arbeit an Anwendungsupgrades auswirkt . Ich habe über drei Ansätze gesprochen: Erweiterung der Cloud auf ein Rechenzentrum wie Azure Stack , AWS Outposts und GCP Anthos ; Gewährleistung einer einheitlichen Lieferstruktur (Orchestrierung) zwischen mehreren Lieferanten oder Clouds mithilfe einer Plattform wie Kubernetes; Gewährleistung der Einheitlichkeit der Struktur von Diensten (Netzwerk) mithilfe eines API-Gateways und eines Dienstnetzes wie Ambassador und Consul .
Wir bei Datawire arbeiten intensiv an API-Gateways und tendieren offensichtlich zu einem flexiblen dritten Ansatz. Auf diese Weise können Sie schrittweise und sicher von einem herkömmlichen Stapel näher an der Cloud migrieren. HashiCorp, Nick Jackson und ich sprachen auf der KubeCon mit einem Vortrag zum Thema „Sicherstellung der Cloud-Konnektivität vom Endbenutzer zum Service“.

Technologie kombiniert Dynamik
Viele Anbieter bieten Pakete mit Kubernetes-Tools und zusätzlichen Technologien an. Ich habe auf die Ankündigung von Rio MicroPaaS von Rancher Labs aufmerksam gemacht - kürzlich haben sie interessante Dinge produziert. Ich habe in InfoQ einen Bericht über Submariner geschrieben , der mehrere Cluster verbindet, und über die Kubernetes-Leichtbau-Distribution k3s . Und ich bin gespannt auf das Kubernetes Toolkit von Supergiant . Dies ist eine "Reihe von Dienstprogrammen zur Automatisierung der Bereitstellung und Verwaltung von Kubernetes-Clustern in der Cloud".
In einer Unternehmensumgebung werden Pakete an den Speicher weitergeleitet. Ein gutes Beispiel ist VMware Velero 1.0 (basierend auf von Heptio erworbenen Entwicklungen ), mit dem Entwickler Kubernetes-Ressourcen und persistente Volumes reservieren und migrieren können.
Viele andere Betreiber zum Speichern und Verwalten von Daten in Kubernetes, wie CockroachDB , ElasticCloud und StorageOS , waren auf der Konferenz vertreten . Red Hat Rob Szumski von Red Hat sprach über die Entwicklung des Operator SDK und der Community und stellte den Operator Hub vor . Anscheinend ist die Bedienerunterstützung einer der Hauptvorteile der OpenShift Enterprise Suite von Red Hat .
Ankündigung des Service Mesh Interface (SMI): Bleiben Sie auf dem Laufenden
Die Ankündigung von Service Mesh Interface (SMI) in einem Bericht von Gabe Monroy von Microsoft machte definitiv viel Lärm . Niemand wird bestreiten, dass das Service-Mesh in letzter Zeit sehr beliebt war, und SMI wird die Hauptfunktionen in einer Standardschnittstelle kombinieren und „eine Reihe gemeinsamer portabler APIs bereitstellen, die die Interoperabilität zwischen verschiedenen Service-Mesh-Technologien wie Istio, Linkerd und Consul Connect sicherstellen“.
In der Demo zeigt Gabe die Hauptfunktionen: Verkehrsrichtlinien zum Anwenden von Richtlinien wie Anmeldeinformationen und Transitverschlüsselung zwischen Diensten (am Beispiel von Consul und Intention); Verkehrsüberwachung - Erfassung der Hauptmetriken, z. B. Anzahl der Fehler und Verzögerungen beim Datenaustausch zwischen Diensten (am Beispiel von Linkerd und dem SMI- Metrikserver ); und Verkehrsmanagement - Messen und Übertragen des Verkehrs zwischen verschiedenen Diensten (z. B. Istio mit Weaveworks Flagger ).

Es wäre interessant, eine Schnittstelle in diesem hart umkämpften Umfeld zu definieren, aber ich bin auf die SMI-Website gegangen, habe die Spezifikationen gelesen und vermutet, dass diese Abstraktion auf ein Minimum an gemeinsamen Funktionen reduziert werden kann (dies ist bei Lösungen, die ich auf meine eigene Weise kenne, immer schwer zu vermeiden Java Community Process Erfahrung). Die potenzielle Gefahr besteht darin, dass, obwohl jeder diese Spezifikation anwendet, die Anbieter die interessantesten Funktionen durch benutzerdefinierte Erweiterungen bereitstellen.
Ich habe mit den Mitarbeitern von Datawire darüber gesprochen und ich denke, dass das Service-Mesh auf einem Markt existiert, der nach dem Prinzip „Der Gewinner bekommt alles“ arbeitet. Am Ende wird SMI einige Aufmerksamkeit ablenken und eine andere Technologie wird einfach erscheinen und alle Vorteile sammeln ( so etwas wie Kubernetes mit Mesos, Docker Swarm usw.). Folgen Sie den Nachrichten und sehen Sie, was passiert.
(Hazy?) Istios Zukunft
Obwohl viel über das Service-Mesh gesagt wurde, wurde das Thema von Istio - vielleicht das berühmteste Service-Mesh - gemischt. Jemand glaubt, dass Istio und das Service-Mesh Synonyme sind (wie Docker und Container) und nur eine Lösung sehen, keine Probleme; Jemand mag die Funktionen von Istio; und jemand ist mit dieser Technologie nicht besonders zufrieden.
In letzter Zeit wurde viel über das Istio-Benchmarking diskutiert, und in Release 1.1 wurden einige Probleme mit der Mixer-Komponente absichtlich behoben . Interessanterweise habe ich mit verschiedenen Personen gesprochen, die Istio mehrere Monate lang evaluiert haben (ein Team hat fast ein Jahr damit verbracht), und sie behaupten, dass Istio immer noch sehr komplex und ressourcenintensiv ist. Jemand sagt, dass die Ausgabe von gehostetem Istio über GKE viele Probleme gelöst hat, aber nicht jeder kann GCP verwenden.
Ein Google-Vertreter wurde gefragt, was mit Istio passieren würde, ob er ein CNCF-Projekt werden würde. Die Antwort war sehr glatt, aber vage: Istio hat jetzt Open Source Code, die Leute können daran arbeiten und über CNCF abwarten und sehen. Bisher ist nur Linkerd das offizielle Service-Mesh-Projekt in CNCF, obwohl Envoy Proxy auch ein CNCF-Projekt ist (und Istio, das Ambassador API-Gateway und viele andere Technologien darauf basieren). An unserem Stand fragten viele nach der Integration von Linkerd 2 und Ambassador (danke an Oliver Gould, technischer Direktor von Buoyant, der Ambassador in seiner ausführlichen Linkerd-Rezension erwähnte), und die Teilnehmer mochten die Benutzerfreundlichkeit von Linkerd.
Übrigens war ich sehr erfreut, als die Jungs von Knative in ihrer Rede „Knative für Spaß und Profit erweitern“ zeigten, dass sie Istio durch Ambassador in Knative ersetzt haben, weil Ambassador einfacher zu bedienen ist (achten Sie auf ihre T-Shirts auf dem Foto und lesen Sie die entsprechende Aufgabe auf GitHub: "Istio als Abhängigkeit entfernen" ):

Politik als Code steigt auf
In unserer Branche ist es bereits jeder gewohnt, Politik als Code in Verbindung mit einem Identitäts- und Zugriffsverwaltungssystem (IAM), einer Iptable-Konfiguration, ACLs und Sicherheitsgruppen darzustellen. Bisher wurde dies jedoch auf einer niedrigen Ebene in der Nähe der Infrastruktur durchgeführt. Als ich Netflix-Leute 2017 auf der KubeCon in Austin über die Verwendung des Open Policy Agent (OPA) sprechen hörte, fragte ich mich, wie ich mit diesem Projekt eine Richtlinie als Code definieren kann.
Auf dieser KubeCon habe ich gesehen, dass die Politik mit zunehmendem Code zunimmt, und immer mehr Menschen diskutieren die Verwendung von OPA, zum Beispiel während eines Vortrags von Rita Zhang und Max Smythe , und mehr über den Bericht „Kubernetes Unit Testing Configurations“. Verwenden des Open Policy Agent » Gareth Rushgrove (er hat ein Gespür für Projekte mit großem Potenzial).
Ich habe mich lange Zeit an HashiCorp Sentinel gehalten , um Richtlinien auf Infrastrukturebene zu definieren, und jetzt bringt die Verwendung von Intention im Consul-Service-Mesh diese Technologie noch weiter in den Vordergrund. Mit Intention kann eine Richtlinie auf Serviceebene definiert werden. Zum Beispiel kann Service A mit Service B kommunizieren, nicht jedoch mit Service C. Als das Datawire-Team mit HashiCorp zusammenarbeitete, um Ambassador und Consul zu integrieren, erkannten wir schnell die Vorteile der Kombination von Intention mit mTLS (zur Identifizierung von Services) und ACLs (um Spoofing zu verhindern und für mehrstufigen Schutz).

Cloud DevEx kann es immer noch nicht
Während der Schlussbemerkung „Don't Stop Believing“ sprach Bryan Liles, leitender Entwickler bei VMware, über die Bedeutung des Entwickler-Workflows (Entwicklererfahrung, DevEx). Dieses Thema wurde in mehreren Gesprächen angesprochen. Kubernetes und sein Ökosystem entwickeln sich gut, aber der interne Entwicklungszyklus und die Integration von Versorgungspipelines in Kubernetes sind definitiv verbesserungsbedürftig.
Christian Roggia sprach darüber in seinem Bericht „Reproduzierbare Entwicklung und Lieferung mit Bazel und Telepräsenz“ . Er sprach darüber, wie Engel und Volkers das CNCF-Telepresence-Tool in ihrem internen Entwicklungszyklus verwenden, damit sie den Container nicht nach jedem Wechsel abholen und versenden müssen.

Es gab eine interessante Gruppendiskussion mit den Jungs von Weaveworks und Cloudbees, "GitOps und Best Practices für CI / CD in der Cloud", die sich mit der kontinuierlichen Bereitstellung im Detail befasste. GitOps entwickelt sich recht erfolgreich. Wenn ich in Datawire und auf Konferenzen arbeite, stoße ich häufig auf Teams, die diesen Ansatz für die Konfiguration und Bereitstellung verwenden. Zum Beispiel erwähnten Jonathan und Rodrigo dies in ihrem faszinierenden Bericht „Scaling Edge Operations in Onefootball mit dem Botschafter: 0 bis 6.000 Anfragen pro Sekunde“ :

Unternehmen (noch) in den frühen Stadien der Technologieeinführung
Dies ist die erste KubeCon, bei der ich am Datawire-Stand viel mit Entwicklern großer Unternehmen gesprochen habe, die gerade erst anfangen, Cloud-Technologie zu lernen. Fast jeder hat von Kubernetes gehört oder damit experimentiert, aber viele denken immer noch darüber nach, wie sie ihre alte Technologie in die neue Welt integrieren können.
Cheryl Hung, Ökosystemdirektorin bei CNCF, führte mehrere Diskussionen, darunter „Transforming the Company with Cloud“, und es war interessant, von Pionieren wie Intuit zu hören. Laura Rehorst beschrieb in ihrem Vortrag „Von COBOL zu Kubernetes: Eine Cloud-Reise für eine 250 Jahre alte Bank “ , wie ABN AMRO Planung und strategische Ressourcen einsetzte.
Wir haben das Ambassador API-Gateway genau in der Mitte des Standes platziert, daher wurden uns häufig Fragen gestellt, wie sich das moderne Gateway für Kubernetes von vorhandenen Lösungen zur Verwaltung des gesamten API-Lebenszyklus unterscheidet. Jetzt arbeiten wir an dem nächsten kommerziellen Produkt in diesem Bereich - dem Ambassador Code . Es war interessant, mit den Entwicklern die Anforderungen und Erwartungen im Zusammenhang mit den neuen Cloud-Paradigmen zu diskutieren.
Lokale Kubernetes sind echt (aber eingängig)
Es gab mehrere Ankündigungen zur lokalen Installation von Kubernetes, insbesondere in einer Unternehmensumgebung, beispielsweise zur Integration von Kublr VMware und VMware und kubeadm . Red Hat hat an allen Diskussionen über OpenShift teilgenommen, und ich habe mehr als einmal gehört, wie Leute OpenShift-Abstraktionen mögen, und die potenzielle Abhängigkeit wird durch den damit verbundenen verbesserten Workflow und die damit verbundenen SLA-Konventionen ausgeglichen.
Aber alle wiederholten dasselbe: Sie müssen Kubernetes nicht selbst installieren und warten, wenn dies nicht unbedingt erforderlich ist. Und selbst wenn Sie der Meinung sind, dass Ihr Unternehmen etwas Besonderes ist, nehmen Sie sich Zeit: Fast jedes Unternehmen, das eine öffentliche Cloud nutzen kann, kann Kubernetes als Service nutzen.
Betrachten Sie Cluster Herde
In seinem interessanten Bericht "Wie Spotify versehentlich alle Kube-Cluster gelöscht hat und Benutzer nichts bemerkt haben" erzählte der Spotify-Entwickler David Xia, was sie beim Löschen mehrerer (!) Work-Cluster gelernt haben. Ich werde nicht die ganze Situation beschreiben (siehe Video), aber Davids Hauptbotschaft war, Kubernetes-Cluster als Herde zu behandeln. Ich denke, viele von uns haben diesen Satz gehört: "Behandle Server wie eine Herde, nicht deine Lieblingstiere." David ist jedoch der Ansicht, dass wir mit der Entwicklung der rechnergestützten Abstraktion (wenn wir "Rechenzentrum als Computer" betrachten ) dasselbe Prinzip anwenden und uns nicht zu sehr an unsere Infrastruktur binden sollten.

In ihrem Vortrag laden Purvi Desai und Tim Hockin, die gemeinsame Entwicklung von Kubernetes und GCP- Netzwerken, Organisationen ein, Kubernetes-Cluster dauerhaft zu zerstören, neu zu erstellen und zu migrieren, um nicht mit ihnen verwandt zu sein. Das Hauptargument: Wenn Sie nicht ständig überprüfen, ob Cluster wiederhergestellt und Daten übertragen werden können, ist dies möglicherweise nicht erfolgreich, wenn ein Problem auftritt. Stellen Sie sich vor, dies ist Chaos Engineering für Cluster.
Der Erfolg von Kubernetes hängt immer noch von der Community ab.
In den Berichten war eines der Hauptthemen beim Mittagessen und während des gesamten Aufenthalts die Bedeutung von Gemeinschaft und Vielfalt. Am Donnerstagmorgen erzählten Lucas Käldström und Nikhita Raghunath in ihrem Bericht „Erste Schritte in der Kubernetes-Community“ nicht nur zwei erstaunliche Geschichten, sondern zerschmetterten auch alle Ausreden derer, die nicht an Open-Source-Projekten und CNCF-Projekten beteiligt sind .

Cheryl Hung dankte ihr in ihrem 2,66-Millionen- Bericht für ihren enormen Beitrag zum Projekt und setzte sich stark für Vielfalt und starke Führung ein. Ich war überrascht, als ich erfuhr, dass über 300 Stipendien zur Förderung der Vielfalt durch Spenden verschiedener Organisationen innerhalb der CNCF finanziert wurden.
KubeCon EU Fazit
Nochmals vielen Dank an alle, mit denen wir in Barcelona gesprochen haben. Wenn Sie nicht an unseren Präsentationen teilnehmen konnten, gebe ich eine vollständige Liste:
Bei Datawire folgen wir diesen Trends, um sicherzustellen, dass sich Ambassador weiterentwickelt und den sich ändernden Anforderungen von Cloud-Entwicklern gerecht wird. Wenn Sie Ambassador in letzter Zeit nicht verwendet haben, testen Sie unsere neueste Version - Ambassador 0.70 mit integrierter Unterstützung für das Consul-Service-Mesh, Unterstützung für benutzerdefinierte Ressourcendefinitionen und vielen anderen Funktionen.
Wenn Sie Probleme beim Aktualisieren haben, erstellen Sie eine Aufgabe oder finden Sie uns in Slack . Wenn Sie eine vorgefertigte Ambassador-Installation mit integrierter Authentifizierung, Geschwindigkeitsbegrenzung und Support benötigen, probieren Sie unser kommerzielles Ambassador Pro- Produkt aus.
Und wenn Sie gerne mit Ambassador zusammenarbeiten, erzählen Sie uns davon. Hinterlasse einen Kommentar unter dem Artikel oder poste @getambassadorio auf Twitter.