2. EA Connect Day
Alle reden über Microservices –
Wie haben wir es bei LeanIX gemacht?
André Christ
2
Quelle: In Anlehnung an: @benorama
Was kommt bei Ihnen meistens
auf den Tisch?
Spaghetti-Architecture
(Copy & Paste)
Lasagna-Architecture
(Layered Monolith)
Ravioli-Architecture
(Microservices)
Ich nehme mir mehr Zeit zu prüfen,
wie Microservices unsere
IT Architektur verbessern können.
3
“
Mein Ziel: Sie gehen nach Hause und denken …
Drei zentrale Trends steigern den Bedarf
nach Architektur-Management
4
Agile
Development
(z.B. Scrum)
• Mehr Selbst-organisation und
Bedarf nach freiem Zugang zu
Informationen
• Weniger zentrale Governance
Microservices
Architecture
(z.B. Netflix)
Containerized
Deployment
(z.B. Docker)
Fokus
• Mehr fein-granulare Services mit
zahlreichen Abhängigkeiten und
verteiltem Management
• Weniger große IT Systeme
• Mehr Dynamik in der Verteilung
und Nutzung von Ressourcen
• Weniger starre Rechenzentren und
Kapazitäten
EAM
Markt
Ausgangspunkt in 2014:
Skalierung vom MVP1 zum reifen Produkt
5
EAM for everyone:
jede Firmengröße,
jeder Mitarbeiter
EAM Software-As-A-Service
Geplant
Transformation zur
Modernen (IT)
Organisation
Survey Metrics
Mehr
Add-ons
Sichere und schnelle
Integration für
Unternehmen
Single-Sign-On On-Premise Webhooks
Jira Confluence …
User Mgmt
IT Inventory
Export
Reporting News
Images
Unser USP Architektur
1) MVP = Minimal Viable Product
Elastic
Alle neu entwickelten Funktionen folgen
unserer Microservices Architektur
7
View
Controller
Model
DB
Single Page App
REST-API
DB
REST-API
Frontend
Service
Backend
Microservices
Infrastruktur
Services
Elastic
Fünf “Zutaten” sind entscheidend für ein
erfolgreiches Zusammenspiel
8
Single Page App
REST-API
DB
REST-API
1
3
2 2
1
2
4
3
2
3
5
Komfortable Anmeldung an allen Services via
Unternehmensverzeichnis (AD, LDAP, etc.)
Sichere Kommunikation mit APIs –
von Browser und zwischen Services.
Einfache Nutzung der APIs durch interaktive
Dokumentation und generierte SDKs.
OAuth2
SSO (SAML)
Swagger
Docker
Green-Blue
Deployment
Konsistente Paketierung und Plattform-
unabhängige Auslieferung aller Services.
Kontinuierliches Deployment und
Minimierung von Maintenance-Zeiten.
Alle: 4 5
x Details folgen
Komfortable Anmeldung an allen Services
via Unternehmensverzeichnis
9
1
A IDM-as-a-ServiceBInterner IDM1
Vorteile SSO (SAML)
• SAML Identity Provider
mittlerweile gut verbreitet
in Unternehmen
• Ein standardisierter Weg:
sowohl intern als auch
extern alles via SAML
Herausforderungen
• Komplexität Shibboleth
und SAML-Spezifikation
• Löst nicht maschinen-
basiertes Login („ECP-
Workflow“)
ACTIVE DIRECTORY
FEDERATION SERVICES (ADFS)
C Kunden IDM
svc.leanix.net/idp
1) IDM = Identity Management
Sichere Kommunikation mit APIs –
von Browser und zwischen Services
10
2
Vorteile oAuth2
• Sicherheitsgewinn durch
delegierte
Authentifizierung
• Weniger Abhängigkeiten:
Permissions im Payload
• Gleicher Mechanismus
auch zwischen Services
Herausforderungen
• Verknüpfung mit SAML
nicht standardisiert
• Performante Token-
Verifizierung (z.B. nicht
bei jedem Request)
• Token-Refresh
oAuth2
Resource Server
export images jira sync
Token: 31886e3b-dd8f-4b13-9434-…
Expires_in: 3400
…
Verify Token, Get Payload (Permissions)
Backend
Microservices
Einfache Nutzung der API durch
interaktive Doku und generierte SDKs
11
3
Vorteile Swagger
• Interaktive REST-API Doku:
Operationen direkt im
Browser ausführbar
• Immer aktuell, da
generiert aus Quellcode
• Automatische Erzeugung
von SDK’s (z.B. Java, PHP,
C#)
 Mehr unter:
blog.leanix.net
Konsistente Paketierung und
plattformunabhängige Auslieferung
12
Server
Host OS
Hypervisor
Guest OS
Libs
App A
Guest OS
Libs
App B
Virtualisation Vorteile Docker
• Schnelleres
Deployment
• Weniger Ressourcen-
Verbrauch
• Container passen sehr
gut zur Struktur von
Microservices
• Cloud & On-Premise
Herausforderungen
• Maturität von Tools
& Ökosystem
• Linux Kernel benötigt
(Workarounds z.B. für
Windows & Mac)
VM VM
Server
Host OS
Docker Engine
eam mysql
Libs
Docker
Container Container
solr
Container
Libs
4
Kontinuierliches Deployment und
Minimierung von Maintenance-Zeiten
13
5
Load-Balancer (default = blue)
eam
1.18
eam
1.19
mtm
1.0
mtm
1.1
Export
0.8
export
0.9
DB, Index, Queue DB, Elastic
Test
Vorteile Green-Blue
• „Unterbrechungsfreies“
Deployment
• Test neuer Versionen in
Produktionsumgebung
• Schrittweiser Rollout
• Schnelles Rollback zu
alter Version
Herausforderungen
• Migration von Daten-
Containern (DB)
• Session-Handling
(Re-Login notwendig)
Wie sieht der nächste Schritt aus?
14
Aufbau guter Fähigkeiten in selbst-organisierter Arbeit
im gesamten Unternehmen (z.B. SCRUM)
Signifikante Erhöhung der Testautomatisierung, insb.
Fokus auf Integration
Stärkere Nutzung von Platform-as-a-Service (PaaS) als
Basis fürs Deployment
Ausblick – Auswirkung auf leanIX Roadmap
15
Agile
Microservices Dev-Ops
EAM
• Mehr Out-of-the-Box Integrationen mit
Agile Development Tools
• Automatisierte Datenübernahme aus
Deployment-Plattformen
• Speicherung & Anzeige von Metriken,
z.B. für Monitoring
• Bessere Visualisierung von
Abhängigkeiten, z.B. im Visualizer
Vielen Dank …
16... Zeit für richtiges Essen ;-)
Backup
17
Skalierung der Plattform mit den richtigen Tools
2012 20142013
“MVP”
SSO & Micro
services
Professional Build
Process
Service- &
Quality Ensurance
2015
Single Page
JS App

Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Connect Day

  • 1.
    2. EA ConnectDay Alle reden über Microservices – Wie haben wir es bei LeanIX gemacht? André Christ
  • 2.
    2 Quelle: In Anlehnungan: @benorama Was kommt bei Ihnen meistens auf den Tisch? Spaghetti-Architecture (Copy & Paste) Lasagna-Architecture (Layered Monolith) Ravioli-Architecture (Microservices)
  • 3.
    Ich nehme mirmehr Zeit zu prüfen, wie Microservices unsere IT Architektur verbessern können. 3 “ Mein Ziel: Sie gehen nach Hause und denken …
  • 4.
    Drei zentrale Trendssteigern den Bedarf nach Architektur-Management 4 Agile Development (z.B. Scrum) • Mehr Selbst-organisation und Bedarf nach freiem Zugang zu Informationen • Weniger zentrale Governance Microservices Architecture (z.B. Netflix) Containerized Deployment (z.B. Docker) Fokus • Mehr fein-granulare Services mit zahlreichen Abhängigkeiten und verteiltem Management • Weniger große IT Systeme • Mehr Dynamik in der Verteilung und Nutzung von Ressourcen • Weniger starre Rechenzentren und Kapazitäten EAM Markt
  • 5.
    Ausgangspunkt in 2014: Skalierungvom MVP1 zum reifen Produkt 5 EAM for everyone: jede Firmengröße, jeder Mitarbeiter EAM Software-As-A-Service Geplant Transformation zur Modernen (IT) Organisation Survey Metrics Mehr Add-ons Sichere und schnelle Integration für Unternehmen Single-Sign-On On-Premise Webhooks Jira Confluence … User Mgmt IT Inventory Export Reporting News Images Unser USP Architektur 1) MVP = Minimal Viable Product
  • 6.
    Elastic Alle neu entwickeltenFunktionen folgen unserer Microservices Architektur 7 View Controller Model DB Single Page App REST-API DB REST-API Frontend Service Backend Microservices Infrastruktur Services
  • 7.
    Elastic Fünf “Zutaten” sindentscheidend für ein erfolgreiches Zusammenspiel 8 Single Page App REST-API DB REST-API 1 3 2 2 1 2 4 3 2 3 5 Komfortable Anmeldung an allen Services via Unternehmensverzeichnis (AD, LDAP, etc.) Sichere Kommunikation mit APIs – von Browser und zwischen Services. Einfache Nutzung der APIs durch interaktive Dokumentation und generierte SDKs. OAuth2 SSO (SAML) Swagger Docker Green-Blue Deployment Konsistente Paketierung und Plattform- unabhängige Auslieferung aller Services. Kontinuierliches Deployment und Minimierung von Maintenance-Zeiten. Alle: 4 5 x Details folgen
  • 8.
    Komfortable Anmeldung anallen Services via Unternehmensverzeichnis 9 1 A IDM-as-a-ServiceBInterner IDM1 Vorteile SSO (SAML) • SAML Identity Provider mittlerweile gut verbreitet in Unternehmen • Ein standardisierter Weg: sowohl intern als auch extern alles via SAML Herausforderungen • Komplexität Shibboleth und SAML-Spezifikation • Löst nicht maschinen- basiertes Login („ECP- Workflow“) ACTIVE DIRECTORY FEDERATION SERVICES (ADFS) C Kunden IDM svc.leanix.net/idp 1) IDM = Identity Management
  • 9.
    Sichere Kommunikation mitAPIs – von Browser und zwischen Services 10 2 Vorteile oAuth2 • Sicherheitsgewinn durch delegierte Authentifizierung • Weniger Abhängigkeiten: Permissions im Payload • Gleicher Mechanismus auch zwischen Services Herausforderungen • Verknüpfung mit SAML nicht standardisiert • Performante Token- Verifizierung (z.B. nicht bei jedem Request) • Token-Refresh oAuth2 Resource Server export images jira sync Token: 31886e3b-dd8f-4b13-9434-… Expires_in: 3400 … Verify Token, Get Payload (Permissions) Backend Microservices
  • 10.
    Einfache Nutzung derAPI durch interaktive Doku und generierte SDKs 11 3 Vorteile Swagger • Interaktive REST-API Doku: Operationen direkt im Browser ausführbar • Immer aktuell, da generiert aus Quellcode • Automatische Erzeugung von SDK’s (z.B. Java, PHP, C#)  Mehr unter: blog.leanix.net
  • 11.
    Konsistente Paketierung und plattformunabhängigeAuslieferung 12 Server Host OS Hypervisor Guest OS Libs App A Guest OS Libs App B Virtualisation Vorteile Docker • Schnelleres Deployment • Weniger Ressourcen- Verbrauch • Container passen sehr gut zur Struktur von Microservices • Cloud & On-Premise Herausforderungen • Maturität von Tools & Ökosystem • Linux Kernel benötigt (Workarounds z.B. für Windows & Mac) VM VM Server Host OS Docker Engine eam mysql Libs Docker Container Container solr Container Libs 4
  • 12.
    Kontinuierliches Deployment und Minimierungvon Maintenance-Zeiten 13 5 Load-Balancer (default = blue) eam 1.18 eam 1.19 mtm 1.0 mtm 1.1 Export 0.8 export 0.9 DB, Index, Queue DB, Elastic Test Vorteile Green-Blue • „Unterbrechungsfreies“ Deployment • Test neuer Versionen in Produktionsumgebung • Schrittweiser Rollout • Schnelles Rollback zu alter Version Herausforderungen • Migration von Daten- Containern (DB) • Session-Handling (Re-Login notwendig)
  • 13.
    Wie sieht dernächste Schritt aus? 14 Aufbau guter Fähigkeiten in selbst-organisierter Arbeit im gesamten Unternehmen (z.B. SCRUM) Signifikante Erhöhung der Testautomatisierung, insb. Fokus auf Integration Stärkere Nutzung von Platform-as-a-Service (PaaS) als Basis fürs Deployment
  • 14.
    Ausblick – Auswirkungauf leanIX Roadmap 15 Agile Microservices Dev-Ops EAM • Mehr Out-of-the-Box Integrationen mit Agile Development Tools • Automatisierte Datenübernahme aus Deployment-Plattformen • Speicherung & Anzeige von Metriken, z.B. für Monitoring • Bessere Visualisierung von Abhängigkeiten, z.B. im Visualizer
  • 15.
    Vielen Dank … 16...Zeit für richtiges Essen ;-)
  • 16.
  • 17.
    Skalierung der Plattformmit den richtigen Tools 2012 20142013 “MVP” SSO & Micro services Professional Build Process Service- & Quality Ensurance 2015 Single Page JS App

Hinweis der Redaktion

  • #3  - Ich sehe schon in dem ein oder anderen Gesicht Sehnsucht nach etwas herzhaftem – da muss ich Sie leider enttäuschen – zumindest für den Moment. - Mich würde hier im Raum interessieren: Mit welchem Typ haben Sie es am häuftigsten zu tun?
  • #5 EAM Markt schon ewig da – warum tummeln wir uns in dem Markt und glauben dass dieser wächst und sicht verändert? 3 Gründe: Agile Development, Microservices, Containerized Deployment
  • #8 Weil wir das Gefühl hatten, dass wir die ganze Lasagne nicht mehr in den Ofen bekommen, haben wir uns für Microservices als Alternative entschieden.