SlideShare ist ein Scribd-Unternehmen logo
ARS
Microprofile.io
Cloud Native mit Java EE
Michael Hofmann, CTO, ARS
© ARS Computer und Consulting GmbH 2017
Microprofile.io
3
ARSBusiness Need
“One of the things we've learned is that if you can't
get it to market more quickly, there is no doubt
that the market will have changed and no matter
how well you've engineered it or built it or
deployed it or trained your folks, it's not going to be
quite right because it's just a little too late.“
James McGlennon, Executive VP and CIO, Liberty Mutual
Insurance Group
(US Fortune 500: Platz 75, Umsatz 38,3 Mrd. USD)
© ARS Computer und Consulting GmbH 2017
Microprofile.io
4
ARSCloud Computing
Cloud Computing Benefits (lt. IBM):
Flexibility
 Skalierbare Rechenleistung bei Bedarf,
 Weltweiter Internetzugriff möglich
Efficiency
 Geringe Infrastruktur-Kosten
 Keine Infrastruktur-Wartung
Strategic Value
 Cloud Services bieten innovativste Technologien für Betrieb und
Entwicklung
 Schnellere und kostengünstigere Bereitstellung neuer
Anwendungen mit Cloud Computing
© ARS Computer und Consulting GmbH 2017
Microprofile.io
5
ARSCloud Native Computing Foundation (CNCF)
Vereinigung mit folgender Mission:
"create and drive the adoption of a new computing paradigm that is
optimized for modern distributed systems environments capable of
scaling to tens of thousands of self healing multi-tenant nodes."
© ARS Computer und Consulting GmbH 2017
Microprofile.io
6
ARSCNCF Landscape
© ARS Computer und Consulting GmbH 2017
Microprofile.io
7
ARSCloud Native
Cloud native Systeme haben folgende Eigenschaften
Container packaged
Dynamically managed
Microservices oriented
Cloud native beschreibt
wie die Anwendungen erstellt werden sollen
wie sie deployed werden
© ARS Computer und Consulting GmbH 2017
Microprofile.io
8
ARSARS Golden 4 (+1)
Zusammenspiel von
Microservices
Agile
DevOps
API
Erweitert
DevOps
 Automation
 Operational Integration in Cloud Laufzeitumgebung
Testing
 Canary Releasing, Blue/Green Deployment, A/B Testing
© ARS Computer und Consulting GmbH 2017
Microprofile.io
9
ARSCloud Native Applikationen mit „The 12 Factors“
“A methodology for building
software-as-a-service applications“
12 Faktoren, unabhängig von
Programmiersprache
Sog. Backing Services
Cloud Provider
© ARS Computer und Consulting GmbH 2017
Microprofile.io
10
ARSMicroprofile.io: cloud native mit Java EE
„Optimizing Enterprise Java for a microservices architecture“
Vereinigung führender Java EE Applikations-Server und andere
Existiert seit 2016
Mittlerweile als Projekt bei der Eclipse Foundation
© ARS Computer und Consulting GmbH 2017
Microprofile.io
11
ARSMicroprofile Releases
Microprofile 1.2 (30.09.2017)
Microprofile 1.1
Config 1.1
Fault Tolerance 1.0
JWT Propagation 1.0
Health Check 1.0
Health Metrics 1.0
Microprofile 1.3 (15.12.2017)
Microprofile 1.2
Type Safe Rest Client 1.0
Microprofile 2.0 (31.03.2018)
Microprofile 1.3
Anpassungen an Java EE 8 (?)
Microprofile 1.0 (17.09.2016)
JAX-RS 2.0
CDI 1.2
JSON-P 1.0
Microprofile 1.1 (21.07.2017)
Microprofile 1.0
Config 1.0
© ARS Computer und Consulting GmbH 2017
Microprofile.io
12
ARSMicroprofile Config
Anwendungskonfiguration
Mit Ordinal
Überschreibung
Default Quellen (erweiterbar ConfigSource):
 Property-File (100)
 System Environment (300)
 Java System Property (400)
