Microservices in Unternehmen: Innovation oder Untergang

Failure SuccessIn den letzten Jahren ist „Microservices“ ein häufig verwendetes Modewort geworden – und wie immer bei wegweisenden neuen Technologien gibt es die unterschiedlichsten Meinungen zu diesem Thema.

Die einen stehen dem Einsatz von Microservices optimistisch gegenüber und bezeichnen sie als „gelungene serviceorientierte Architektur (SOA)“. Zweifler hingegen betrachten sie einfach nur als eine neue Bezeichnung für SOA. Trotz Hype und Skepsis haben Microservices aber einen echten Nutzen, besonders bei der agilen Entwicklung und Bereitstellung komplexer Anwendungen.

Anzeige

Doch bei all dem Rummel zum Thema, wo steht die Branche denn eigentlich gerade bei der Einführung der Microservices-Architektur?

Bei vielen neuen Technologien wird die Einführung anfangs durch Skepsis und Hemmnisse verzögert. Microservices stehen jedoch bereits jetzt im Mittelpunkt. Fast 70 % der Organisationen nutzen heute schon Microservices oder denken über deren Nutzung nach. Etwa ein Drittel nutzt sie schon in der Produktion.

Die Menschen sind heutzutage ständig online. Es gilt: Erfolgreiche Unternehmen haben allen anderen voraus, dass sie höchst innovativ sind, sich laufend anpassen und schneller als ihre Wettbewerber außergewöhnliche neue Produkte und Erlebnisse eben für ihre Nutzer schaffen. Für die Anwendungsentwickler heißt das, sie müssen Innovationen zügig, zuverlässig und reproduzierbar umsetzen.

Microservices verfolgen das Ziel, das Anbieten neuer Funktionen zu einem schnellen und nahtlosen Prozess zu machen. Mit einer Microservices-Architektur lässt sich eine riesige, monolithische Anwendung in eine Anzahl individueller und unabhängiger Dienste zerlegen. Die Gesamtfunktion bleibt gleich, die Anwendung wird aber in handhabbare Teile bzw. Dienste zerlegt, was eine sehr schnelle Bereitstellung ermöglicht.

Der monolithische Ansatz kommt an seine Grenzen, sobald eine Anwendung einen gewissen Komplexitätsgrad erreicht. Erfolgreiche Anwendungen wachsen mit neu hinzugefügten Funktionen und über aktualisierte Versionen einfach weiter. Monolithische Anwendungen, also Anwendungen aus einem Guss, sind für die agile Entwicklung und Bereitstellung eher ungeeignet.

Viele der heutigen, am schnellsten wachsenden Organisationen wie Netflix, Uber und Lyft haben den Sprung bereits gewagt: Entweder durch die Umstellung auf Microservices oder durch deren Verwendung von Anfang an.

Da der Einsatz von Microservices allmählich die kritische Masse erreicht, zeichnen sich mehrere Trends ab, die die Software-Entwicklungsbranche stark verändern werden, beispielsweise:

Kurze Produkt-Freigabezyklen und sehr schnelle Bereitstellung

Aufgrund der traditionellen Software-Entwicklungstechniken war in der Vergangenheit jede Software-Aktualisierung ein Großereignis. Folglich führten die Organisationen nur alle paar Wochen oder Monate große Aktualisierungen durch. Untersuchungen zeigen jedoch, dass 70 % der Organisationen heute mindestens einmal pro Woche neuen Code freigeben, davon sogar 28 % einmal täglich. Falls eine Organisation nicht täglich (oder wenigstens wöchentlich) Aktualisierungen durchführt, riskiert sie, gegenüber einem Wettbewerber ins Hintertreffen zu geraten – weil der Wettbewerb Innovationen schneller umsetzt und neue Dienste zügiger auf den Markt bringt.

Ein guter Indikator für die Verwendung neuer Anwendungsprozesse ist der Einsatz von unterstützenden Technologien. Vielfach werden Container und Orchestrierungsplattformen eingesetzt, um die Entwicklung und Bereitstellung kleiner Anwendungskomponenten von Microservices zu unterstützen.

