Why Reactive: Reaktive Architekturen und ihre Geschichte

Seite 3: Zweite Epoche: Öffnung des Internets für private Nutzer mit dynamischen Anwendungen

Inhaltsverzeichnis

Im Jahr 1990 beschloss die National Science Foundation (NSF) der USA, das Internet für private Zwecke freizugeben. Damit war der Grundstein der vierten industriellen Revolution, der sogenannten digitalen Revolution, gelegt. Der Durchbruch des World Wide Web, das zunächst nur Nerds und Universitäten nutzten, erfolgte 2003 mit dem Web 2.0. Es ermöglichte Nutzern, eigene Inhalte als Text-, Audio- oder Videodateien ins Netz zu stellen und untereinander auszutauschen. Die Web-2.0-Anwendungen, die zunächst dem heimischen Desktop vorbehalten waren, griffen ab 2010 rasch auf mobile Endgeräte über. Damit war die Bühne frei für das Zeitalter des mobilen Internets. 2019 gab es bereits über drei Milliarden Internetnutzer weltweit.

Diese Entwicklung hatte erhebliche Auswirkungen auf Wirtschaftsunternehmen, die seit Anfang der 2010er-Jahre mit der digitalen Transformation konfrontiert sind. Die digitale Gesellschaft stellt neue Anforderungen an die Anwendungen ihrer Zeit: Sie müssen rund um die Uhr zur Verfügung stehen, schnell antworten und sollen ihre Anwender auch noch begeistern. Dafür sind klassische Client-Server-Architekturen nicht immer geeignet. 2011 führte Geoffrey Moore den Begriff der Systems of Engagement (SoE) ein [1]. Diese Systemklasse soll die Anforderungen der Digitalisierung beschreiben und abdecken. Zwei grundlegende Probleme galt es zunächst zu lösen.

  • Dynamische Bereitstellung von Ressourcen in der Cloud: Die erste Herausforderung war, eine gute Antwortbereitschaft der Anwendung sicherzustellen, ohne die Anzahl und das Verhalten der Nutzer im Internet genau zu kennen. Das erforderte eine dynamische und kosteneffiziente Bereitstellung der IT-Ressourcen in Form von Servern, Netzwerk und Speicher. Die Cloud schafft hier Abhilfe. Bereits 2006 konnte Amazon mit den Amazon Web Services (AWS) den Unternehmen eine Cloud bereitstellen, die per Infrastructure as a Service (IaaS) funktionierte.
  • Monolithen aufbrechen mit Microservices: Das zweite Problem bestand darin, dass die bisher verwendeten monolithischen Anwendungen eine schlechte Elastizität und Resilienz zeigten. Dieses Problem löste die Microservices-Architektur. Das Konzept der Architektur ist auf Martin Fowler zurückzuführen, der sie erstmals in einem seiner Workshops vorstellte und diskutierte.

Die Microservices-Architektur ist elastisch, weil sich Microservices mit steigender und fallender Last neu starten und auch wieder anhalten lassen. Sie ist zudem resilient, weil der Ausfall eines Microservices nicht zum Ausfall der gesamten Anwendung führt. Container-Werkzeuge wie Docker und Werkzeuge für das Scheduling und die Orchestrierung, etwa Kubernetes, übernehmen meist die Verteilung der Microservices auf die Cloud-Ressourcen.

2014 prägten Netflix und Amazon dafür den Begriff „Cloud-native Architecture“, den Abbildung 4 detaillierter darstellt. Eine Cloud-native Architektur erfüllt die Anforderungen aus dem Manifesto schon sehr gut, wesentlich besser jedenfalls als die klassische Client-Server-Architektur, wie sie in der ersten Epoche anzutreffen war.

Der Stil der Cloud-nativen Architektur setzt auf Microservices, ist somit elastisch und resilient (Abb. 4)

(Bild: msg Group)

Der Fokus der Cloud-nativen Architektur liegt auf der Server- und auf der Anwendungsebene zugleich. Auf der Serverebene stellt die Cloud unbegrenzt hochverfügbare Server bereit, die sich dynamisch skalieren lassen. Auf der Anwendungsebene lassen sich Microservices mehrfach instanziieren und über Container sowie Scheduling und Orchestrierung optimal auf die Server verteilen. Das nutzt das Potenzial auf diesen Architekturebenen gut. Die Möglichkeiten in anderen Architekturbereichen, etwa durch eine effiziente Netzwerkkommunikation, bleiben hingegen teilweise oder vollständig ungenutzt.

Allerdings scheint die Cloud-native Architektur für Unternehmen das zu leisten, was sie sich davon versprechen: Die Unternehmen bringen ihre neuen Produkte und Services per APIs und mobilen Apps ins Internet.

Das Internet of Things (IoT) dringt zunehmend tiefer in das tägliche Leben ein. Die Zukunftsvisionen von Mark Weiser – die er 1991 in seinem legendär gewordenen Artikel „The Computer for the 21st Century“ [2] beschrieben hat – scheinen Wirklichkeit zu werden. Für das Jahr 2020 nennen die Prognosen über 20 Milliarden vernetzter Geräte. Damit ergeben sich über das IoT-Protokoll Sigfox Datenströme von 2,24 Milliarden Bytes pro Sekunde. Da in den nächsten Jahren ein rasantes Wachstum im IoT-Markt bevorsteht, ist bei den Datenströmen weiterhin mit einem enormen Wachstum zu rechnen.

Netflix oder Spotify sind zwei Beispiele für Streaming-Unternehmen, die sich erfolgreich in diesem Markt etabliert haben. 2019 beanspruchte Video-Streaming weltweit 60 Prozent des gesamten Internet-Traffics. Für das Video-Streaming allein rechnen Prognosen ein Umsatzvolumen von 22 Millionen Euro im Jahr 2020 vor. Die Datenströme nehmen weiterhin rasant zu.

Auch soziale Netzwerke tragen wesentlich zum täglichen Datenstrom im Internet bei. Stichworte sind hier Big Data oder Predictive Data Analytics. Zwei bekannte Datentreiber im Umfeld sozialer Netze sind Instant-Messaging-Dienste und das Microblogging. Allein über WhatsApp haben Anwender 2019 über 65 Milliarden Nachrichten pro Tag verschickt. 2006 entstand mit Twitter der erste Microblogging-Dienst, über den Nutzer heute täglich mehr als 500 Millionen Tweets weltweit versenden.