Per CDI in die Anwendung injiziert
Angabe von Default-Werten
Optionale Werte
Automatischer Reload von Werten bei Änderungen
Typisierung mit Converter
© ARS Computer und Consulting GmbH 2017
Microprofile.io
13
ARSMicroprofile Fault Tolerance
Notwendig: Resilienz (verteilter Anwendungs-Architektur)
Umsetzung mit Fault Tolerance Design-Patterns
Timeout
 TimeoutException nach abgelaufener Zeit
 Bei Asynchronous: Thread.interrupt() zur Thread-Freigabe
Retry
 maxRetries
 delay
 maxDuration
 jitter
 retryOn
 abortOn
© ARS Computer und Consulting GmbH 2017
Microprofile.io
14
ARSMicroprofile Fault Tolerance
Fallback
 Alternativer Aufruf im Fehlerfall
CircuitBreaker
 Zustände: closed, open und half-open
 Verschonung des fehlerhaften Service mit Aufrufen (Erholung)
 Vermeidung fehlerhafter Aufrufe, wenn Fehler bekannt
 Config-Angabe ,wann CircuitBreaker die Zustände wechselt
Bulkhead
 Synchron: Semaphor
 Asynchron: eigener ThreadPool mit Warteschlange
Alle Design-Patterns sind kombinierbar
 Untereinander
 Mit MP Config
© ARS Computer und Consulting GmbH 2017
Microprofile.io
15
ARSMicroprofile Health Check
REST-Endpoint /health
Abfrage des Gesundheitszustandes
Keine Historie
Maschine-zu-Maschine Kommunikation
Abgefragt von Laufzeitumgebung (Kubernetes, CloudFoundry)
Kranke Services
 werden eliminiert
 Evtl. durch neue Prozessinstanzen ersetzt (Policy)
HealthCheck CDI Beans
 Eigene Entwicklung
 Aggregation aller Bean-Ergebnisse
© ARS Computer und Consulting GmbH 2017
Microprofile.io
16
ARSMicroprofile Health Metrics
REST-Endpoint /metrics
Mit Unterteilung
 Base (/metrics/base)
 Vendor (/metrics/vendor)
 Application (/metrics/application)
Langlaufende Messdaten des Services
© ARS Computer und Consulting GmbH 2017
Microprofile.io
17
ARSMicroprofile JWT Propagation
OpenId Connect mit JSON Web Token (JWT)
JWT mit JSON Web Signatur (JWS) signiert
neue Claims im JWT:
 upn (unique prinicpal name): User Principal
 groups: Gruppenzugehörigkeiten des Subject
Inbound-Propagation:
 HTTP Header: Authorization: Bearer <JWT-Token>
Integration in Java EE Security Context, damit role based access
control angewandt werden kann
Aktivierung in REST Application
@LoginConfig(authMethod = "MP-JWT", realmName = "MyRealm1")
@ApplicationPath("/api")
public class MyRESTApplication extends javax.ws.rs.core.Application {...}
© ARS Computer und Consulting GmbH 2017
Microprofile.io
18
ARSMicroprofile JWT Propagation
eyJ0eXAiOiJKV1QiLCJraWQiOiJte
W9sfsfddfsdfUlMyNTYifQ.eyJqdG
kiOiJ4eXotMTIzNDUiLCJzdWIiOiJ1
c2VyMSIsImdyb3VwcyI6WyJhZG1
pbiIsIm5vcm1hbC11c2VyIl0sImlzcyI
6Imh0dHBzOi8vc2VydmVyLm15Y2
9tcGFueS5kZSIsImV4cCI6MTUwN
zEwMzI0OCwiaWF0IjoxNTA3MTAz
MDQ4LCJ1cG4iOiJ1c2VyMUBteWN
vbXBhbnkuZGUifQ.rTM_NemKw5f
pXnuh_q6pwF0GaoRzqgozUsCdIK
dcpFEsWs_Ro_aQ6YfYMy178JYyLt
UylTWrSus67nS820YzWHjSYmNR
eKxhBAzWw48c0a1A8tAMJ594aV
nSyVs2_kG09nvKyf5f5JPvpbJyIUL
OZIDYC2zDx3paKJsJ
{
"typ": "JWT",
"kid": "myKey1",
"alg": "RS256"
}
{
"jti": "id-abc-123",
"sub": "user17",
"groups": ["administrator", "sachbearbeiter"],
"iss": "https://server1.mycompany.de",
"exp": 1507103300,
"iat": 1507103360,
"upn": "user17@mycompany.de"
}
© ARS Computer und Consulting GmbH 2017
Microprofile.io
19
ARSMicroprofile Zukunft…
Type Safe REST Client (Microprofile 1.3)
Distributed Tracing (basierend auf OpenTracing)
Open-API
JCache
ISTIO (IBM, Google, Lyft)
 „An open platform to connect, manage, and secure microservices“
 Service Registry und Discovery, intelligentes Routing und Loadbalancer
 Resilienz und Security
 Telemetrie und Reporting
 A/B Testing, Canary Releasing, Blue-Green-Deployment
 Sidecar-Prinzip, d.h. ohne Einfluss auf Service-Code (sprachneutral)
