Wann Kubernetes verwendet werden sollte
Die Entscheidung, eine Plattform für die Containerorchestrierung wie Kubernetes zu verwenden, hängt von Geschäfts- und Entwicklungsanforderungen ab. Im Folgenden wird die allgemeine Architektur der Lösung für das Drohnentracking nochmal zusammengefasst.
Die Lösung ist als Microserviceanwendung konzipiert, wobei es sich um lose gekoppelte Dienste handelt, die zusammenarbeiten. Diese Dienste stellen Sie separat voneinander bereit, um das Design und die Wartung der Lösung zu vereinfachen. Im Folgenden finden Sie die aktuelle Konfiguration Ihrer Lösung.
- Web-Front-End: enthält Karten und Informationen zu getrackten Drohnen.
- Cachedienst: speichert häufig angeforderte Informationen, die auf der Website angezeigt werden.
- RESTful-API: wird von getrackten Drohnen verwendet, um Daten zu ihrem Status zu senden (z. B. GPS-Standort und Akkustand).
- Warteschlange: enthält nicht verarbeitete Daten, die von der RESTful-API gesammelt wurden.
- Datenverarbeitungsdienst: ruft Daten aus der Warteschlange ab und verarbeitet diese.
- NoSQL-Datenbank: speichert verarbeitete Trackingdaten und Benutzerinformationen, die von der Website und dem Datenverarbeitungsdienst aufgezeichnet wurden.
Diese Dienste werden von verschiedenen Teams in Ihrem Unternehmen entwickelt und verantwortet. Jedes Team verwendet Container, um den jeweiligen Dienst zu erstellen und bereitzustellen. Diese neue Strategie ermöglicht es den Entwicklerteams, mit den Anforderungen der modernen Softwareentwicklung an die Automatisierung, die Tests und die allgemeine Stabilität und Qualität Schritt zu halten.
Die Veränderung in den Anforderungen von Entwicklern führte zu mehreren Prozessen und geschäftlichen Vorteilen für das Unternehmen. zum Beispiel können gehostete Computeressourcen besser genutzt werden, neue Features haben die Markteinführungszeit optimiert und die Kundenreichweite wurde ebenfalls verbessert.
Es gab jedoch auch einige Herausforderungen bei der Containerverwaltung, die dazu führten, dass Ihr Unternehmen sich mit Containerorchestrierungslösungen auseinandersetzen muss. Es hat sich herausgestellt, dass das Skalieren der Trackinganwendung auf eine Handvoll Bereitstellungen zwar relativ einfach für Ihre Teams war, die Skalierung und Verwaltung von vielen Instanzen hingegen nicht.
Es gibt noch andere Aspekte, die bedacht werden müssen, Beispielsweise der Umgang mit fehlerhaften Containern, die Speicherbelegung, die Netzwerkkonfiguration, die Verwaltung von App-Geheimnissen.
Wie Sie bereits herausgefunden haben, stellt Kubernetes als Orchestrierungsplattform Unterstützung für alle diese Herausforderungen bereit.
Sie sollten Kubernetes nutzen, wenn Ihr Unternehmen:
- Apps als Microservices entwickelt.
- Apps als cloudnative Anwendungen entwickelt.
- Microservices mithilfe von Containern bereitstellt.
- Container im großen Stil aktualisiert.
- zentralisierte Containernetzwerke und Speicherverwaltung benötigt.
Wann Kubernetes nicht verwendet werden sollte
Nicht alle Anwendungen müssen in Kubernetes ausgeführt werden. Es ist also möglich, dass Kubernetes sich nicht für Ihr Unternehmen eignet.
Beispielsweise kann der Aufwand bei der Containerisierung und Bereitstellung einer monolithischen App die Vorteile der Ausführung von Apps in Kubernetes überwiegen. Eine monolithische Architektur kann nicht einfach Features wie die Skalierung einzelner Komponenten oder Updates verwenden.
Kubernetes kann viele geschäftliche Vorteile für die Softwareentwicklung, die Bereitstellung, Verwaltung und Optimierung von Prozessen bieten. Jedoch hat Kubernetes eine steile Lernkurve. Durch den modularen Aufbau von Kubernetes können neue Konzepte eingeführt werden, die sich auf Teams in Ihrem Unternehmen auswirken.
Ihre Entwicklungsteams müssen sich beim Entwickeln und Entwerfen von Apps mit modernen Entwurfskonzepten auseinandersetzen. Zu diesen Konzepten gehören die Verwendung von Microservices und die Containerisierung dieser Dienste. Teams müssen auch mit Container- und Orchestrierungsumgebungen experimentieren, um alle verfügbaren Optionen optimal nutzen zu können.
Wenn Ihr Unternehmen nicht bereit ist, diese Neuerungen einzuführen, ist Kubernetes möglicherweise nicht für Ihr Unternehmen geeignet.