So klappts mit der digitalen Transformation

Microservices, Container, API Economy: Middleware als Schlüssel für moderne Software-Architektur

Erica Langhi

© Shutterstock / hanss

Die digitale Transformation erfordert eine nahtlose Integration von Legacy-Systemen und neuen Infrastrukturen und Applikationen. Dabei wird oft die entscheidende Rolle der Integration-Middleware übersehen. Gerade sie kann aber die Brücke zum vernetzten Unternehmen schlagen. Integration-Middleware kann die Lösung für Unternehmen sein, die neue und alte Technologie in einer sinnvollen und sicheren Art und Weise miteinander zu verbinden.

Die Rolle der IT hat sich gewandelt. Früher standen Themen wie Stabilität, Konsolidierung, Optimierung und Kostenreduzierung im Vordergrund. Heute werden Aspekte wie Agilität, Flexibilität und Geschwindigkeit immer wichtiger. Die IT muss also neue, zusätzliche Aufgaben übernehmen. Im Mittelpunkt steht die digitale Transformation. Es geht dabei um die Digitalisierung und Optimierung aller Geschäftsprozesse, verbunden mit dem Ziel, schneller, agiler und flexibler zu werden und Innovationen voranzutreiben. Aber wie kann die digitale Transformation technisch umgesetzt werden? Hier stoßen die traditionell vorhandenen Lösungen schnell an ihre Grenzen, gefragt sind neue Architekturen, Technologien und Verfahren.

In Ergänzung zur herkömmlichen IT muss kurzfristig vor allem eine Infrastruktur treten, die eine schnelle und flexible Entwicklung und Bereitstellung von Anwendungen unterstützt. Marktforscher Gartner spricht hier von der bimodalen IT. Dabei geht es um zwei unterschiedliche Methoden beziehungsweise eine IT der zwei Geschwindigkeiten. Sie umfasst die herkömmliche und sichere operative IT-Basis sowie die nicht lineare und agile IT.

In der operativen IT-Basis werden traditionelle Applikationen mit strategisch wichtigen Daten betrieben. Agile IT hingegen nutzt Applikationsmodelle, mit denen auf neue Geschäftsanforderungen oder Rahmenbedingungen schnell reagiert werden kann. Ein solches IT-Modell ermöglicht es, für unterschiedliche Workloads und betriebliche Anforderungen die jeweils am besten geeignete IT-Umgebung und Plattform zu nutzen, z. B. Bare-Metal-Server, klassische Scale-up-Virtualisierungsumgebungen oder auch IaaS-(Infrastructure-as-a-Service-) und PaaS-(Platform-as-a-Service-)-Umgebungen in Private, Hybrid oder Public Clouds.

W-JAX
Mike Wiesner

Data- und Event-driven Microservices mit Apache Kafka

mit Mike Wiesner (MHP – A Porsche Company)

Niko Köbler

Digitization Solutions – a new Breed of Software

with Uwe Friedrichsen (codecentric AG)

Software Architecture Summit 2017
Dr. Carola Lilienthal

The Core of Domain-Driven Design

mit Dr. Carola Lilienthal (Workplace Solutions)

Sascha Möllering

Reaktive Architekturen mit Microservices

mit Sascha Möllering (Amazon Web Services Germany)

Container und Microservices liegen im Trend

Eine zentrale Entscheidung für die erfolgreiche digitale Transformation betrifft die Wahl der Plattform, auf der Applikationen entwickelt, integriert, bereitgestellt und verwaltet werden. Vor allem die Containertechnologie gewinnt hier zunehmend an Bedeutung, da sie eine komfortable und effiziente Möglichkeit bietet, neue Applikationen zu entwickeln und bereitzustellen. Im Prinzip geht es bei Containern um die Kapselung und Isolierung von Anwendungen mit allen benötigten Komponenten und Konfigurationsangaben in einem oder mehreren Paketen. Daher lassen sich Anwendungen schnell, einfach und vollständig konfiguriert bereitstellen. IT-Prozesse werden damit erheblich beschleunigt. Deshalb haben sich Container auch in kurzer Zeit zu einer zentralen Application-Packaging- und Delivering-Methode herausgebildet.

