SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Microservice architecture applied.
14 Praxis-Tipps für die Nutzung
von Microservices.
Bildquelle: Stephanie Hofschlaeger / pixelio.de
Ramon Anger
Capgemini
Micro ... was?
Bildquelle: BirgitH / pixelio.de Bildquelle: lichtkunst.73 / pixelio.de
Monolith Microservices
Gern hunderttausende Zeilen Code Einige hundert Zeilen Code je Service
Intrinsisch von sich selbst abhängig Unabhängig von anderen Services
Artefakt für System Artefakt je Service
Gern viele Schichten Nur die notwendigen Schichten
Von großem Team gewartet werden Von kleinem Team gewartet
Potentiell komponenten-orientiert Lösen fachliche/technische Probleme
passgenau
In der Regel schwer austauschbar Leicht austauschbar
Welche Rolle spielen Microservices in der IT?
0% 5% 10% 15% 20% 25% 30% 35% 40%
Hyperscale
Microservices / APIs / Atomic Services
Public Cloud
DevOps
Converged Platforms (e.g. IBM PureSystems)
Containers (e.g. Docker, Rocket)
Server Virtualization
Converged Infrastructure (e.g. Cisco UCS)
Software Defined Networking / Storage
Network Function Virtualization
Private Cloud
#1 Trend
#2 Trend
#3 Trend
Please select the top three (3) technology trends that will have the highest impact
on your IT infrastructure trough 2017
Quelle: Saugatuck Technology, Cloud Infrastructure Survey, April 2015, n=327 (global), http://blog.saugatucktechnology.com/microservices-on-
the-horizon/
14 Tipps für die Nutzung von Microservices.
#01 Technologie-Vielfalt mit Vorsicht genießen
n Sprachen mit m Frameworks
und x Bibliotheken in y Versionen
=
Version(ierung)shölle
#2 Design neu lernen
#3 Latency kills, parallelisieren
• HTTP-Requests kosten Zeit
• Microservices-Anwendungen führen viele HTTP-Requests durch
– Antwortzeitproblem
• Performanceoptimierung im Web: Bandbreite erhöhen
– Reduzierung der HTTP-Requests
• HTTP-Requests parallelisieren wo nur möglich
– Abfrage dauert so lange wie der langsamste Request
• Serviceschnitt unter Performance-Gesichtspunkten neu bewerten
Bildquelle: http://pixabay.com/de/stoppuhr-microchronometer-zeit-uhr-161283/
#4 Kein Enterprise Service Bus
• Service Bus?
– SOA wg. ESB häufig DOA (Dead on Arrival)
– Martin Fowler: Smart filters and dumb pipes*
• Microservice Service Registry
• Application Server (AS)?
– Microservice aus einigen hundert Zeilen Code benötigt AS?
– Mehrere AS Instanzen wg. Skalierung / Verfügbarkeit
• Ressourcen, Wartung, Lizenzgebühren
Bildquelle: http://commons.wikimedia.org/wiki/File:Singapore_Road_Signs_-_Restrictive_Sign_-_No_buses.svg
* http://martinfowler.com/articles/microservices.html
#5 Microservice mit Oberfläche?
• Martin Fowler: „Such services take a broad-stack implementation of software for
that business area, including user-interface, persistant storage, and any external
collaborations.“*
• Im eigenen Kontext nicht in jedem Fall praktikabel
– Microservices von Native Apps, Webseiten und Partner-Anwendungen verwendet
– Apps und Webseiten von Microservices getrennt
* http://martinfowler.com/articles/microservices.html
Bildquelle: http://pixabay.com/de/schere-muster-schere-schnitt-cutter-209583/
#6 Organisation durch Microservices gestalten
„... organizations which design systems [...] are
constrained to produce designs which are copies
of the communication structures of these
organizations ...“ (Mel Conway)
• Microservices bieten die Chance, Organisation so zu gestalten, dass die
angestrebte Architektur darin abgebildet wird
Melvin E. Conway, 1967, http://www.melconway.com/Home/Committees_Paper.html
#7 Microservices oder Testers Paradise
• Microservice: einige hundert Zeilen Code
– Fünf Klassen plus sieben Testklassen
– Beherrschbare Komplexität
• Verzicht auf Unit-Tests ist verlockend
– Fehlersuche schwieriger, aber machbar
• Alternative: nur Komponententests
– Testabdeckung vergleichbar hoch
– Risiko/Nutzen abwägen
• Integrationstests mit anderen Microservices
– Aufbau einer Integrationstestumgebung für viele Microservices für bestimmten
Test(zeitpunkt)  Integrationshölle
• Unbedingt auf Continuous Integration / Deployment setzen
Bildquelle: http://pixabay.com/de/seil-strick-geflochten-knoten-667314/
#8 Nur mit DevOps
• Bauen ist noch das Einfachste
• Individuelles Deployment  Overhead für Operations
– Container Engines helfen Komplexität zu kapseln  Rocket, Docker
Technologie-
vielfalt
DevOps
Overhead für
Operations
abwägen
hochüberschaubar
und dann doch lieber
#9 Security bitte passgenau
• Status Quo Schichtenarchitektur  mindestens ein Security Layer
• Bei Microservices abwägen
– Enthält Geschäftslogik kritische Informationen oder doch nur die Daten?
Firewall
Intrusion Detection System
SSO Login
Data Authorization
SSL Webservices
SSL
Firewall
Data
Authorization
Monolith Microservices
Bildquelle: http://pixabay.com/de/vorhängeschloss-sicherheit-sperre-308589/
#10 Querschnittsaspekte per Seitenwagen
• Jede Software beinhaltet Querschnittsaspekte
– Logging, Monitoring, Authentifizierung, Fehlerbehandlung, Validierung, Caching,
Persistenz, Synchronisierung, Transaktionen
• Entwickler neigen dazu Querschnittsaspekte mit jedem System neu zu erfinden
– Auch bei Microservices
• Netflix  Side Car Services
– Microservices in der selben VM
– Bieten Querschnittsaspekte als Service an
Bildquelle: http://commons.wikimedia.org/wiki/File:Sidecars_Isle_of_Man_TT_Race.jpg
#11 Synchronität verboten
• Asynchronität sicherstellen ist schwierig
– Größte Herausforderung neben Größe und Abgrenzung von Microservices
– Nicht nur Lastproblematik ... Ausfallsicherheit
– Listener, Message Queues
• Synchronität Alternative?
– Problem: Blockierende Ressourcen
– Innerhalb von Microservices ok; zwischen Microservices oder hin zum Service-Nutzer
ist No go
synchron
#12 Monitoring – Fäden zusammenhalten
• Monitoring von monolithischen Anwendungen überschaubar
– Anwendungen aus Microservices ist stark verteilt
• Überblick bei sehr vielen Microservices behalten schwierig
– Informationen über jeden einzelnen Webservice relevant
– Queues, Datenbanken, Fehler ...
Bildquelle: Martin Jäger / pixelio.de
#13 Microservices unterstützen Veränderung anders
• Funktionalität und Technologie ändern sich unterschiedlich schnell
• Microservices Architekturen unterstützen schwer vorhersehbare
Änderungsfrequenz besser als Monolithen
– einzelne Microservices sind leicht austauschbar
• Brownfield vs. Greenfield
– Sam Newman: Building Microservices
– Microservices bei Brownfield stabiler
Bildquelle: Janusz Klosowski / pixelio.de
#14 Microservices machen einsam ... heute
• Microservices sind immer noch sehr neu
• Nur wenige Patterns, Practices oder Guidelines verfügbar
– http://microservices.io
– Patterns und Practices aus Cloud- und DevOps-Umfeld helfen
– Reactive Programming
– Tools verstehen, erst dann einsetzen
• Keine Microservice Standards ... mit Blick auf WS-* nicht erstrebenswert
Heute mit Microservices einsetzen*
bedeutet echte Pionierarbeit leisten.
*und nicht bei Amazon, Netflix, Paypal, Ebay & Co arbeiten
Zusammenfassung
Fragen?
Bei Fragen gern fragen ...
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Microservices.

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileContinuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileLeanIX GmbH
 
CQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesCQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesMichael Plöd
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern
 
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst inovex GmbH
 
Warum empfehle ich meinen Kunden das Spring Framework?
Warum empfehle ich meinen Kunden das Spring Framework? Warum empfehle ich meinen Kunden das Spring Framework?
Warum empfehle ich meinen Kunden das Spring Framework? Michael Plöd
 
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...BATbern
 
micro services
micro servicesmicro services
micro servicessmancke
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesMichael Plöd
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay Dresden
 
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016Open Cloud Alliance - Quo Vadis? - Univention Summit 2016
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016Univention GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfileOPEN KNOWLEDGE GmbH
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?OPEN KNOWLEDGE GmbH
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!OPEN KNOWLEDGE GmbH
 
SAML: Single Sign-On in Univention Management Console und Univention Apps
SAML: Single Sign-On in Univention Management Console und Univention AppsSAML: Single Sign-On in Univention Management Console und Univention Apps
SAML: Single Sign-On in Univention Management Console und Univention AppsUnivention GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 

Was ist angesagt? (20)

Continuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileContinuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn Agile
 
CQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesCQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit Microservices
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
 
Warum empfehle ich meinen Kunden das Spring Framework?
Warum empfehle ich meinen Kunden das Spring Framework? Warum empfehle ich meinen Kunden das Spring Framework?
Warum empfehle ich meinen Kunden das Spring Framework?
 
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
 