© ARS Computer und Consulting GmbH 2017
Microprofile.io
20
ARSMicroprofile Zukunft…
Microprofile 2.0: Anpassung der Microprofile Spec an Java EE 8
Übergang Java EE zu OpenSource EE4J
 EE4J: „Eclipse MicroProfile is such a project that EE4J will review as a
source of innovations for incorporation into EE4J. “
 Java EE 9: „Enterprise for the Cloud “
 Microprofile 2.0 ist dann schon Cloud-Ready
Abstand zu Mitbewerber Spring Boot/Spring Cloud
 NOCH vorhanden, aber nicht mehr sehr groß (Hystrix Dashboard für
Resilience)
© ARS Computer und Consulting GmbH 2017
Microprofile.io
21
ARSKontaktinformationen
Für Fragen und weitere Informationen stehe ich Ihnen gerne
zur Verfügung:
Michael Hofmann
michael.hofmann@ars.de
+49 89 32468-2075
ARS Computer und Consulting GmbH
Ridlerstraße 37
80339 München
www.ars.de
© ARS Computer und Consulting GmbH 2017
Microprofile.io
22
ARSARS Computer und Consulting GmbH
 ARS Computer und Consulting GmbH ist eines der führenden Unternehmen im Bereich
Software Engineering
 Unsere Mission: hochwertige Beratung und erfolgreiche Projekte zur Entwicklung
qualitativ exzellenter Software: The Art of Software Engineering
 Seit über 20 Jahren hat unser Team die Kreativität, das Wissen, die Übung und Intuition,
die unsere Kunden für ihre erfolgreichen Softwareprojekte benötigen. Wir entwickeln
nicht nur individuelle Software, sondern unterstützen unsere Kunden bei Ihren
Entwicklungsprojekten ganzheitlich. Vom Design über Architekturberatung, Entwicklung,
Qualitätssicherung, Betriebskonzepte mit DevOps bis hin zur Einführung eines Application
Lifecycle Managements.
 Im Fokus dabei: die „ARS Golden 4“. Microservices-Architekturen, umgesetzt mit agilen
Entwicklungsmethoden, unterstützt durch DevOps-Tools und -Prozesse, mit einer klaren
Ausrichtung auf APIs – nach innen und nach außen.
 Unsere Vision: Kognitive Lösungen sind für uns die Zukunft, deshalb arbeiten wir schon
jetzt mit Machine Learning von der Apple Smartwatch bis zum IBM Mainframe:
Software Engineering for a Cognitive World
Lassen Sie uns gemeinsam Neues schaffen, das begeistert.

Weitere ähnliche Inhalte

Ähnlich wie Microprofile.io

Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
Splunk
 
Syntegris Unternehmensprofil
Syntegris UnternehmensprofilSyntegris Unternehmensprofil
Syntegris Unternehmensprofil
syntegris information solutions GmbH
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | Hybrid
Microsoft Österreich
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
Schlomo Schapiro
 
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand  Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
ELEKS
 
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
QAware GmbH
 