Container bieten viele Vorteile für Cloud-native und herkömmliche Applikationen: Effizienz und Geschwindigkeit durch Standardisierung und Automatisierung, Agilität durch Autonomie und Continuous-Delivery-Workflows sowie Flexibilität durch Portabilität. Eine umfassende Containerplattform definiert moderne IT-Prozesse und kann so sowohl das operative Modell als auch organisatorische Veränderungen und den Kulturwandel gestalten. Im Unterschied zu klassischen Virtualisierungslösungen, in denen Änderungen inkrementell in längeren Zyklen von mehreren Monaten erfolgen und bei denen es vor allem auf Sicherheit und Stabilität ankommt, sind Containerprozesse applikationszentriert und entwicklerfreundlich. Container und Virtualisierung ergänzen sich damit ideal und bilden auch eine wichtige technische Basis für Gartners IT der zwei Geschwindigkeiten.

Mehr zum Thema: Skalieren mit Scrum und Microservices: Big Bang oder langsame Transformation?

Durch hohe Agilität oder einfaches Management eignen sich Containertechnologien für unterschiedlichste Einsatzszenarien. Vor allem auch bei Applikationen, die aus Komponenten bestehen und einer Microservices-Architektur folgen, bieten sich Container an. Im Gegensatz zu monolithischen Architekturen bestehen Microservices aus lose gekoppelten, voneinander unabhängigen Diensten mit einer in sich abgeschlossenen fachlichen Funktionalität. Dank Versionierung auf den Schnittstellen kann vielfach ausgeschlossen werden, dass Änderungen an einem der Services Einfluss auf die Funktionsweisen oder Eigenschaften eines anderen Service haben. Zudem lassen sich Updates mit Erweiterungen oder Verbesserungen gezielter und häufiger vornehmen, ohne die gesamte Anwendung aktualisieren zu müssen. Wie sich bereits bei Serviceintegrationen gezeigt hat, lassen sich kleinere Services mit definierten Schnittstellen deutlich besser austauschen. Und auch die Skalierbarkeit ist deutlich höher als in monolithischen Architekturen, da sich Dienste unabhängig und bedarfsgerecht skalieren lassen.

Dass Container und Microservices im Trend liegen, zeigen auch Untersuchungen von Red Hat. Aktuell nutzen oder implementieren 29 Prozent der befragten Unternehmen Microservices-Architekturen, innerhalb dieses Jahres wollen sich weitere 36 Prozent mit Microservices beschäftigen oder diese einführen. Die vergleichbaren Werte bei Containern liegen bei 33 beziehungsweise 38 Prozent.

Die API-Economy setzt sich durch

In engem Zusammenhang mit Microservices steht die aufkommende API-Economy. Sie ist durch ein gänzlich verändertes API-Management gekennzeichnet. Vorbei sind die Zeiten, in denen zunächst eine Applikation entwickelt wurde und erst dann das API. APIs sind dieser Tage eine obligatorische Komponente bei der Applikationsbereitstellung – und zunehmend der erste Schritt bei Applikationsdesign und -entwicklung. APIs können als das Backbone von Enterprise-Software in der digitalen Welt bezeichnet werden. Immer mehr Projekte werden mit einem API-First-Ansatz gestartet, gerade im Umfeld von Integration und Microservices.

