SlideShare a Scribd company logo
1 of 60
Problems in the microservice
world: Authentication,
communication, configuration
and boundaries
Quentin ADAM - @waxzce
Who am I ?
Quentin ADAM from the Clever Cloud
@waxzce on twitter – github- soundcloud – instagram ….
My day to day work :
, the IT automation company
Keep your apps online. made with node.js,
scala, java, ruby, php, python, go…
Cloud & on premise
And learn a lot of things
about your code, apps,
and good/bad design…
Give back to the
community
NEVER GONNA
LET YOU DOWN
clever-cloud.com
The beginning
How Clever Cloud start?
How the roadmap was define.
Remote Code
Execution
as a
Service
Dog container
We are happy
Multiple stacks
Scaling
Evolution
Team management
Architecture as a playground
Lego FTW
Microservice communication
NO TRUSTED NETWORK
https://www.clever-cloud.com/blog/guests/2015/06/16/the-end-of-the-fortress-metaphor/
Server -> Server
• Authenticated
• Encrypted
• Auditable/logged
🔪
Loosely coupled
Routing is a problem
Message box
Duplicate messages
Analytic and audit
HTTP for all?
Messages brokers
• RabbitMQ
• FR: https://www.youtube.com/watch?v=VBUQXM96hpw
• EN: https://www.youtube.com/watch?v=15mzY2MfDgM
• Kafka
• Redis?
• 0MQ?
• Warp10 / time series DB📬
The right size?
What is the boundaries of a microservice
Noisy Microworker army
Beware of (massive) RPC
(Remote Procedure Call)
Network is two problems: Fragile and Slow
📦 Micro services is not Workload
Distribution
👁 akka, project orleans, Erlang OTP, hadoop…
One service do have to actually
provide a service by itself
Fat monoliths
Micro service creating too much
lib?
Why theses two functions are in
the same services?
Or can I 👁 it?
Does we have a common data
store?
Does this features need the same
scaling agenda?
Example Clever Cloud
Configuration on multiple spots
Configuration != Code
Zk, etcd, consul… So many possibilities
Simpler way, never change on
runtime
Immutable infrastructure (FR) https://www.youtube.com/watch?v=WrZCbgQsPVU
Agnostic solution: Environment variable
Clever Cloud service
dependencies
https://www.clever-cloud.com/blog/features/2016/06/23/introducing-service-dependencies/
No over engineering on
configuration, when you need to
configure the configuration injector,
you are too far 🖇
Who the hell are you?
Distribute Authentication
Distribute Identity and ACL
Common solutions (or not)
Shared data repository
Redis
Service
A (php)
Service
C (java)
Service
B
(nodejs)
Authentication using a proxy
Request
Reverse Proxy
+
Database call
+
Business code
+
Authentication
Service A
Service B
Service C
Authenticated
request with
user identity
data
Central API call to authenticate request
Request
Via
reverse
proxy
Service A
Service B
Service C
Authentification
API
We need more tools
👁 🔧 🔩 ⛏ ⚒ 👁
JWT
Macaroons
Keep hackable and pluggable
playground to enforce
innovations
Maintenance
Clean legacy code on regular
basis
Why and how bookkeepers f***d up IT
FR https://www.youtube.com/watch?v=0ip1FoBsLB4
EN https://www.youtube.com/watch?v=OngWRJ8txps
Deployment agility
No dogma, full developer
hapiness oriented architecture
Thank you
find me on twitter
@waxzce
Gift coupon for
clever-cloud.com:
rubyc17roxx

More Related Content

More from Quentin Adam

Why all my software projects are late?
Why all my software projects are late?Why all my software projects are late?
Why all my software projects are late?
Quentin Adam
 

More from Quentin Adam (20)

Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018
 
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
 
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
 
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
 
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
 
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
 
What is Clever Cloud?
What is Clever Cloud?What is Clever Cloud?
What is Clever Cloud?
 
Why all my software projects are late?
Why all my software projects are late?Why all my software projects are late?
Why all my software projects are late?
 
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
 
What is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcampWhat is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcamp
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & ops
 
What is systemd? Why use it? how does it work? - devoxx france 2017
What is systemd? Why use it? how does it work? - devoxx france 2017What is systemd? Why use it? how does it work? - devoxx france 2017
What is systemd? Why use it? how does it work? - devoxx france 2017
 
Quelles changements de vision dans la cyber sécurité en 2017 ? - ADN OUEST, s...
Quelles changements de vision dans la cyber sécurité en 2017 ? - ADN OUEST, s...Quelles changements de vision dans la cyber sécurité en 2017 ? - ADN OUEST, s...
Quelles changements de vision dans la cyber sécurité en 2017 ? - ADN OUEST, s...
 
From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017
 
IT automation: Make the server great again - toulouse devops fev 2017
IT automation: Make the server great again  - toulouse devops fev 2017IT automation: Make the server great again  - toulouse devops fev 2017
IT automation: Make the server great again - toulouse devops fev 2017
 
DEV+OPS: How to automate infrastructure - Cloud Expo Europe 2016
DEV+OPS: How to automate infrastructure - Cloud Expo Europe 2016DEV+OPS: How to automate infrastructure - Cloud Expo Europe 2016
DEV+OPS: How to automate infrastructure - Cloud Expo Europe 2016
 
Understand Immutable infrastructure - at Build Stuff Kiev 2016
Understand Immutable infrastructure  - at Build Stuff Kiev 2016Understand Immutable infrastructure  - at Build Stuff Kiev 2016
Understand Immutable infrastructure - at Build Stuff Kiev 2016
 
Understand immutable infrastructure, what? Why? how? - devops d day Marseill...
 Understand immutable infrastructure, what? Why? how? - devops d day Marseill... Understand immutable infrastructure, what? Why? how? - devops d day Marseill...
Understand immutable infrastructure, what? Why? how? - devops d day Marseill...
 
How the book keeper fucked up my it management jugsummercamp 2016
How the book keeper fucked up my it management   jugsummercamp 2016How the book keeper fucked up my it management   jugsummercamp 2016
How the book keeper fucked up my it management jugsummercamp 2016
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+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
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

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 🔝✔️✔️
 
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 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
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
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
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-...
 
+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...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

Problems you’ll face in the microservice world: configuration, authentication... - rubyC 2017 Kiev

Editor's Notes

  1. Exemple à Clever Cloud
  2. The first idea to many developer is to share the access to a database with the session data (memcached or redis), and read access to the ACL database (SQL or something) Issues on this : - change to the data model require to edit all the series - impose rude connection and pooling to the databases, which is an OPS problem - creating a SPOF - impose lots of code rewriting in each micro service
  3. Good part is :  - centralisation of authentication and code related to it Issues : - Very complicated to mock on developer laptop : you need to launch the proxy on dev computer - Security vision is optimistic - The user infos add by the proxys aren’t requested by service, so it’s standard or convention between proxy and service - proxy is a spot mix several mission on the proxy : routing, load balancing, authentication, session hydratation… PERFORMANCES
  4. Central authentication API called by services In this architecture, service take request directly and call an API to authenticate the request, serializing verb, resources and headers and asking for extra info they will need (user infos), the authentication API respond authentication and user info requested by the service. Good parts : - easy to mock and work on developer part, no need to start on developer computer - centralisation of the authentication - security is better handled and there is less possibility to breach the system spoofing requests - services request additional infos, more simple to do Issues : - authentication API is a spof
  5. Signature