alle reden über microservices - wie haben wir es bei leanix gemacht @ ea connect day

17
2. EA Connect Day Alle reden über Microservices – Wie haben wir es bei LeanIX gemacht? André Christ

Upload: leanix-gmbh

Post on 14-Jan-2017

1.712 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 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

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

2Quelle: In Anlehnung an: @benorama

Was kommt bei Ihnen meistensauf den Tisch?

Spaghetti-Architecture(Copy & Paste)

Lasagna-Architecture(Layered Monolith)

Ravioli-Architecture(Microservices)

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

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 …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

16

Vielen Dank …

... Zeit für richtiges Essen ;-)

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

17

Backup

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

Skalierung der Plattform mit den richtigen Tools

2012 20142013

“MVP”SSO & Micro

servicesProfessional Build

ProcessService- &

Quality Ensurance

2015

Single Page JS App