SlideShare a Scribd company logo
1 of 33
Download to read offline
Microservices, geerdet
René Lengwinat & Michael Bruns
https://keybase.io/rlengwinat
2
René Lengwinat
inovex GmbH
https://keybase.io/michaelbruns
Michael Bruns
inovex GmbH
Microservices, geerdet - René Lengwinat & Michael Bruns
3Microservices, geerdet - René Lengwinat & Michael Bruns
Source: http://meme-erstellen.de/meme/you-are-not-wrong-you-are-just-an-asshole/
› Abstract problem split into small solutions
› Monolith would simply be too hard to handle
› Large portions of the application don’t need to know
about the rest of the application
4Microservices, geerdet - René Lengwinat & Michael Bruns
Why Microservices?
› Different people with different backgrounds and skills
› Load peaks on small parts of the application are expected
› Most important: We, i.e. the developers, wanted to do it!
5Microservices, geerdet - René Lengwinat & Michael Bruns
Why Microservices?
› Real-life conversation:
› Manager: “We need Microservices!”
› Dev: “Ok. Why?”
› Manager: “Err…”
› Dev: “Did you at least talk to Dev and Ops?”
› Manager: “Err…”
6Microservices, geerdet - René Lengwinat & Michael Bruns
When to be careful...
› Real-life conversation:
› Dev: “Can we operate the VMs with our team?”
› Manager: “No, the Ops team does that.”
› Dev: “Can we shift people from the Ops team to our team?”
› Manager: “No.”
› Dev: “Ok… Then I need to talk to the Ops team.”
› Manager: “You can’t, they’re too busy with their roadmap.”
7Microservices, geerdet - René Lengwinat & Michael Bruns
When to be careful...
› Real-life conversation:
› Dev: “We need two small VMs, one per data center.”
› Ops: “We don’t do it that way. You’ll get three per
data-center, 64 GB RAM and 6 CPUs each.”
› Dev: “What?! Well, alright... Is it possible to get them
by this afternoon?”
› Ops: “Nah, average delivery time is eight weeks.”
8Microservices, geerdet - René Lengwinat & Michael Bruns
When to be careful...
9Microservices, geerdet - René Lengwinat & Michael Bruns
10Microservices, geerdet - René Lengwinat & Michael Bruns
Who am I? - Session Management
Old school
SPOF
Old school in new env
SPOF + BOTTLENECK
New Way
Manageable Risk
nRequestsOnSessionService = nRequests * nServices
11Microservices, geerdet - René Lengwinat & Michael Bruns
Secret Sauce - The JWT - JSON Web Token
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "1234567890",
“iss”: “serviceA”,
“exp”: “1460667024”,
"name": "John Doe",
"rights": [“READ”, “WRITE”]
}
secret
base64(header) + “.” + base64(claims) + “.” +
base64(hmacSha256(secret, base64(header) + “.” + base64(claims)))
Signature
12Microservices, geerdet - René Lengwinat & Michael Bruns
Secret Sauce - The JWT - JSON Web Token
› Applications
› Sessions
› Account confirmation
› Password reset
› Short-lived tokens (app to web handshake)
13Microservices, geerdet - René Lengwinat & Michael Bruns
Source: https://i.imgflip.com/125yfz.jpg
14Microservices, geerdet - René Lengwinat & Michael Bruns
What about the UI?
Header
Content I
Content II Content III
Monolithic
Service
15Microservices, geerdet - René Lengwinat & Michael Bruns
What about the UI?
Header
Content I
Content II Content III
Service II
Service III Service I
Header
Content II
Content I Content II
16Microservices, geerdet - René Lengwinat & Michael Bruns
What about the UI?
Header
Content I
Content II Content III
Front end
Service
Service II
Service III
Service I
17Microservices, geerdet - René Lengwinat & Michael Bruns
What about the UI?
Header
Content I
Content I Content II
Service II
Service III
Service I
Header
Content II
Content I Content III
Front end
Service / CDN
› S3 Bucket as CDN
› Mustache templates
› Lightweight, no SPAs
› Planned: Web Components
18Microservices, geerdet - René Lengwinat & Michael Bruns
What about the UI?
Header
Content I
Content I Content II
Service II
Service III
Service I
Header
Content II
Content I
Content
III
Front end
Service / CDN
19Microservices, geerdet - René Lengwinat & Michael Bruns
20Microservices, geerdet - René Lengwinat & Michael Bruns
My code, your code - Shared vs Template
› What’s wrong with shared code?
› Reuse
› Coupling
› Opinionated
IT DEPENDS -> organisational structure, maturity
21Microservices, geerdet - René Lengwinat & Michael Bruns
My code, your code - Shared vs Template
› Alternative -> Template Project
› Yeoman, leiningen, git repo
› Fast setup
› Doesn’t fit? Change / Fork
› Standards embedded
› Updates
22Microservices, geerdet - René Lengwinat & Michael Bruns
Source: https://imgflip.com/i/12ll0d
› Don’t build a platform, use one - in our case: AWS
› Use what’s already there: EC2, RDS, S3, Elasticsearch,
Kinesis, Route53, ...
› Add shared stuff (e.g. JVM, nginx) to base image
› Leave the rest to the services
23Microservices, geerdet - René Lengwinat & Michael Bruns
IaaS - Yet Another Platform?
› Foster DevOps, i.e. tear down all political and
technological barriers
› Choose the right tool for the right job:
Terraform, Go CD, Prometheus, flood IO, …
› Make your infrastructure reproducible
24Microservices, geerdet - René Lengwinat & Michael Bruns
IaaS - Yet Another Platform?
› Don’t build a gateway service if it’s not necessary
› Start small, expect growth
› Geo-redundancy
› Monitor your stuff, send alarms
25Microservices, geerdet - René Lengwinat & Michael Bruns
IaaS - Yet Another Platform?
› Short insight:
› 40+ EC2 instances, 20+ Auto-Scaling Groups,
50+ Security Groups, 500+ GB in S3 Buckets
› ~20m documents stored in ~3k shards in Elasticsearch
› 40+ Go CD pipelines, >100 Git Repositories
› ~15 people working in 5+ locations
26Microservices, geerdet - René Lengwinat & Michael Bruns
IaaS - Yet Another Platform?
27Microservices, geerdet - René Lengwinat & Michael Bruns
› Local debt vs global debt
› Don’t be afraid of tracking publicly
› Track across service boundaries
› Continuously review tech debt
› Continuously reduce tech debt
28Microservices, geerdet - René Lengwinat & Michael Bruns
Many services = Technical debt?
› Continuous Tech Review
› Weekly review
› Track and attack tech debt
› Discuss possible improvements
› Discuss risks
› Time boxed!
29Microservices, geerdet - René Lengwinat & Michael Bruns
Many services = Technical debt?
30Microservices, geerdet - René Lengwinat & Michael Bruns
Many services = Technical debt?
Service Commons Backlog
31Microservices, geerdet - René Lengwinat & Michael Bruns
32Microservices, geerdet - René Lengwinat & Michael Bruns
Source: https://imgflip.com/i/12lr94
Vielen Dank
René Lengwinat &
Michael Bruns
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe
rene.lengwinat@inovex.de
michael.bruns@inovex.de

