Seit ich vor rund 3 Jahren meinen Blogpost Apache Kafka und was es mit dem Hype auf sich hat geschrieben habe, ist vieles passiert in der Welt des Stream Processings. Apache Kafka ist definitiv kein Hype mehr, dies belegen eindrückliche Zahlen: Gemäss Confluent haben
- 6 von 10 Unternehmen aus der Reisebranche
- 7 von 10 der Grossbanken
- 8 von 10 Versicherungsunternehmen
- sowie 9 von 10 Telekommunikationsunternehmen Kafka produktiv im Einsatz.
Nicht zuletzt dürfte einer der Hauptgründe die breite Einsatzmöglichkeit für unterschiedlichste Use Cases sein. Mario Maric beschreibt einige davon in seinem Blogpost zu drei unterschiedlichen Architektursmustern.
Die grosse Popularität hat auch eine stark wachsende Community gebildet, welche intensiv an der Entwicklung von Apache Kafka sowie an Tools und Produkten im Kafka-Ökosystem arbeitet.
Doch das Aufsetzen und Betreiben eines Kafka Clusters sowie dem Ökosystem (Kafka Connect, Schema Registry, KSQL, ...) stellt IT-Abteilungen vor Herausforderungen. Es bedingt sehr viel technisches Know-How und ein entsprechend aufgestelltes Team.
Es gibt unterschiedliche Ansätze, wie Kafka Cluster betrieben werden können:
- Fully-managed (oder auf Kafka-as-a-Service): Wird beispielsweise von Confluent angeboten und bedeutet, dass sie sich um den kompletten Cluster Aufbau und Betrieb in der gewünschten Public Cloud kümmert. Dies beinhaltet auch automatische Skalierung bei zunehmender Auslastung. Abgerechnet wird verbrauchsbedingt direkt über den entsprechenden Public-Cloud Provider.
- Self-managed: Der self-managed Ansatz bedeutet nichts anderes, als dass man selber für den Aufbau und Betrieb des Clusters zuständig ist. Dies kann in der Public Cloud, private Cloud oder on-Premise sein. Im Unterschied zum fully-managed Angebot hat man die volle Kontrolle über das Setup, was aber nicht zwingend nur Vorteile hat. Monitoring und Skalierung beispielsweise müssen selber umgesetzt werden. Trotzdem ist es heute dank Operatoren einfacher denn je, einen Cluster selbst zu betreiben.
In diesem Blog möchte ich aufzeigen, was man braucht, um in wenigen Schritten einen self-managed Kafka Cluster mit Hilfe eines Operators in der Public Cloud zu deployen.



