LeanIX ist ein Startup aus Bonn, dass eine Software-as-a-Service Lösung anbieter, mit der Unternehmen wie z.B. Zalando, Axel Springer, RWE oder Helvetia Versicherung ihre IT Landschaft dokumentieren. Dank eines modernen Green-Blue Deployments können Releases und Hotfixes im laufenden Betrieb ausgerollt werden, ohne dass die Nutzer des Systems davon beeinträchtigt werden. In diesem Talk beim Bonn Agile Meetup gibt Co-CEO André Einblick in die Konzepte und zugrundeliegenden Technologien wie Docker, Ansible und Jenkins.
===
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/LeanIXFreeTrial
5. Elastic
Alle neu entwickelten Funktionen folgen
unserer Microservices Architektur
5
View
Controller
Model
DB
Single Page App
REST-API
DB
REST-API
Frontend
Service
Backend
Microservices
Infrastruktur
Services
6. Elastic
Green-Blue Deployment ist zentraler
Erfolgfaktor unserer Architektur
6
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/JWT
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
17. Some numbers
17
20 days
3 hours
< 30 min
Effort for setup, learning and trouble shooting for
Ansible & Jenkins
Ramp-Up of a new employee untilfirst commit
Time untila fresh Server is setup with all required
services
14 days For changing our Vagrant based environmentto docker
& docker-compose
21. Komfortable Anmeldung an allen Services
via Unternehmensverzeichnis
21
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
22. Sichere Kommunikation mit APIs –
von Browser und zwischen Services
22
2
Vorteile oAuth2 & JWT
• Sicherheitsgewinn durch
delegierte
Authentifizierung
• Weniger Abhängigkeiten:
Permissions im Payload
• Gleicher Mechanismus
auch zwischen Services
• Signierte Tokens lassen sich
dezentral verifizieren
Herausforderungen
• Verknüpfung mit SAML
nicht standardisiert
oAuth2
Resource Server
export images …
Token (JWT):
eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ
hbmRyZS5jaH …
Expires_in: 3400
Backend
Microservices
Private Key
Public Key
Dezentrale Token
Verifizierung
JWT: Json Web Tokens
23. Json Web Tokens (JWT) ist ein Standard
für das Format von Tokens
23Debugger: https://jwt.io IETF Standard: https://tools.ietf.org/html/rfc7519
2
24. 24
2 JWT bringt Vorteile insb. bei Skalierung
im Vergleich zum “puren” oAuth2
oAuth2
Resource Server
export images …
Token: 31886e3b-dd8f-4b13-
9434-…
Expires_in: 3400
Verify Token, Get Payload (Permissions)
Backend
Microservices
oAuth2
Resource
Server
export images …
Token (JWT):
eyJhbGciOiJSUzI1NiJ9.eyJzdWI
iOiJhbmRyZS5jaH …
Expires_in: 3400
Backend
Microservices
Private Key
Public Key
A) oAuth2 “pur”: Tokens müssen gegen
Resource Server verifiziert werden
B) oAuth2 mit “JWT”: Tokens können
dezentral verifiziert werden mit Public Key
25. Einfache Nutzung der API durch
interaktive Doku und generierte SDKs
25
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
26. Konsistente Paketierung und
plattformunabhängige Auslieferung
26
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
31. Monitoring
31ELK = Elastic Logstash Kibana
Availability
Performance
Logfiles
Service Description
• Every micro service has a health-check URL
• Availability Check & Response Time
• Server Metrics: CPU, Memory, etc.
• Docker Metrics per Container: CPU, Mem, …
• Browser Metrics: Page Load, JS Errors
• Central storage for log files
• Similar for ELK-Stack, but as a Service
Alerting
• Single point for all alerts
• Informs operations managers on duty
Dashboard
• Dashboard which shows main KPIs
• Running on Screens in LeanIX Office