Das API-Management, also Entwicklung, Bereitstellung, Zugriffskontrolle, Monitoring und Skalierung von APIs, ist eine fundamentale Aufgabe der heutigen IT. Es ist auch eine entscheidende Basis für die digitale Transformation. Die API-Economy und ein neues API-Management-Set sind aber nur ein Anfang auf dem Weg zur umfassenden digitalen Transformation mit der Implementierung von digitalen Geschäftsmodellen, Produkten, Services und Geschäftsprozessen. Die vollständige Integration unterschiedlicher Systeme, Applikationen und Daten, die dafür erforderlich ist, ist wesentlich komplexer. Der API-First-Ansatz muss damit zu einem Middleware-Ansatz erweitert werden.

Unterschiedliche Integrationsebenen sind zu beachten

Die Komplexität zeigt sich schon hinsichtlich der unterschiedlichen Integrationsebenen, die zu berücksichtigen sind: die Applikations- und Datenebene sowie der Presentation-Layer. Bei der Applikationsintegration geht es um den Informationsaustausch und die Integration von End-to-End-Geschäftsprozessen über unterschiedliche Anwendungen und funktionale Grenzen hinweg, um die Entwicklung integrierter Systeme zu beschleunigen.

Generell ist bei der Applikationsintegration eine dynamische Entwicklung zu verzeichnen. Früher ging es ausschließlich um die Verbindung großer monolithischer Applikationen in traditionellen physikalischen Architekturen. Die letzten zehn Jahre waren dann geprägt von zunehmend modulareren, interaktiveren Architekturen, von ESBs (Enterprise Service Bus) über serviceorientierte Architekturen und Cloud-basierte Integrationsplattformen bis zu den heutigen Microservices. Die nächste Ebene ist die Datenintegration. Dabei geht es um einen datenzentrierten Ansatz mit dem Ziel, einen konsistenten Überblick über Informationen zu erhalten, die über verschiedene Systeme verteilt sind, um die Agilität zu erhöhen und Businessentscheidungen zu verbessern. Einige Architekturlösungen bieten sowohl Daten- als auch Applikationsintegration.

Die Nutzung von Microservices-Architekturen bedeutet, dass ein gemeinsames Messaging-Framework für alle Kommunikationen existiert. REST ist ein gemeinsames Protokoll für Kommunikationen und kristallisiert sich dank seiner Einfachheit zunehmend als der De-facto-Standard heraus. Systemarchitekturen können prinzipiell als Layer betrachtet werden, mit Daten an der Basis und der Businesslogik beziehungsweise den Applikationen in der Mitte. Es gibt aber auch eine obere Ebene, die Benutzeroberfläche oder den Presentation-Layer, über die der Anwender mit dem System interagiert. Es ist möglich, wenn auch unter strategischen Aspekten weniger relevant, Integrationen auf dieser Ebene vorzunehmen. Da sich Benutzeroberflächen auch sehr häufig ändern, ist dies ein eher eingeschränkter Integrationsansatz.

Die nächste Frage, die sich stellt, lautet: Wie kann die Integration erfolgen? Dabei geht es um Entscheidungen, die die Architektur betreffen. Hinsichtlich Integrationslösungen zeichnet sich generell eine neue Entwicklung ab, die die Veränderungen im Anwendungsarchitekturdesign mit dem Aufkommen von Microservices widerspiegelt. Bei der Integration wird der Schwerpunkt zunehmend auf lose gekoppelte Services, Messaging-Frameworks und standardisierte Formate wie REST gelegt. Anstatt ESBs für das Transformieren von Daten zu nutzen, werden die Daten in unterschiedlichen Formaten innerhalb der Integrationsumgebung unterstützt. Je mehr sich solche Umgebungen durchsetzen, desto wichtiger wird es, einen leistungsstarken Middleware-Layer für Geschäftsrichtlinien und Prozessautomatisierung zu nutzen.

Digitale Transformation erfordert Middleware-Ansatz

