Die ITM und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go
MACHT IT-PROJEKTE MOMENTAN UNANGENEHM? Page 7 › Erstellung neuer Features dauert zu lange. › Probleme geforderte Qualitätsziele zu erreichen. › Über Lebenszyklus hinweg geht architektuelle Qualität verloren. › Häufige, zeitnahes Deployment meist schwierig. › Vollständige Ablösung nur durch teure, risikoreiche Projekte. 29.11.2016 BESTEHENDE SYSTEME
den Overhead zu begrenzen. KONSEQUENZEN Page 10 29.11.2016 REIBUNG VERRINGERN Änderungen sollen schneller durchgeführt werden. Alles was den Entwicklungsprozess ausbremst soll aus dem Weg geschafft werden. SKALIERBARKEIT ERREICHEN Zukünftige System müssen aus organisatorischer und technischer Sicht skalierbar sein. RISIKO BEGRENZEN Risiko ist ein immanenter Bestandteil komplexer Systeme. Die beste Strategie: auf Sicht fahren. Anforderungen
und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go Page 11
Kultur der Automation De- zentralisierung Abgrenzung interner Details Unabhängiges Deployment GEWÜNSCHT EIGENSCHAFTEN • Modularisierung und Rekombination der Funktionen • Möglichkeit Funktionsbausteine weiter zu entwickeln oder auszutauschen • Einfache, zeitnahe Bereitstellung neuer bzw. verbesserter Funktionen • Handhabung von Architektur- und Projektrisiken • Skalierbarkeit und Ausfallsicherheit Kleine, autonome Services
und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go Page 15
Maximierung von Kohäsion innerhalb eines Service INTEGRATION Spielregeln für Services; (LOHTSE prinzipien) PROZESS SYSTEM-SCHNITT Ausrichtung der System- grenzen an Domäne SERVICE-ARCHITEKTUR Service-Architektur: innere & äußere Sicht Analyse, Integration, Dokumentation, Qualitätssicherung PLATFORM Schaffung einer technischen Basis & Querschnittsfunktionen
wenige abgeschlossene Systeme Hochgradig verteiltes System aus vielen kleinen Funktionsbausteinen Konzentration auf das Wesentliche anhand der Fachlichkeit.
und liefert für sich genommen einen Mehrwert. FACHLICHER SCHNITT EINES E-COMMERCE-SYSTEMS Page 19 29.11.2016 News Downloads Aftersales Händler- suche Single- Sign-On Produkte Artikel
DER ABGESCHLOSSENEN SYSTEME Page 20 29.11.2016 Jedes Abgeschlossene System enthält: › Präsentationsschicht oder APIs Ausrichtung anhand der Use-Cases › Logik für die Geschäfts-Funktionen › Eigene Datenhaltung für Geschäftsobjekte Business Application Präsentation Persistenz
RDB NoSQL DocDB Micro- service Micro- service Micro- service UI API API Monitoring / Logging Load Balancing / Autoscaling Jedes abgeschlossene System: › Muss sich an Spielregeln halten › Kann auf Infrastruktur zurückgreifen › Über innere Struktur selbst entscheiden › Skalierbarkeit › Ausfallsicherheit › Teamorganisation
zur Definition der Makro-Architektur notwendig › Freiheit und Unabhänigkeit bei Mikro-Architektur 29.11.2016 Makro-Architektur › Funktionale-Allokation › Data-Stewardship and -Governance › Kommunikations-Protokolle › Kein geteilter Zustand › Kein Code-Sharing › Integrationsidee › Betriebsgrundlagen Mikro-Architektur › Design Patterns › Technologie › Tools › Prozess/Workflow-Kontrolle › Make or Buy-Entscheidung Monitoring & Logging
eine definierte Schnittstelle. INTEGRATION VON SELBSTKONSISTENEN SYSTEMEN Page 24 29.11.2016 Business Application Präsentation Persistenz Business Application Präsentation Persistenz
und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go Page 26
Delivery & Operations Dokumen- tation Grundideen › Für ein erfolgreiches Microservice System muss eine Zerlegung des Systems in Teil-Systeme Top-Down möglich sein. › Requirements Egineering ausgehend von Business Context nicht Product Context Agile Werkzeuge › Agile Analysewerkzeuge: › Priorisierung anhand von: • Value Proposition Design • Planning Poker Kooperativ vs. Autonom (Scope und Prozessgrenze) Erfassung von User-Stories Aufteilung auf Subsysteme Domänen-Analyse Fachliches Modell
sicherung Delivery & Operations Doku- mentation › Sichtenbasierte, hierarchische Dokumentation › Teams teilen sich Struktur und Template Black Box White Box Black Box Black Box Black Box Gesamtsystem Abgeschlossenes System Microservice Komponente Detailierungsgrad
sicherung Delivery & Operations Doku- mentation Neue Herausforderungen & Bedeutung für das Testing › Interface des Systems › Negativ Verhalten beim Testen Consumer-Driven Contracts für Interface Destruktivität durch zufälliges Ausschalten einzelner Teile ANSÄTZE
mentierung Qualitäts- sicherung Delivery & Operations Doku- mentation › Mixed-Teams: Architekten, Administratoren, Technologen › Ziel: unabhängiges Arbeiten der Teams anhand übergeordneten Prinzipien FEDERATED GOVERNANCE Federated Coordination Teams A Team B Team C Architektur- zirkel Operations- Zirkel Technologie zirkel EA-Prinzipien
und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go Page 34
hin zum Betrieb. AUTOMATISIERUNGSKULTUR: CONTINUOUS INTEGRATION › Beherrschbarkeit der Architektur durch Automatisierung. › Viele einzelne, lose Teile erfordern Überwachung, Reaktionsfähigkeit bei Updates und Fehlerbehebung. › Lokale Auswirkungen auf das Gesamtsystem Aktualisierungen während dem Betrieb ermöglichen. „If it hurts do it more often“ Martin Fowler Page 36 29.11.2016
REAKTIONSFÄHIGKEIT Page 38 29.11.2016 › Immutable Infrastructure › Infastructure as a Service › Platform as a Service › Rapid provisioning › Transparenz für Monitoring & Logging › Skalierbarkeit & Globalität › Untergeordnete Rolle der Datenmenge Reaktionsfähigkeit Nachrichten- orientierung Fehlerbehandlung Skalierbarkeit CLOUD
und aktuelle Entwicklungen / Herausforderungen in IT-Projekten › Microservices als Werkzeug zur Beherrschbarkeit › Betrachtung der fachlichen und technischen Herausforderungen von Microservices › Integration der Themen (Weiter-) Entwicklung & Betrieb › Die Notwendigkeit von DevOps & seiner Kultur › Konkrete Anwendungsfälle aus unserer Praxis 29.11.2016 go Page 41