Der Einsatz von Containern scheint bereits seinen Wendepunkt zu erreichen, denn fast zwei Drittel der Organisationen haben Container längst im Einsatz oder erwägen ihre Nutzung. Ein Fünftel der Befragten setzen Container bereits in der Produktion ein, wovon etwa ein Viertel schon mehr als 80 % der Arbeitslast in Containern abwickeln.

Kürzere Ausfallzeiten und höhere Leistung

Unsere Untersuchungen zeigen, dass über 75 % der Organisationen wissen, dass es hinsichtlich der Leistung ihrer Anwendungen eine Kluft gibt. Microservices bieten zwar neue Skalierungsmöglichkeiten zur Steigerung der Kapazität, sie stellen die Organisationen aber auch vor neue Herausforderungen im Hinblick auf die Leistungssteuerung.

Direkt mit der Leistung der Anwendungen geht das Problem ungeplanter Ausfallzeiten einher. Die traditionelle Herangehensweise der Organisationen, Ausfallzeiten durch seltenere Anwendungsaktualisierungen zu minimieren, geht in unserem modernen, innovationsgetriebenen Umfeld natürlich nicht mehr auf. Microservices verkleinern den Rahmen von Aktualisierungen, wodurch sie das Risiko von Misserfolgen verringern und die Tests vor der Implementierung vereinfachen. Dies ermöglicht schnellere und häufigere Aktualisierungen sowie die Integration neuer Anwendungsfunktionen.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Verbesserte Zusammenarbeit und Kontinuität

Kontinuierliche Integration und Bereitstellung sind bewährte Entwicklungspraktiken. Neuer Code wird getestet und in produktionsähnlichen Umgebungen implementiert. So werden Implementierungsprobleme und Software-Fehler eingeschränkt, weil Änderungen laufend überprüft werden.

Laut einer Befragung nutzen derzeit 27 % einen ausgereiften Prozess sowohl mit kontinuierlicher Integration (CI = Continuous Integration) als auch kontinuierlicher Bereitstellung (CD = Continuous Delivery). Von den übrigen Befragten nutzen 34 % CI, wovon die Hälfte zukünftig auch CD einsetzen will.

Zur Umsetzung dieser bewährten Praktiken (best practices) benötigen die Organisationen automatisierte Prozesse und eine kooperative Arbeitsumgebung aller Akteure im Entwicklungszyklus. Bei zunehmend mehr beweglichen Teilen ist es am sinnvollsten, dem Einzelnen oder auch kleinen Teams die volle Verantwortung für die jeweilige Komponente zu geben. Hier kommt der DevOps-Ansatz ins Spiel. Mit DevOps und Microservices können Entwicklungs-Teams an den locker zusammenhängenden Teilen der Anwendung arbeiten und die besten Technologien zur automatischen Implementierung auswählen, um so ein nahtloses Erlebnis zu gewährleisten.

Neue Technologien, wie Microservices, Container und CI/CD revolutionieren die Anwendungsentwicklung und ‑bereitstellung. Für alle, die den Übergang zu dieser neuen Vorgehensweise noch mit Skepsis betrachten, ist es jedoch jetzt an der Zeit, Microservices nochmals genauer unter die Lupe zu nehmen.

Unternehmen wie Netflix, Uber und Lyft verdanken ihren Erfolg der konsequenten Umsetzung einer auf Microservices basierenden Vorgehensweise und sollten deshalb als gutes Beispiel dafür dienen, wie man es richtig macht und welchen Nutzen man hieraus ziehen kann.

Allein das Motto „Innovation oder Untergang“, und der rapide steigende Einsatz von Microservices und Containern deutet darauf hin, dass immer mehr Organisationen auf Innovation setzen. Am Ende werden sowohl Verbraucher als auch Organisationen von einem schnelleren und nahtloseren Internet-Erlebnis profitieren.

Owen GarretOwen Garret, Head of Products NGINX

www.nginx.com

 

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.