Cloud OS - Die Vision und Strategie von Microsoft
Cloud OS - Die Vision und Strategie von MicrosoftCloud OS - Die Vision und Strategie von Microsoft
Cloud OS - Die Vision und Strategie von Microsoft
Peter Kirchner
 
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 Evolution
QAware GmbH
 
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
bhoeck
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
Splunk
 
DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?
Digicomp Academy AG
 
ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?
Hanns Nolan
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...Matthias Stürmer
 
Sucess Story von Linux zu Microsoft
Sucess Story von Linux zu MicrosoftSucess Story von Linux zu Microsoft
Sucess Story von Linux zu MicrosoftProTechnology GmbH
 
Windows 7 - Preview & Roadmap
Windows 7 - Preview & RoadmapWindows 7 - Preview & Roadmap
Windows 7 - Preview & Roadmap
Georg Binder
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
QAware GmbH
 
Multi-Cloud eGov Webinar 20220322
Multi-Cloud eGov Webinar 20220322Multi-Cloud eGov Webinar 20220322
Multi-Cloud eGov Webinar 20220322
Thomas Treml
 
ConSol: Unternehmen, Leistungen, Lösungen
ConSol: Unternehmen, Leistungen, LösungenConSol: Unternehmen, Leistungen, Lösungen
ConSol: Unternehmen, Leistungen, Lösungen
Isabel Baum
 
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
bhoeck
 

Ähnlich wie Microprofile.io (20)

Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
 
Syntegris Unternehmensprofil
Syntegris UnternehmensprofilSyntegris Unternehmensprofil
Syntegris Unternehmensprofil
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | Hybrid
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
 
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand  Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
Webinar: Effiziente Digitalisierungsstrategien für den Mittelstand
 
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
 
Cloud OS - Die Vision und Strategie von Microsoft
Cloud OS - Die Vision und Strategie von MicrosoftCloud OS - Die Vision und Strategie von Microsoft
Cloud OS - Die Vision und Strategie von Microsoft
 
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
 
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?
 
ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
 
Sucess Story von Linux zu Microsoft
Sucess Story von Linux zu MicrosoftSucess Story von Linux zu Microsoft
Sucess Story von Linux zu Microsoft
 
Windows 7 - Preview & Roadmap
Windows 7 - Preview & RoadmapWindows 7 - Preview & Roadmap
Windows 7 - Preview & Roadmap
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Multi-Cloud eGov Webinar 20220322
Multi-Cloud eGov Webinar 20220322Multi-Cloud eGov Webinar 20220322
Multi-Cloud eGov Webinar 20220322
 
ConSol: Unternehmen, Leistungen, Lösungen
ConSol: Unternehmen, Leistungen, LösungenConSol: Unternehmen, Leistungen, Lösungen
ConSol: Unternehmen, Leistungen, Lösungen
 
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
abtis führt neu gegründete Premium Cosmetics innerhalb von sechs Wochen in di...
 

Mehr von ARS Computer und Consulting GmbH

Cloud Konzepte und Strategien
Cloud Konzepte und StrategienCloud Konzepte und Strategien
Cloud Konzepte und Strategien
ARS Computer und Consulting GmbH
 
Die Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von MorgenDie Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von Morgen
ARS Computer und Consulting GmbH
 
Frameworks und Prozessoren
Frameworks und ProzessorenFrameworks und Prozessoren
Frameworks und Prozessoren
ARS Computer und Consulting GmbH
 
Cognitive Computing und Machine Learning im deutschen Mittelstand
Cognitive Computing und Machine Learning im deutschen MittelstandCognitive Computing und Machine Learning im deutschen Mittelstand
Cognitive Computing und Machine Learning im deutschen Mittelstand
ARS Computer und Consulting GmbH
 
ARS Golden 4
ARS Golden 4ARS Golden 4
IHR Weg in die API Economy
IHR Weg in die API EconomyIHR Weg in die API Economy
IHR Weg in die API Economy
ARS Computer und Consulting GmbH
 

Mehr von ARS Computer und Consulting GmbH (6)

Cloud Konzepte und Strategien
Cloud Konzepte und StrategienCloud Konzepte und Strategien
Cloud Konzepte und Strategien
 
