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

Post on 14-Jan-2017

1.712 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related