Die vielfältigen und komplexen Integrationsaufgaben zeigen eines deutlich: Die digitale Transformation ist eher erfolgreich, wenn eine ganzheitliche und schnelle Integration aller geschäftskritischen Informationen erfolgt, die auf unterschiedliche Anwendungen und Prozesse verteilt sind. Optimal kann eine solche Integration mit einer Middleware geleistet werden. Mit ihr kann die Brücke zwischen alten und neuen Technologien sicher und sinnvoll geschlagen werden. Das heißt: Durch Einsatz einer Integration-Middleware können vorhandene Applikationen beibehalten und gleichzeitig die Vorteile neuer agiler Architekturen und Tools genutzt werden.

Doch wie muss eine solche Integration-Middleware-Plattform optimal konzipiert sein, und welches Leistungsspektrum muss sie abdecken? Zunächst muss eine Integrationsplattform eingesetzt werden, die eine einfache Verknüpfung von Applikationen, Services und Prozessen ermöglicht – und zwar angesichts der zunehmenden Vernetzung von Unternehmen von der lokalen Infrastruktur über Mobilgeräte bis zur Cloud. Die Plattform sollte die gängigsten Enterprise-Integration-Patterns enthalten und eine Vielzahl von Konnektoren unterstützen, etwa für Schnittstellen und Protokolle wie Java Database Connectivity (JDBC), FTP/STP und HTTP/HTTPS. Konnektoren für verbreitet genutzte Anwendungen wie SAP, Salesforce, Twitter, LinkedIn und Facebook sollten einsatzbereit zur Verfügung stehen, um eine umfassende Integration und schnelle Bereitstellung sicherzustellen. Nicht zuletzt muss eine einfache und schnelle Entwicklung von RESTful Services zum Erstellen verbundener APIs unterstützt werden.

Ebenso wichtig ist die Nutzung einer standardbasierten Messaging-Plattform, die eine Echtzeitkommunikation zwischen verschiedenen Anwendungen, Services und Geräten ermöglicht, um schnell und effizient auf wechselnde Geschäftsanforderungen reagieren zu können. Eine flexible und leistungsstarke Messaging-Plattform stellt Informationen zuverlässig bereit, ermöglicht eine Echtzeitintegration und bietet eine Verbindung mit dem Internet der Dinge. Die Plattform sollte sich durch eine hohe Kompatibilität auszeichnen und ein breites Spektrum an Protokollen unterstützen. Eine hohe Kompatibilität und Konnektivität muss durch die Einhaltung offener Standards gewährleistet sein: Zu nennen sind hier der Java Message Service (JMS), Transmission Control Protocol (TCP), Secure Sockets Layer (SSL), User Datagram Protocol (UDP), Streaming Text Oriented Messaging Protocol (STOMP), .NET Message Service (NMS), MQ Telemetry Transport (MQTT) oder Advanced Message Queueing Protocol (AMQP). Auch eine native Konnektivität von Clientprogrammen, die in Java, C, C++, Python, C# oder .NET geschrieben sind, sollte unterstützt werden.

Klar ist auch, dass bei jedem Integrationsprojekt die Daten eine entscheidende Rolle spielen. Etliche Unternehmen besitzen wahre Informationsschätze, allerdings sind sie in der Regel auf einer Vielzahl von Plattformen verteilt. Das Problem ist nicht der Mangel an Daten; vielmehr liegt die Herausforderung für Unternehmen darin, die richtigen Daten zur richtigen Zeit zur Hand zu haben. Sie müssen sich mit einem gigantischen Datentsunami auseinandersetzen, der von verschiedenen Systemen und Quellen generiert wird, wie Cloud-Applikationen, Social Media oder vernetzten Geräten. Deshalb sollten IT- oder Applikationsverantwortliche beginnen, Daten weniger als ein statisches Data Warehouse zu betrachten, sondern vielmehr als eine dynamische Datenfabrik.

