Anstelle der Virtualisierung kompletter Server, übernehmen jetzt die sogenannten Container die Abbildung der einzelnen Services. Sie sind unabhängig von der Hardware und vom Betriebssystem und die Vorgehensweise besteht darin, Applikationen in ihrem Aufbau so zu abstrahieren, dass sie nahezu beliebig verteilt auf geeigneter Infrastruktur betrieben werden können. Containerisierte Applikationen eignen sich dadurch besonders gut für Server-Cluster und somit für die Cloud.
Im Zuge dessen spielen die Tools für die agile Software-Entwicklung eine entscheidende Rolle, dabei stehen folgende Themen im Vordergrund:
- Versionierung
- Entwicklung bzw. Unterstützung automatisierter Tests
- Automatisierung der Deployments
- Code-Analyzer für die Qualitätssicherung
Was gibt es zu beachten?
Unsere Empfehlungen zur Vermeidung von Stolperfallen im Zuge der Umstellung klassischer 3-Tier-Architekturen auf Containerisierung:
Infrastructure as a Code ist von großer Bedeutung
- Durch die Aufteilung in mehrere Container sind verteile Deployments notwendig, die sehr gut beschrieben sind und reproduzierbar sein müssen.
Security
- Die stärkere Verteilung der Microservices führt zu mehr Flexibilität in den Deployments, stellt aber höhere Anforderungen an die Security.
Monitoring & Logging
- Die Ansprüche an Monitoring und Logging werden durch die Containerisierung komplexer und es ist meist sinnvoll für eine zusätzliche Infrastruktur zu sorgen.
Dokumentation
- Eine aktuelle und gepflegte Dokumentation ist essenziel, um die Wissensbasis im Team kontinuierlich hochzuhalten und den Einstig für neue Teammitglieder zu erleichtern.
Zusammenspiel von agilem IT-Management und Architektur
- Der agile und iterative Ansatz via Scrum & Sprints führt zu Containern und umgekehrt. Eine saubere Definition der Schnittstellen zwischen den Services und der modulare Aufbau ermöglicht das Re-Design oder die Neuentwicklung von Funktionen in Form von Microservices.
Business drives IT
- Containerisierung bringt dann einen Mehrwert für den Fachanwender, wenn es häufige Anpassungen und Erweiterungen gibt. Automatisierten Tests und Deployments können schnell durchgeführt werden und die Qualität der Software ist sichergestellt.
Sie wollen mehr erfahren
Wenn Sie daran interessiert sind, mehr über die Vorteile und Einsatzmöglichkeiten der Containerisierung zu erfahren, dann lesen Sie meinen Fachbetrag Applikationen im Aufbau weitgehend abstrahieren – Containerisierung – mehr als ein Trend im Midrange Magazin dazu
Von Experten lernen
Wir haben über die Jahre in vielen Projekten Erfahrungen in agiler Software-Entwicklung und in der Umstellung auf containerisierte Anwendungen gesammelt. Die best practices daraus gebe ich gerne an Sie weiter. Am besten in einem persönlichen Gespräch – schicken Sie mir dazu gerne eine Terminanfrage an kontakt@mip.de. Ich freue mich darauf.
Beste Grüße,
Jörg Kremer
Head of Consulting