5 Learnings zur agilen Integration

Blogserie | Agile Integration | #2

Autor: Thomas Stuber

Die IT-Abteilungen vieler Unternehmen stehen unter grossem Druck vom Markt - benötigt wird Agilität, Effizienz und Geschwindigkeit. Gleichzeitig entwickeln sich Technologien rasant weiter. Beispielsweise haben Cloud oder Event-Streaming Lösungen ihren Weg in viele IT-Landschaften geschafft. Diese gilt es mit der bestehenden IT zu integrieren.
Traditionelle Integrationslösungen wie ein Enterprise Service Bus (ESB) können die einleitend geschilderten Herausforderungen technisch und organisatorisch nicht mehr bedienen (siehe Blogbeitrag Rethink your integration strategy) - agile Integrationslösungen (siehe Blogbeitrag Formen der agilen Integration - eine Auslegeordnung) bieten hier eine Antwort. Bei der Umsetzung von agilen Integrationen im Projektalltag konnten wir einige Erkenntnisse gewinnen. Dieser Blog zeigt 5 Learnings und Erkenntnisse aus unserem Projektalltag, welche wir Ihnen gerne mitgeben.

1.    Cloud-Native Infrastrukturen nutzen

Agile Integration benötigt eine Integrationsplattform, welche den dezentralen Aufbau und Betrieb von Schnittstellen ermöglicht. Hier haben sich Lösungen durchgesetzt, welche Cloud-native aufgebaut sind. Diese setzen auf Container, was ein verteiltes Deployment und dadurch hohe Portierbarkeit unterstützt. Das ist gerade für ein Hybrid oder Multi Cloud Setup ein Vorteil, um mögliche Lock-Ins zu reduzieren. 
Vorsicht gilt bei Cloud-Lösungen, welche nicht Cloud-native sind. Das Verpacken einer traditionellen Lösung in einen Container macht eine Integrationslösung nicht “Cloud-native”.

2.    Schnittstellen gut spezifizieren

Schnittstellen sollten nicht nur sauber spezifiziert sein, sondern auch für die Nutzung von anderen Teams zugänglich gemacht werden. Das ist notwendig für die dezentrale Entwicklung sowie für eine skalierbare Art der Zusammenarbeit. Insbesondere nochmals hervorzuheben: 

  • Schnittstellen nach offenen Standards spezifizieren (Open API oder Async API)
  • Saubere Dokumentation dieser Schnittstellen
  • Versionierung der Schnittstellen sicherstellen
  • API-Katalog als zentrale Anlaufstelle für Service Discovery bereitstellen

3.    Monitoring frühzeitig sicherstellen

Das Monitoring sollte schon frühzeitig berücksichtigt werden. Je nach Betriebsmodell muss die Überwachung für den Betrieb sichergestellt und auch den richtigen Teams zugänglich gemacht werden. Je nach Integrationsplattform ist die Anbindung ans Monitoring sowie die Überwachungen (Dashboards, etc.) bereits vorgegeben. Nichtsdestotrotz ist es ein Vorteil, wenn die DevOps Teams das Monitoring System in einem Selfservice-Ansatz verwenden können, um ihre zusätzlichen Bedürfnisse zur Überwachung selbständig umsetzen zu können.

Ebenfalls sollte man sich moderne Überwachungskonzepte wie OpenTelemetry zu nutzen machen, um in Cloud-nativen verteilten Systemen die Integrationen zu überwachen. Diese Konzepte adressieren die typischen Überwachsungsszenarien (sammeln von Log Dateien, Metriken und Traces) und bieten herstellerneutrale Standards an.

 4.    Befähigung durch Self-Service - Absicherung durch Governance

Durch den Einsatz von Selfservice-Portalen ermöglicht man seinen DevOps Teams eine Entwicklung ohne Abhängigkeiten zu anderen Teams, weshalb bei Integrationen ein “Do it yourself” Ansatz gilt. Wichtig ist dabei, dass das Team, welches die Integrationsplattform bereitstellt, die DevOps Teams mit Governance Controls unterstütz und absichert. Dazu gehören Vorlagen, Guidelines oder auch Compliance Checks (z.B. die Validierung von Metadaten bei der Bestellung von Messaging Queues). Wenn immer möglich werden Governance-Aspekte bereits im Selfservice automatisiert sichergestellt.

5.    Kulturelle & organisatorische Änderungen begleiten

Der Aufbau einer agilen Integrationslösung bedeutet auch neue Herausforderungen für die Organisation. Diese kulturellen und organisatorischen Änderungen sollten nicht unterschätzt werden. Beispielsweise muss der Wechsel von einem zentralen ESB zu einer verteilten Integrationsplattform von den Teams getragen werden. Es kommt zu einer Verschiebung von Know-how und Verantwortlichkeiten. Daher ist es essenziell, dass die Teams entsprechend befähigt werden. Hier eigenen sich vor allem zwei Ansätze:

  • Ausbildung: Sei es durch interne oder externe Schulungen; oder auch durch Bereitstellen von Tutorials oder anderen Lerninhalten. 
  • Support und Beratung: Das Plattform-Team agiert nicht nur als Plattform-Betreiber, sondern auch als interne Beratungseinheit. Bei Problemstellungen werden die DevOps Teams gezielt unterstützt.

Fazit

Moderne, agile Integrationslösungen unterstützten die geschäftlichen Ziele in Bezug auf Agilität und Geschwindigkeit. Ebenfalls muss eine solche Integrationslösung flexibel genug sein, um auch mit zukünftigen Technologien umgehen zu können. So wird ein langfristiger Mehrwert für das Unternehmen erzielt. Nichtsdestotrotz gibt es beim Wechsel auf eine agile Integration einige Punkte zu berücksichtigen. 5 Learnings dazu haben wir in diesem Blog besprochen.

 

Blogserie:

#1 | Formen der agilen Integration - eine Auslegeordnung

#2 | 5 Learnings zur agilen Integration

#3 | Integration as a Microservice (comming soon)

#4 | Kontrollierte Risiken: Agile Integration erfordert automatisierte Tests (comming soon)

#5 | Agile Integration mit Red Hat leicht gemacht (comming soon)

 

Ihr ipt-Experte

Ich freue mich auf Ihre Kontaktaufnahme