More Related Content

Viewers also liked

Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CI
tcloudcomputing-tw
 
Datenprodukte für Deutschlands größten Fahrzeugmarkt
Datenprodukte für Deutschlands größten FahrzeugmarktDatenprodukte für Deutschlands größten Fahrzeugmarkt
Datenprodukte für Deutschlands größten Fahrzeugmarkt
inovex GmbH
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
MinGeun Park
 

Viewers also liked (14)

Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CI
 
Continuous Integration for Fun and Profit
Continuous Integration for Fun and ProfitContinuous Integration for Fun and Profit
Continuous Integration for Fun and Profit
 
Axway Introduction & Digital Business (by Jo Van Audenhove & Rogier van Boxtel)
Axway Introduction & Digital Business (by Jo Van Audenhove & Rogier van Boxtel)Axway Introduction & Digital Business (by Jo Van Audenhove & Rogier van Boxtel)
Axway Introduction & Digital Business (by Jo Van Audenhove & Rogier van Boxtel)
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
SysDig Metriken zentralisieren
SysDig Metriken zentralisierenSysDig Metriken zentralisieren
SysDig Metriken zentralisieren
 
Test and Protect Your API
Test and Protect Your APITest and Protect Your API
Test and Protect Your API
 
Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStack
 
Automated Application Management with SaltStack
Automated Application Management with SaltStackAutomated Application Management with SaltStack
Automated Application Management with SaltStack
 