micro services
micro servicesmicro services
micro services
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best Practices
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend Monolith
 
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016Open Cloud Alliance - Quo Vadis? - Univention Summit 2016
Open Cloud Alliance - Quo Vadis? - Univention Summit 2016
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfile
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
 
SAML: Single Sign-On in Univention Management Console und Univention Apps
SAML: Single Sign-On in Univention Management Console und Univention AppsSAML: Single Sign-On in Univention Management Console und Univention Apps
SAML: Single Sign-On in Univention Management Console und Univention Apps
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Serverless Survival Guide
Serverless Survival GuideServerless Survival Guide
Serverless Survival Guide
 

Andere mochten auch

Automotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsAutomotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsDarren Roach
 
The Rise of Microservices - Containers and Orchestration
The Rise of Microservices - Containers and OrchestrationThe Rise of Microservices - Containers and Orchestration
The Rise of Microservices - Containers and OrchestrationMongoDB
 
The Architecture of Understanding
The Architecture of UnderstandingThe Architecture of Understanding
The Architecture of UnderstandingPeter Morville
 
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...Daniel Bryant
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxisinovex GmbH
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitecturePLUMgrid
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationUwe Weng
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golangGianfranco Reppucci
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesSreenivas Makam
 
Dynamic A/B testing with AB/CD
Dynamic A/B testing with AB/CDDynamic A/B testing with AB/CD
Dynamic A/B testing with AB/CDMemi Beltrame
 
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
Microservices Architectures: Become a Unicorn like Netflix, Twitter and HailoMicroservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailogjuljo
 
Examen Final Slideshare
Examen Final SlideshareExamen Final Slideshare
Examen Final SlideshareMicalei
 
Los principales subgéneros periodísticos (información, opinión y mixtos).
Los principales subgéneros periodísticos (información, opinión y mixtos).Los principales subgéneros periodísticos (información, opinión y mixtos).
Los principales subgéneros periodísticos (información, opinión y mixtos).Miguel Romero Jurado
 

Andere mochten auch (19)

Automotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsAutomotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St Edmunds
 
The Rise of Microservices - Containers and Orchestration
The Rise of Microservices - Containers and OrchestrationThe Rise of Microservices - Containers and Orchestration
The Rise of Microservices - Containers and Orchestration
 
The Architecture of Understanding
The Architecture of UnderstandingThe Architecture of Understanding
The Architecture of Understanding
 
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices Architecture
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-Organisation
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golang
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Dynamic A/B testing with AB/CD
Dynamic A/B testing with AB/CDDynamic A/B testing with AB/CD
Dynamic A/B testing with AB/CD
 
Artypedia
ArtypediaArtypedia
Artypedia
 
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
Microservices Architectures: Become a Unicorn like Netflix, Twitter and HailoMicroservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
 
Functional go
Functional goFunctional go
Functional go
 
Examen Final Slideshare
Examen Final SlideshareExamen Final Slideshare
Examen Final Slideshare
 
Testering
TesteringTestering
Testering
 
Uzin Utz AG_Pressemitteilung_BPK 2009.pdf
Uzin Utz AG_Pressemitteilung_BPK 2009.pdfUzin Utz AG_Pressemitteilung_BPK 2009.pdf
Uzin Utz AG_Pressemitteilung_BPK 2009.pdf
 
Palermo 19-12-2014
Palermo 19-12-2014Palermo 19-12-2014
Palermo 19-12-2014
 
