Präsentation von LeanIX (André Christ) vom 2. EA Connect Day in Berlin zum Thema: Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht?
===
LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXDemoS
Is next generation EAM more than just agile IT planning?
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Connect Day
1. 2. EA Connect Day
Alle reden über Microservices –
Wie haben wir es bei LeanIX gemacht?
André Christ
2. 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)
3. 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 …
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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)
13. 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
14. 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
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
Notes de l'éditeur
- 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?
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
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.