Implementing Continous Deployment
Implementing Continous DeploymentImplementing Continous Deployment
Implementing Continous Deployment
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
 
Datenprodukte für Deutschlands größten Fahrzeugmarkt
Datenprodukte für Deutschlands größten FahrzeugmarktDatenprodukte für Deutschlands größten Fahrzeugmarkt
Datenprodukte für Deutschlands größten Fahrzeugmarkt
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013
 
젠킨스 설치 및 설정
젠킨스 설치 및 설정젠킨스 설치 및 설정
젠킨스 설치 및 설정
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
 

Similar to Microservices, geerdet

Bimodal IT and EDW Modernization
Bimodal IT and EDW ModernizationBimodal IT and EDW Modernization
Bimodal IT and EDW Modernization
Robert Gleave
 

Similar to Microservices, geerdet (20)

Microevent
MicroeventMicroevent
Microevent
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
 
Meetic back end redesign - Meetup microservices
Meetic back end redesign - Meetup microservicesMeetic back end redesign - Meetup microservices
Meetic back end redesign - Meetup microservices
 
Chris Homer - Moving the entire stack to k8s within a year – lessons learned
Chris Homer - Moving the entire stack to k8s within a year – lessons learnedChris Homer - Moving the entire stack to k8s within a year – lessons learned
Chris Homer - Moving the entire stack to k8s within a year – lessons learned
 
Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!
 
RightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to CloudRightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to Cloud
 
2802 cics @ interconnect v2.0 CICS Opening
2802   cics @ interconnect v2.0 CICS Opening2802   cics @ interconnect v2.0 CICS Opening
2802 cics @ interconnect v2.0 CICS Opening
 
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, FasterSaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
You got a couple Microservices, now what? - Adding SRE to DevOps
You got a couple Microservices, now what?  - Adding SRE to DevOpsYou got a couple Microservices, now what?  - Adding SRE to DevOps
You got a couple Microservices, now what? - Adding SRE to DevOps
 
Get the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, AnywhereGet the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, Anywhere
 
EPAM DevOps community meetup: Building CI/CD for microservice architecture
EPAM DevOps community meetup: Building CI/CD for microservice architectureEPAM DevOps community meetup: Building CI/CD for microservice architecture
EPAM DevOps community meetup: Building CI/CD for microservice architecture
 
Exponential-e | Cloud Revolution Seminar at the Ritz, 20th November 2014
Exponential-e | Cloud Revolution Seminar at the Ritz, 20th November 2014Exponential-e | Cloud Revolution Seminar at the Ritz, 20th November 2014
Exponential-e | Cloud Revolution Seminar at the Ritz, 20th November 2014
 
Enabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationEnabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise Transformation
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
 
System Scalability
System ScalabilitySystem Scalability
System Scalability
 
Engage ug 2015 saxion
Engage ug 2015 saxionEngage ug 2015 saxion
Engage ug 2015 saxion
 