$#BCC_A415C819.pdf
$#BCC_A415C819.pdf$#BCC_A415C819.pdf
$#BCC_A415C819.pdf
 
Los principales subgéneros periodísticos (información, opinión y mixtos).
Los principales subgéneros periodísticos (información, opinión y mixtos).Los principales subgéneros periodísticos (información, opinión y mixtos).
Los principales subgéneros periodísticos (información, opinión y mixtos).
 

Ähnlich wie Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Microservices.

DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedRamon Anger
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...engelschall
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonMichael Hofmann
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungAndreas Weidinger
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesAlexander Loechel
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenQAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
PLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM TrendsPLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM TrendsIntelliact AG
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformQAware GmbH
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPChristian Guenther
 
Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternBrockhaus Consulting GmbH
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureAlexander Loechel
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDNUG e.V.
 
Fintech Innovations - Netcetera Innovation Summit 2018
Fintech Innovations - Netcetera Innovation Summit 2018Fintech Innovations - Netcetera Innovation Summit 2018
Fintech Innovations - Netcetera Innovation Summit 2018Netcetera
 
Living on the Edge - Microservices in der Wildnis
Living on the Edge - Microservices in der WildnisLiving on the Edge - Microservices in der Wildnis
Living on the Edge - Microservices in der Wildnismmeisenzahl
 

Ähnlich wie Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Microservices. (20)

DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture applied
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-Marathon
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine Einführung
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
PLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM TrendsPLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM Trends
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
 
Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary Pattern
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the Future
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdf
 
Fintech Innovations - Netcetera Innovation Summit 2018
Fintech Innovations - Netcetera Innovation Summit 2018Fintech Innovations - Netcetera Innovation Summit 2018
Fintech Innovations - Netcetera Innovation Summit 2018
 
Living on the Edge - Microservices in der Wildnis
Living on the Edge - Microservices in der WildnisLiving on the Edge - Microservices in der Wildnis
Living on the Edge - Microservices in der Wildnis
 
Micro, Nano, Mono - Microservices verständlich erklärt.
Micro, Nano, Mono  - Microservices verständlich erklärt.Micro, Nano, Mono  - Microservices verständlich erklärt.
Micro, Nano, Mono - Microservices verständlich erklärt.
 

Mehr von Ramon Anger

Chaos engineering applied
Chaos engineering appliedChaos engineering applied
Chaos engineering appliedRamon Anger
 
Was Software-Entwickler von der Raumfahrt lernen können
Was Software-Entwickler von der Raumfahrt lernen könnenWas Software-Entwickler von der Raumfahrt lernen können
Was Software-Entwickler von der Raumfahrt lernen könnenRamon Anger
 
Mob Programming - Ein Erfahrungsbericht
Mob Programming - Ein ErfahrungsberichtMob Programming - Ein Erfahrungsbericht
Mob Programming - Ein ErfahrungsberichtRamon Anger
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsRamon Anger
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsRamon Anger
 
How to kill (software) architecture?
How to kill (software) architecture?How to kill (software) architecture?
How to kill (software) architecture?Ramon Anger
 
Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenGeschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenRamon Anger
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
 
Das Agile muss ins Klassische
Das Agile muss ins KlassischeDas Agile muss ins Klassische
Das Agile muss ins KlassischeRamon Anger
 
Under pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsUnder pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsRamon Anger
 
Vom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückVom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückRamon Anger
 
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMEAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMRamon Anger
 
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterWer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterRamon Anger
 
Coderetreat Vorlage
Coderetreat VorlageCoderetreat Vorlage
Coderetreat VorlageRamon Anger
 

Mehr von Ramon Anger (14)

Chaos engineering applied
Chaos engineering appliedChaos engineering applied
Chaos engineering applied
 
Was Software-Entwickler von der Raumfahrt lernen können
Was Software-Entwickler von der Raumfahrt lernen könnenWas Software-Entwickler von der Raumfahrt lernen können
Was Software-Entwickler von der Raumfahrt lernen können
 
Mob Programming - Ein Erfahrungsbericht
Mob Programming - Ein ErfahrungsberichtMob Programming - Ein Erfahrungsbericht
Mob Programming - Ein Erfahrungsbericht
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
How to kill (software) architecture?
How to kill (software) architecture?How to kill (software) architecture?
How to kill (software) architecture?
 
Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenGeschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
 