Herkömmliche Ansätze bei der Integration bringen die Kosten und Komplexität mit sich, die mit Data Warehouses oder Techniken wie ETL (Extract, Transform, Load) verbunden sind. Im Gegensatz dazu erhalten Unternehmen mit einer Data Fabric die Möglichkeit, Daten aus unterschiedlichen Quellen zusammenzuführen und neue Quellen leicht zu erschließen und aus traditionellen Silos zu transformieren. Und auch an diesem Punkt können Middleware-Technologien das Mittel der Wahl sein – und zwar in Form von Datenvirtualisierungstechnologien. Sie ermöglichen die Einführung eines Datenzugriffslayers, der Informationen erfassen und sie für Analysetools aufbereiten kann. Damit stehen exakte Daten in Echtzeit zur Verfügung, ohne dass unnötige Replikationen erstellt werden oder Kosten für nicht synchrone Reports anfallen. Auf diese Weise erreichen Unternehmen auch eine höhere Produktivität und Effizienz, da Daten aus Silos als vereinheitlichte Informationen bereitgestellt werden.

Die Datenfülle kann zum einen zur Unterstützung von Echtzeitentscheidungen genutzt werden. Zum anderen können auch zahlreiche Detailinformationen aus unterschiedlichen Systemen – beispielsweise für Transaktionen oder das Risikomanagement – erfasst und über den richtigen Kanal in der richtigen Art und Weise bereitgestellt werden. Business-Intelligence-Teams können dann mit adäquaten Tools das Data Mining vornehmen und Erkenntnisse gewinnen, die sowohl zur Optimierung des Geschäfts als auch zur Verbesserung der Benutzererfahrung beitragen können. Voraussetzung ist, dass die genutzte Datenvirtualisierungslösung alle relevanten Datenquellen unterstützt, hinsichtlich relationaler Datenbankmanagementsysteme etwa Oracle, IBM DB2, Microsoft SQL Server, Sybase ASE, MySQL, PostgreSQL und Ingres. Im NoSQL-Bereich sind Red Hat JBoss Data Grid, MongoDB, Apache Cassandra, Apache HBase und Apache Accumulo zu nennen. Und hinsichtlich der Big-Data-Nutzung ist eine Unterstützung von Apache Spark und Apache Hadoop in seinen verschiedenen Distributionen unerlässlich. Die Vorteile einer Integration-Middleware können weitreichend sein. Dazu gehören:

  • Integration unterschiedlicher Systeme und Zugriff auf Daten, die über unterschiedliche Applikationen und Prozesse hinweg verteilt sind
  • Automatisierung von Geschäftsprozessen und -regeln, die Unternehmen eine schnelle Reaktion auf geänderte Anforderungen ermöglichen
  • Beschleunigte Bereitstellung neuer Services für Mitarbeiter und Kunden durch einen Plattformansatz für die Konzeption von Applikationen
  • Flexible Bereitstellung von Applikationen On Premises, in der Cloud oder in einer Kombination aus beidem – und zwar unabhängig von Infrastruktur und Geräten

Fazit

Integration ist heute eine Basisanforderung für die Umsetzung jeder innovativen IT-Strategie, besonders im Bereich der digitalen Transformation. Middleware ist dabei ein Schlüsselelement einer modernen Architektur. Unternehmen, die ihren strategischen Wert erkennen und die digitale Transformation vorantreiben, können an vorderster Front auf dem Weg zu einer neuen geschäftlichen Ära stehen.

Geschrieben von
Erica Langhi
Erica Langhi
Erica Langhi ist EMEA Senior Solution Architect bei Red Hat mit mehr als fünfzehn Jahren Erfahrung in der Technologiebranche. Nach Stationen in der Beratung sowie als Technical und Solution Architect, arbeitet Erica Langhi jetzt mit Kunden in verschiedenen Branchen für den Open-Source-Spezialisten Red Hat. Sie ist spezialisiert auf Datenintegration, Datenvirtualisierung, Data Fabric, Applikationsentwicklung, Integrations-Middleware und Enterprise-Architekturen.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.