1. Cloud-Native ohne Vendor Lock-In
mit Kubernetes
Oliver Weise
Senior Software Developer - Team Lead
22.10.2019
2. Folie 2
Was bedeutet der Titel dieses Talks?
Cloud
Vieles für viele. Für Consol: Eine Plattform für den IT-Betrieb welche Computing-Ressourcen von konkreter Hardware
abstrahiert. In diesem Fall ist konkret die "Public Cloud" gemeint.
Cloud Native
Eigenschaft einer IT-Technologie, welche von Beginn an für den Betrieb in der Cloud konzipiert wurde. Anwendbar auf so
ziemlich alle Aspekte der IT: Rechenzentren, Software, Entwicklungsprozesse, you name it
Vendor Lock-In
Ein Zustand, in dem eine IT nicht in der Lage ist, die Produkte oder Plattformen eines Anbieters ohne "selbstmörderische"
Kosten und Aufwände hinter sich zu lassen.
Kubernetes
Noch etwas Geduld ...
3. Folie 3
Die Cloud! Meine drei liebsten Vorteile
Verfügbarkeit
Überall
Beliebig viel
Sofort
Alles ist Code!
Software
Prozesse
Infrastruktur
Berechtigungen
Benutzer
...
High Availability
As a Service
"Wie die Großen"
Aber bezahlbar
4. Folie 4
Die Cloud! Ein Vorteil mit Einschränkungen ...
Provider-Services
Schlüsselfertig
Kompletter Stack
Keine Administration
(Untereinander) Voll integriert
Pay as you use
SecretManagement
Mobile Clients
FIREWALL
Datenbanken
Volumes
Infrastruktur-Automation
MessageQueue
Clustering
Serverless
ci/cd
Container
Big Data
Caching
BATCH
WEBSITES
Monitoring
Backups
Tracing
DIRECTORYSERVICE
Authentifizierung
API Gateway
Autoscaling
Log-Aggregation
PaaS
Blockchain
6. Folie 6
Vendor-Lock-In auf mehreren Ebenen
Technischer Lock-In
Jeder Dienst hat proprietäre Funktionsweisen und Schnittstellen. Dienste anderer Hersteller funktionieren in vielfacher
Weise anders.
Know-How Lock-In
Die über die Jahre angeeigneten Kenntnisse sind nicht zu einem anderen Anbieter transportabel.
Daten Lock-In
Unternehmensdaten sind in einem Format gespeichert das sich nicht ohne Aufwände auf die Dienste anderer Anbieter
übertragen lässt.
7. Folie 7
Will man denn überhaupt weg?
"Bestimmt nicht in den nächsten drei Jahren."
Die Auswahl eines Public Cloud Provider ist wie die Auswahl eines Standard-Betriebssystems oder eines Rechenzentrums.
Man plant besser in Jahrzehnten.
"Wir sind auch bislang mit Lock-In schon gut klar gekommen."
Das Lock-In auf einen Public Cloud Provider könnte sich als noch schwerwiegender herausstellen als z.B. ein Microsoft-
"Ökosystem". Die Schnittstellen zwischen und zu den Systemen sind hier häufig "implizit" und damit vollkommen
außerhalb der eigenen Kontrolle.
"Bei der Größe der Provider und ihrer Konkurrenz passiert nichts."
Die Geschichte einstmals übermächtiger Technologiekonzerne und ihres folgenden Bedeutungsverlustes suggeriert etwas
anderes.
8. Folie 8
Auftritt: Kubernetes
Eine von Google entwickelte Plattform für Cloud
Computing
• Open Source
• Hat aus unserer Sicht den Kampf um die dominante Cloud Plattform "gewonnen"
• Gegen Mesos/Marathon, Docker Swarm, CloudFoundry
• Sagt auch Forrester
• Für uns: Die "Lingua Franca" der Cloud
• Auch Red Hat OpenShift basiert auf Kubernetes
9. Folie 9
Auftritt: Kubernetes #2
Was ist der Unterschied zu den Angeboten der Public
Cloud Provider?
• Es ist ein Produkt um eine Cloud Plattform bereitzustellen
• zunächst kein Plattform-Service selbst
• Es ist eine Plattform für
• Die eigene produktive Software
• System-Software welche die Dienste der Public Cloud Anbieter ersetzen kann
• Alle großen Public Cloud Provider bieten "Kubernetes as a Service" als Zwischenplattform an
• Zur Not auch on Premise betreibbar
10. Folie 10
Azure Kubernetes ServiceAmazon Elastic Kubernetes Service
Kubernetes
Lock-In reduzieren durch gezielte Service-Auswahl und Kubernetes
Amazon AWS
AWS Cloud
VPC
Amazon RDS
for PostgreSQL
Amazon RDS
for PostgreSQL
Terraform
Infra-Automation
Database Cluster
Microsoft Azure
CI/CD
Jenkins-X
Application Cluster
K8s Pod K8s Pod K8s Pod
Auth&Auth
Keycloak
Logging/Montoring
PrometheusEFK
Message Queue
Kafka/Strimzi
Serverless Batch
KNative
Ansible
Azure Cloud
Terraform
Infra-Automation
Ansible
Kubernetes
Virtual Network
Azure PostgreSQL Azure PostgreSQL
Database Cluster
CI/CD
Jenkins-X
Application Cluster
K8s Pod K8s Pod K8s Pod
Auth&Auth
Keycloak
Logging/Montoring
PrometheusEFK
Message Queue
Kafka/Strimzi
Serverless Batch
KNative
11. Folie 11
Fazit
Public Cloud mit Exit-Strategie ist möglich!
• Auf Kubernetes als Plattform setzen
• Alles was hier passiert ist bzgl. Technik und Know-How unabhängig
• Auf unabhängige Infrastruktur-Automation setzen
• Plattform-Dienste mit Augenmaß einsetzen, typischerweise:
• Datenspeicher die auf Standardprodukten basieren
• Leicht portierbare Dienste, z.B. Secret Management
• Evtl. Logging/Monitoring/Tracing, wenn ein deutlicher Mehrwert erkennbar