Die Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von MorgenDie Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von Morgen
 
Frameworks und Prozessoren
Frameworks und ProzessorenFrameworks und Prozessoren
Frameworks und Prozessoren
 
Cognitive Computing und Machine Learning im deutschen Mittelstand
Cognitive Computing und Machine Learning im deutschen MittelstandCognitive Computing und Machine Learning im deutschen Mittelstand
Cognitive Computing und Machine Learning im deutschen Mittelstand
 
ARS Golden 4
ARS Golden 4ARS Golden 4
ARS Golden 4
 
IHR Weg in die API Economy
IHR Weg in die API EconomyIHR Weg in die API Economy
IHR Weg in die API Economy
 

Microprofile.io

  • 1. ARS Microprofile.io Cloud Native mit Java EE Michael Hofmann, CTO, ARS
  • 2. © ARS Computer und Consulting GmbH 2017 Microprofile.io 3 ARSBusiness Need “One of the things we've learned is that if you can't get it to market more quickly, there is no doubt that the market will have changed and no matter how well you've engineered it or built it or deployed it or trained your folks, it's not going to be quite right because it's just a little too late.“ James McGlennon, Executive VP and CIO, Liberty Mutual Insurance Group (US Fortune 500: Platz 75, Umsatz 38,3 Mrd. USD)
  • 3. © ARS Computer und Consulting GmbH 2017 Microprofile.io 4 ARSCloud Computing Cloud Computing Benefits (lt. IBM): Flexibility  Skalierbare Rechenleistung bei Bedarf,  Weltweiter Internetzugriff möglich Efficiency  Geringe Infrastruktur-Kosten  Keine Infrastruktur-Wartung Strategic Value  Cloud Services bieten innovativste Technologien für Betrieb und Entwicklung  Schnellere und kostengünstigere Bereitstellung neuer Anwendungen mit Cloud Computing
  • 4. © ARS Computer und Consulting GmbH 2017 Microprofile.io 5 ARSCloud Native Computing Foundation (CNCF) Vereinigung mit folgender Mission: "create and drive the adoption of a new computing paradigm that is optimized for modern distributed systems environments capable of scaling to tens of thousands of self healing multi-tenant nodes."
  • 5. © ARS Computer und Consulting GmbH 2017 Microprofile.io 6 ARSCNCF Landscape
  • 6. © ARS Computer und Consulting GmbH 2017 Microprofile.io 7 ARSCloud Native Cloud native Systeme haben folgende Eigenschaften Container packaged Dynamically managed Microservices oriented Cloud native beschreibt wie die Anwendungen erstellt werden sollen wie sie deployed werden
  • 7. © ARS Computer und Consulting GmbH 2017 Microprofile.io 8 ARSARS Golden 4 (+1) Zusammenspiel von Microservices Agile DevOps API Erweitert DevOps  Automation  Operational Integration in Cloud Laufzeitumgebung Testing  Canary Releasing, Blue/Green Deployment, A/B Testing
  • 8. © ARS Computer und Consulting GmbH 2017 Microprofile.io 9 ARSCloud Native Applikationen mit „The 12 Factors“ “A methodology for building software-as-a-service applications“ 12 Faktoren, unabhängig von Programmiersprache Sog. Backing Services Cloud Provider
  • 9. © ARS Computer und Consulting GmbH 2017 Microprofile.io 10 ARSMicroprofile.io: cloud native mit Java EE „Optimizing Enterprise Java for a microservices architecture“ Vereinigung führender Java EE Applikations-Server und andere Existiert seit 2016 Mittlerweile als Projekt bei der Eclipse Foundation
  • 10. © ARS Computer und Consulting GmbH 2017 Microprofile.io 11 ARSMicroprofile Releases Microprofile 1.2 (30.09.2017) Microprofile 1.1 Config 1.1 Fault Tolerance 1.0 JWT Propagation 1.0 Health Check 1.0 Health Metrics 1.0 Microprofile 1.3 (15.12.2017) Microprofile 1.2 Type Safe Rest Client 1.0 Microprofile 2.0 (31.03.2018) Microprofile 1.3 Anpassungen an Java EE 8 (?) Microprofile 1.0 (17.09.2016) JAX-RS 2.0 CDI 1.2 JSON-P 1.0 Microprofile 1.1 (21.07.2017) Microprofile 1.0 Config 1.0
  • 11. © ARS Computer und Consulting GmbH 2017 Microprofile.io 12 ARSMicroprofile Config Anwendungskonfiguration Mit Ordinal Überschreibung Default Quellen (erweiterbar ConfigSource):  Property-File (100)  System Environment (300)  Java System Property (400) Per CDI in die Anwendung injiziert Angabe von Default-Werten Optionale Werte Automatischer Reload von Werten bei Änderungen Typisierung mit Converter
  • 12. © ARS Computer und Consulting GmbH 2017 Microprofile.io 13 ARSMicroprofile Fault Tolerance Notwendig: Resilienz (verteilter Anwendungs-Architektur) Umsetzung mit Fault Tolerance Design-Patterns Timeout  TimeoutException nach abgelaufener Zeit  Bei Asynchronous: Thread.interrupt() zur Thread-Freigabe Retry  maxRetries  delay  maxDuration  jitter  retryOn  abortOn
  • 13. © ARS Computer und Consulting GmbH 2017 Microprofile.io 14 ARSMicroprofile Fault Tolerance Fallback  Alternativer Aufruf im Fehlerfall CircuitBreaker  Zustände: closed, open und half-open  Verschonung des fehlerhaften Service mit Aufrufen (Erholung)  Vermeidung fehlerhafter Aufrufe, wenn Fehler bekannt  Config-Angabe ,wann CircuitBreaker die Zustände wechselt Bulkhead  Synchron: Semaphor  Asynchron: eigener ThreadPool mit Warteschlange Alle Design-Patterns sind kombinierbar  Untereinander  Mit MP Config
  • 14. © ARS Computer und Consulting GmbH 2017 Microprofile.io 15 ARSMicroprofile Health Check REST-Endpoint /health Abfrage des Gesundheitszustandes Keine Historie Maschine-zu-Maschine Kommunikation Abgefragt von Laufzeitumgebung (Kubernetes, CloudFoundry) Kranke Services  werden eliminiert  Evtl. durch neue Prozessinstanzen ersetzt (Policy) HealthCheck CDI Beans  Eigene Entwicklung  Aggregation aller Bean-Ergebnisse
  • 15. © ARS Computer und Consulting GmbH 2017 Microprofile.io 16 ARSMicroprofile Health Metrics REST-Endpoint /metrics Mit Unterteilung  Base (/metrics/base)  Vendor (/metrics/vendor)  Application (/metrics/application) Langlaufende Messdaten des Services
  • 16. © ARS Computer und Consulting GmbH 2017 Microprofile.io 17 ARSMicroprofile JWT Propagation OpenId Connect mit JSON Web Token (JWT) JWT mit JSON Web Signatur (JWS) signiert neue Claims im JWT:  upn (unique prinicpal name): User Principal  groups: Gruppenzugehörigkeiten des Subject Inbound-Propagation:  HTTP Header: Authorization: Bearer <JWT-Token> Integration in Java EE Security Context, damit role based access control angewandt werden kann Aktivierung in REST Application @LoginConfig(authMethod = "MP-JWT", realmName = "MyRealm1") @ApplicationPath("/api") public class MyRESTApplication extends javax.ws.rs.core.Application {...}
  • 17. © ARS Computer und Consulting GmbH 2017 Microprofile.io 18 ARSMicroprofile JWT Propagation eyJ0eXAiOiJKV1QiLCJraWQiOiJte W9sfsfddfsdfUlMyNTYifQ.eyJqdG kiOiJ4eXotMTIzNDUiLCJzdWIiOiJ1 c2VyMSIsImdyb3VwcyI6WyJhZG1 pbiIsIm5vcm1hbC11c2VyIl0sImlzcyI 6Imh0dHBzOi8vc2VydmVyLm15Y2 9tcGFueS5kZSIsImV4cCI6MTUwN zEwMzI0OCwiaWF0IjoxNTA3MTAz MDQ4LCJ1cG4iOiJ1c2VyMUBteWN vbXBhbnkuZGUifQ.rTM_NemKw5f pXnuh_q6pwF0GaoRzqgozUsCdIK dcpFEsWs_Ro_aQ6YfYMy178JYyLt UylTWrSus67nS820YzWHjSYmNR eKxhBAzWw48c0a1A8tAMJ594aV nSyVs2_kG09nvKyf5f5JPvpbJyIUL OZIDYC2zDx3paKJsJ { "typ": "JWT", "kid": "myKey1", "alg": "RS256" } { "jti": "id-abc-123", "sub": "user17", "groups": ["administrator", "sachbearbeiter"], "iss": "https://server1.mycompany.de", "exp": 1507103300, "iat": 1507103360, "upn": "user17@mycompany.de" }
  • 18. © ARS Computer und Consulting GmbH 2017 Microprofile.io 19 ARSMicroprofile Zukunft… Type Safe REST Client (Microprofile 1.3) Distributed Tracing (basierend auf OpenTracing) Open-API JCache ISTIO (IBM, Google, Lyft)  „An open platform to connect, manage, and secure microservices“  Service Registry und Discovery, intelligentes Routing und Loadbalancer  Resilienz und Security  Telemetrie und Reporting  A/B Testing, Canary Releasing, Blue-Green-Deployment  Sidecar-Prinzip, d.h. ohne Einfluss auf Service-Code (sprachneutral)
  • 19. © ARS Computer und Consulting GmbH 2017 Microprofile.io 20 ARSMicroprofile Zukunft… Microprofile 2.0: Anpassung der Microprofile Spec an Java EE 8 Übergang Java EE zu OpenSource EE4J  EE4J: „Eclipse MicroProfile is such a project that EE4J will review as a source of innovations for incorporation into EE4J. “  Java EE 9: „Enterprise for the Cloud “  Microprofile 2.0 ist dann schon Cloud-Ready Abstand zu Mitbewerber Spring Boot/Spring Cloud  NOCH vorhanden, aber nicht mehr sehr groß (Hystrix Dashboard für Resilience)
  • 20. © ARS Computer und Consulting GmbH 2017 Microprofile.io 21 ARSKontaktinformationen Für Fragen und weitere Informationen stehe ich Ihnen gerne zur Verfügung: Michael Hofmann michael.hofmann@ars.de +49 89 32468-2075 ARS Computer und Consulting GmbH Ridlerstraße 37 80339 München www.ars.de
  • 21. © ARS Computer und Consulting GmbH 2017 Microprofile.io 22 ARSARS Computer und Consulting GmbH  ARS Computer und Consulting GmbH ist eines der führenden Unternehmen im Bereich Software Engineering  Unsere Mission: hochwertige Beratung und erfolgreiche Projekte zur Entwicklung qualitativ exzellenter Software: The Art of Software Engineering  Seit über 20 Jahren hat unser Team die Kreativität, das Wissen, die Übung und Intuition, die unsere Kunden für ihre erfolgreichen Softwareprojekte benötigen. Wir entwickeln nicht nur individuelle Software, sondern unterstützen unsere Kunden bei Ihren Entwicklungsprojekten ganzheitlich. Vom Design über Architekturberatung, Entwicklung, Qualitätssicherung, Betriebskonzepte mit DevOps bis hin zur Einführung eines Application Lifecycle Managements.  Im Fokus dabei: die „ARS Golden 4“. Microservices-Architekturen, umgesetzt mit agilen Entwicklungsmethoden, unterstützt durch DevOps-Tools und -Prozesse, mit einer klaren Ausrichtung auf APIs – nach innen und nach außen.  Unsere Vision: Kognitive Lösungen sind für uns die Zukunft, deshalb arbeiten wir schon jetzt mit Machine Learning von der Apple Smartwatch bis zum IBM Mainframe: Software Engineering for a Cognitive World Lassen Sie uns gemeinsam Neues schaffen, das begeistert.