Infrastructure As Code
Infrastructure As CodeInfrastructure As Code
Infrastructure As Code
 
Bimodal IT and EDW Modernization
Bimodal IT and EDW ModernizationBimodal IT and EDW Modernization
Bimodal IT and EDW Modernization
 
Extreme DevOps in Fintech
Extreme DevOps in FintechExtreme DevOps in Fintech
Extreme DevOps in Fintech
 

More from inovex GmbH

Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
inovex GmbH
 

More from inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Microservices, geerdet

  • 2. https://keybase.io/rlengwinat 2 René Lengwinat inovex GmbH https://keybase.io/michaelbruns Michael Bruns inovex GmbH Microservices, geerdet - René Lengwinat & Michael Bruns
  • 3. 3Microservices, geerdet - René Lengwinat & Michael Bruns Source: http://meme-erstellen.de/meme/you-are-not-wrong-you-are-just-an-asshole/
  • 4. › Abstract problem split into small solutions › Monolith would simply be too hard to handle › Large portions of the application don’t need to know about the rest of the application 4Microservices, geerdet - René Lengwinat & Michael Bruns Why Microservices?
  • 5. › Different people with different backgrounds and skills › Load peaks on small parts of the application are expected › Most important: We, i.e. the developers, wanted to do it! 5Microservices, geerdet - René Lengwinat & Michael Bruns Why Microservices?
  • 6. › Real-life conversation: › Manager: “We need Microservices!” › Dev: “Ok. Why?” › Manager: “Err…” › Dev: “Did you at least talk to Dev and Ops?” › Manager: “Err…” 6Microservices, geerdet - René Lengwinat & Michael Bruns When to be careful...
  • 7. › Real-life conversation: › Dev: “Can we operate the VMs with our team?” › Manager: “No, the Ops team does that.” › Dev: “Can we shift people from the Ops team to our team?” › Manager: “No.” › Dev: “Ok… Then I need to talk to the Ops team.” › Manager: “You can’t, they’re too busy with their roadmap.” 7Microservices, geerdet - René Lengwinat & Michael Bruns When to be careful...
  • 8. › Real-life conversation: › Dev: “We need two small VMs, one per data center.” › Ops: “We don’t do it that way. You’ll get three per data-center, 64 GB RAM and 6 CPUs each.” › Dev: “What?! Well, alright... Is it possible to get them by this afternoon?” › Ops: “Nah, average delivery time is eight weeks.” 8Microservices, geerdet - René Lengwinat & Michael Bruns When to be careful...
  • 9. 9Microservices, geerdet - René Lengwinat & Michael Bruns
  • 10. 10Microservices, geerdet - René Lengwinat & Michael Bruns Who am I? - Session Management Old school SPOF Old school in new env SPOF + BOTTLENECK New Way Manageable Risk nRequestsOnSessionService = nRequests * nServices
  • 11. 11Microservices, geerdet - René Lengwinat & Michael Bruns Secret Sauce - The JWT - JSON Web Token { "alg": "HS256", "typ": "JWT" } { "sub": "1234567890", “iss”: “serviceA”, “exp”: “1460667024”, "name": "John Doe", "rights": [“READ”, “WRITE”] } secret base64(header) + “.” + base64(claims) + “.” + base64(hmacSha256(secret, base64(header) + “.” + base64(claims))) Signature
  • 12. 12Microservices, geerdet - René Lengwinat & Michael Bruns Secret Sauce - The JWT - JSON Web Token › Applications › Sessions › Account confirmation › Password reset › Short-lived tokens (app to web handshake)
  • 13. 13Microservices, geerdet - René Lengwinat & Michael Bruns Source: https://i.imgflip.com/125yfz.jpg
  • 14. 14Microservices, geerdet - René Lengwinat & Michael Bruns What about the UI? Header Content I Content II Content III Monolithic Service
  • 15. 15Microservices, geerdet - René Lengwinat & Michael Bruns What about the UI? Header Content I Content II Content III Service II Service III Service I Header Content II Content I Content II
  • 16. 16Microservices, geerdet - René Lengwinat & Michael Bruns What about the UI? Header Content I Content II Content III Front end Service Service II Service III Service I
  • 17. 17Microservices, geerdet - René Lengwinat & Michael Bruns What about the UI? Header Content I Content I Content II Service II Service III Service I Header Content II Content I Content III Front end Service / CDN
  • 18. › S3 Bucket as CDN › Mustache templates › Lightweight, no SPAs › Planned: Web Components 18Microservices, geerdet - René Lengwinat & Michael Bruns What about the UI? Header Content I Content I Content II Service II Service III Service I Header Content II Content I Content III Front end Service / CDN
  • 19. 19Microservices, geerdet - René Lengwinat & Michael Bruns
  • 20. 20Microservices, geerdet - René Lengwinat & Michael Bruns My code, your code - Shared vs Template › What’s wrong with shared code? › Reuse › Coupling › Opinionated IT DEPENDS -> organisational structure, maturity
  • 21. 21Microservices, geerdet - René Lengwinat & Michael Bruns My code, your code - Shared vs Template › Alternative -> Template Project › Yeoman, leiningen, git repo › Fast setup › Doesn’t fit? Change / Fork › Standards embedded › Updates
  • 22. 22Microservices, geerdet - René Lengwinat & Michael Bruns Source: https://imgflip.com/i/12ll0d
  • 23. › Don’t build a platform, use one - in our case: AWS › Use what’s already there: EC2, RDS, S3, Elasticsearch, Kinesis, Route53, ... › Add shared stuff (e.g. JVM, nginx) to base image › Leave the rest to the services 23Microservices, geerdet - René Lengwinat & Michael Bruns IaaS - Yet Another Platform?
  • 24. › Foster DevOps, i.e. tear down all political and technological barriers › Choose the right tool for the right job: Terraform, Go CD, Prometheus, flood IO, … › Make your infrastructure reproducible 24Microservices, geerdet - René Lengwinat & Michael Bruns IaaS - Yet Another Platform?
  • 25. › Don’t build a gateway service if it’s not necessary › Start small, expect growth › Geo-redundancy › Monitor your stuff, send alarms 25Microservices, geerdet - René Lengwinat & Michael Bruns IaaS - Yet Another Platform?
  • 26. › Short insight: › 40+ EC2 instances, 20+ Auto-Scaling Groups, 50+ Security Groups, 500+ GB in S3 Buckets › ~20m documents stored in ~3k shards in Elasticsearch › 40+ Go CD pipelines, >100 Git Repositories › ~15 people working in 5+ locations 26Microservices, geerdet - René Lengwinat & Michael Bruns IaaS - Yet Another Platform?
  • 27. 27Microservices, geerdet - René Lengwinat & Michael Bruns
  • 28. › Local debt vs global debt › Don’t be afraid of tracking publicly › Track across service boundaries › Continuously review tech debt › Continuously reduce tech debt 28Microservices, geerdet - René Lengwinat & Michael Bruns Many services = Technical debt?
  • 29. › Continuous Tech Review › Weekly review › Track and attack tech debt › Discuss possible improvements › Discuss risks › Time boxed! 29Microservices, geerdet - René Lengwinat & Michael Bruns Many services = Technical debt?
  • 30. 30Microservices, geerdet - René Lengwinat & Michael Bruns Many services = Technical debt? Service Commons Backlog
  • 31. 31Microservices, geerdet - René Lengwinat & Michael Bruns
  • 32. 32Microservices, geerdet - René Lengwinat & Michael Bruns Source: https://imgflip.com/i/12lr94
  • 33. Vielen Dank René Lengwinat & Michael Bruns inovex GmbH Ludwig-Erhard-Allee 6 76131 Karlsruhe rene.lengwinat@inovex.de michael.bruns@inovex.de