Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Connect Day
-
Upload
leanix-gmbh -
Category
Technology
-
view
1.710 -
download
0
Transcript of Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Connect Day
2. EA Connect Day
Alle reden über Microservices – Wie haben wir es bei LeanIX gemacht?André Christ
2Quelle: In Anlehnung an: @benorama
Was kommt bei Ihnen meistensauf 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.“
Mein Ziel: Sie gehen nach Hause und denken …
4
Drei zentrale Trends steigern den Bedarfnach Architektur-Management
AgileDevelopment(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
EAMMarkt
5
Ausgangspunkt in 2014:Skalierung vom MVP1 zum reifen Produkt
EAM for everyone:jede Firmengröße,jeder Mitarbeiter
EAM Software-As-A-Service
Geplant
Transformation zur Modernen (IT) Organisation
Survey Metrics MehrAdd-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
7
Elastic
Alle neu entwickelten Funktionen folgen unserer Microservices Architektur
View
Controller
Model
DB
Single Page App
REST-API
DB
REST-API
Frontend Service
BackendMicroservices
InfrastrukturServices
8
Elastic
Fünf “Zutaten” sind entscheidend für ein erfolgreiches Zusammenspiel
Single Page App
REST-API
DB
REST-API
1
32 2
1
2
4
32
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
9
Komfortable Anmeldung an allen Servicesvia Unternehmensverzeichnis
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 DIRECTORYFEDERATION SERVICES (ADFS)
C Kunden IDM
svc.leanix.net/idp
1) IDM = Identity Management
10
Sichere Kommunikation mit APIs –von Browser und zwischen Services
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
oAuth2Resource Server
export images jira sync
Token: 31886e3b-dd8f-4b13-9434-…Expires_in: 3400
…
Verify Token, Get Payload (Permissions)
BackendMicroservices
11
Einfache Nutzung der API durchinteraktive Doku und generierte SDKs
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
12
Konsistente Paketierung und plattformunabhängige Auslieferung
Server
Host OS
Hypervisor
Guest OS
Libs
App A
Guest OS
Libs
App B
Virtualisation Vorteile Docker
• SchnelleresDeployment
• 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
13
Kontinuierliches Deployment undMinimierung von Maintenance-Zeiten
5
Load-Balancer (default = blue)
eam1.18
eam1.19
mtm1.0
mtm1.1
Export0.8
export0.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)
14
Wie sieht der nächste Schritt aus?
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
15
Ausblick – Auswirkung auf leanIX Roadmap
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
16
Vielen Dank …
... Zeit für richtiges Essen ;-)
17
Backup
Skalierung der Plattform mit den richtigen Tools
2012 20142013
“MVP”SSO & Micro
servicesProfessional Build
ProcessService- &
Quality Ensurance
2015
Single Page JS App