Das Agile muss ins Klassische
Das Agile muss ins KlassischeDas Agile muss ins Klassische
Das Agile muss ins Klassische
 
Under pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsUnder pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen Teams
 
Vom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückVom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurück
 
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMEAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
 
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterWer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
 
Coderetreat Vorlage
Coderetreat VorlageCoderetreat Vorlage
Coderetreat Vorlage
 

Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Microservices.

  • 1. Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Microservices. Bildquelle: Stephanie Hofschlaeger / pixelio.de Ramon Anger Capgemini
  • 2. Micro ... was? Bildquelle: BirgitH / pixelio.de Bildquelle: lichtkunst.73 / pixelio.de Monolith Microservices Gern hunderttausende Zeilen Code Einige hundert Zeilen Code je Service Intrinsisch von sich selbst abhängig Unabhängig von anderen Services Artefakt für System Artefakt je Service Gern viele Schichten Nur die notwendigen Schichten Von großem Team gewartet werden Von kleinem Team gewartet Potentiell komponenten-orientiert Lösen fachliche/technische Probleme passgenau In der Regel schwer austauschbar Leicht austauschbar
  • 3. Welche Rolle spielen Microservices in der IT? 0% 5% 10% 15% 20% 25% 30% 35% 40% Hyperscale Microservices / APIs / Atomic Services Public Cloud DevOps Converged Platforms (e.g. IBM PureSystems) Containers (e.g. Docker, Rocket) Server Virtualization Converged Infrastructure (e.g. Cisco UCS) Software Defined Networking / Storage Network Function Virtualization Private Cloud #1 Trend #2 Trend #3 Trend Please select the top three (3) technology trends that will have the highest impact on your IT infrastructure trough 2017 Quelle: Saugatuck Technology, Cloud Infrastructure Survey, April 2015, n=327 (global), http://blog.saugatucktechnology.com/microservices-on- the-horizon/
  • 4. 14 Tipps für die Nutzung von Microservices.
  • 5. #01 Technologie-Vielfalt mit Vorsicht genießen n Sprachen mit m Frameworks und x Bibliotheken in y Versionen = Version(ierung)shölle
  • 6. #2 Design neu lernen
  • 7. #3 Latency kills, parallelisieren • HTTP-Requests kosten Zeit • Microservices-Anwendungen führen viele HTTP-Requests durch – Antwortzeitproblem • Performanceoptimierung im Web: Bandbreite erhöhen – Reduzierung der HTTP-Requests • HTTP-Requests parallelisieren wo nur möglich – Abfrage dauert so lange wie der langsamste Request • Serviceschnitt unter Performance-Gesichtspunkten neu bewerten Bildquelle: http://pixabay.com/de/stoppuhr-microchronometer-zeit-uhr-161283/
  • 8. #4 Kein Enterprise Service Bus • Service Bus? – SOA wg. ESB häufig DOA (Dead on Arrival) – Martin Fowler: Smart filters and dumb pipes* • Microservice Service Registry • Application Server (AS)? – Microservice aus einigen hundert Zeilen Code benötigt AS? – Mehrere AS Instanzen wg. Skalierung / Verfügbarkeit • Ressourcen, Wartung, Lizenzgebühren Bildquelle: http://commons.wikimedia.org/wiki/File:Singapore_Road_Signs_-_Restrictive_Sign_-_No_buses.svg * http://martinfowler.com/articles/microservices.html
  • 9. #5 Microservice mit Oberfläche? • Martin Fowler: „Such services take a broad-stack implementation of software for that business area, including user-interface, persistant storage, and any external collaborations.“* • Im eigenen Kontext nicht in jedem Fall praktikabel – Microservices von Native Apps, Webseiten und Partner-Anwendungen verwendet – Apps und Webseiten von Microservices getrennt * http://martinfowler.com/articles/microservices.html Bildquelle: http://pixabay.com/de/schere-muster-schere-schnitt-cutter-209583/
  • 10. #6 Organisation durch Microservices gestalten „... organizations which design systems [...] are constrained to produce designs which are copies of the communication structures of these organizations ...“ (Mel Conway) • Microservices bieten die Chance, Organisation so zu gestalten, dass die angestrebte Architektur darin abgebildet wird Melvin E. Conway, 1967, http://www.melconway.com/Home/Committees_Paper.html
  • 11. #7 Microservices oder Testers Paradise • Microservice: einige hundert Zeilen Code – Fünf Klassen plus sieben Testklassen – Beherrschbare Komplexität • Verzicht auf Unit-Tests ist verlockend – Fehlersuche schwieriger, aber machbar • Alternative: nur Komponententests – Testabdeckung vergleichbar hoch – Risiko/Nutzen abwägen • Integrationstests mit anderen Microservices – Aufbau einer Integrationstestumgebung für viele Microservices für bestimmten Test(zeitpunkt)  Integrationshölle • Unbedingt auf Continuous Integration / Deployment setzen Bildquelle: http://pixabay.com/de/seil-strick-geflochten-knoten-667314/
  • 12. #8 Nur mit DevOps • Bauen ist noch das Einfachste • Individuelles Deployment  Overhead für Operations – Container Engines helfen Komplexität zu kapseln  Rocket, Docker Technologie- vielfalt DevOps Overhead für Operations abwägen hochüberschaubar und dann doch lieber
  • 13. #9 Security bitte passgenau • Status Quo Schichtenarchitektur  mindestens ein Security Layer • Bei Microservices abwägen – Enthält Geschäftslogik kritische Informationen oder doch nur die Daten? Firewall Intrusion Detection System SSO Login Data Authorization SSL Webservices SSL Firewall Data Authorization Monolith Microservices Bildquelle: http://pixabay.com/de/vorhängeschloss-sicherheit-sperre-308589/
  • 14. #10 Querschnittsaspekte per Seitenwagen • Jede Software beinhaltet Querschnittsaspekte – Logging, Monitoring, Authentifizierung, Fehlerbehandlung, Validierung, Caching, Persistenz, Synchronisierung, Transaktionen • Entwickler neigen dazu Querschnittsaspekte mit jedem System neu zu erfinden – Auch bei Microservices • Netflix  Side Car Services – Microservices in der selben VM – Bieten Querschnittsaspekte als Service an Bildquelle: http://commons.wikimedia.org/wiki/File:Sidecars_Isle_of_Man_TT_Race.jpg
  • 15. #11 Synchronität verboten • Asynchronität sicherstellen ist schwierig – Größte Herausforderung neben Größe und Abgrenzung von Microservices – Nicht nur Lastproblematik ... Ausfallsicherheit – Listener, Message Queues • Synchronität Alternative? – Problem: Blockierende Ressourcen – Innerhalb von Microservices ok; zwischen Microservices oder hin zum Service-Nutzer ist No go synchron
  • 16. #12 Monitoring – Fäden zusammenhalten • Monitoring von monolithischen Anwendungen überschaubar – Anwendungen aus Microservices ist stark verteilt • Überblick bei sehr vielen Microservices behalten schwierig – Informationen über jeden einzelnen Webservice relevant – Queues, Datenbanken, Fehler ... Bildquelle: Martin Jäger / pixelio.de
  • 17. #13 Microservices unterstützen Veränderung anders • Funktionalität und Technologie ändern sich unterschiedlich schnell • Microservices Architekturen unterstützen schwer vorhersehbare Änderungsfrequenz besser als Monolithen – einzelne Microservices sind leicht austauschbar • Brownfield vs. Greenfield – Sam Newman: Building Microservices – Microservices bei Brownfield stabiler Bildquelle: Janusz Klosowski / pixelio.de
  • 18. #14 Microservices machen einsam ... heute • Microservices sind immer noch sehr neu • Nur wenige Patterns, Practices oder Guidelines verfügbar – http://microservices.io – Patterns und Practices aus Cloud- und DevOps-Umfeld helfen – Reactive Programming – Tools verstehen, erst dann einsetzen • Keine Microservice Standards ... mit Blick auf WS-* nicht erstrebenswert Heute mit Microservices einsetzen* bedeutet echte Pionierarbeit leisten. *und nicht bei Amazon, Netflix, Paypal, Ebay & Co arbeiten

Hinweis der Redaktion

  1. Beispiel
  2. Vor einigen Wochen von Eberhard Wolf gehört. Denke das das losgelöst von Microservices funktioniert, aber auch dass man die Wirkung der Organisation nach wenigen Wochen sieht
  3. Beim Monolithen wird Security häufig durch alle Schichten durchgeschleift. Das kostet vor allem Performance und erhöht die Komplexität des betroffenen Systems
  4. Beispiel
  5. Beispiel