SlideShare a Scribd company logo
1 of 39
Download to read offline
How to f*ck up your Development Team
with Microservices
Learnings about the Do’s and Don’ts of microservices
that may save your project and development team
Stephan Schulze | 26th October 2018
Contact with me
Email
stephan.schulze@project-a.com
Twitter
twitter.com/nahpeps
LinkedIn
linkedin.com/in/stephan-schulze-24115957/
Website
www.project-a.com
2
Stephan Schulze
CTO - Project A
Talk to me
Everytime at this conference
Project A - The operational VC
We empower tomorrow’s digital winners - www.project-a.com
The fund:
260mio
Assets under management
The people:
100
hands-on professionals
3
Stephan Schulze | 26th October 2018
Agenda
Teams
3
Scalability
4
4
Stephan Schulze | 26th October 2018
Introduction and Learnings1
Complexity
2
Disclaimer
It is not all bad!
5
Stephan Schulze | 26th October 2018
The History
Where are the learnings
coming from?
6
Stephan Schulze | 26th October 2018
Highlevel Overview
7
Stephan Schulze | 26th October 2018
Stock &
Availabilities
Saleschannel 1 Saleschannel 2 Saleschannel 3 ...
Routing Service
Content.
Service
Car
Service
Product
Service
Stock
Service
Price
Service
Search
Service
Styleguide
Service
Log
Service
Core
Service
Checkout
Service
Order
Service
Customer
Service
Email
Service
Calculation
Service
Payment
Service
ERP-Conn.
Service
Backoffice
PDM Pricing ERP
Sales Order
Hub
Logistics Finance
Payment
Provider
More Details
8
Stephan Schulze | 26th October 2018
Example Service
ApplicationWebserver
Caching Queueing
Storage StorageEC2 EC2 EC2 EC2
Managed
Elasticsearch
Managed
Database (RDS)
EC2
Some statistics
9
Stephan Schulze | 26th October 2018
up to 44 Devs & DevOps & PM
for 2 years
~ 12k files
> 65 GitHub Repositories
> 3 mio Lines of Code
in Java, PHP and
Python
10 live running Environments
17 Services in production
on an AWS / K8s stack
Major Learnings
10
Stephan Schulze | 26th October 2018
Learning 1
11
Stephan Schulze | 26th October 2018
You will underestimate the
complexity and so effort!
Learning 2
12
Stephan Schulze | 26th October 2018
Microservices foster isolation!
Learning 3
13
Stephan Schulze | 26th October 2018
Scaling has a price!
Agenda
Complexity2
Introduction and Learnings
1
Teams
3
Scalability
4
14
Stephan Schulze | 26th October 2018
15
Stephan Schulze | 26th October 2018
Screenshot from: https://de.slideshare.net/AmazonWebServices/data-design-for-microservices
What about:
- Security?
- Local Development?
- Testing?
…
- People?
Infrastructure
Application
Infrastructure
Complexity is never mentioned
16
Stephan Schulze | 26th October 2018
Why?
Because it is hard to
explain and to understand!
Example 1 - Deployments
Things to consider
17
Stephan Schulze | 26th October 2018
▪ How do you deploy?
▪ How do you rollback?
▪ Two different versions of the same service at the same
time
▪ Database migrations must always be backwards
compatible
▪ Does somebody may still use the API you are going to
remove? Should the deployment fail in that case?
▪ How do you know, which service version set is
currently in production?
Example 2 - Versioning
Things to consider
18
Stephan Schulze | 26th October 2018
▪ How do you version your Services?
▪ What is a stable constellation of Service Versions?
▪ Do you have versioned APIs and Dataformats? Is there
a difference between Service Versions and
API/Dataformat Versions?
▪ Is it possible to support two or more API/Dataformat
Versions in parallel?
▪ Does somebody may still use the Version of the API
you are going to remove? How do you find that out?
Example 3 - Monitoring
Things to consider
19
Stephan Schulze | 26th October 2018
▪ How do you get an overall system health state?
▪ How do you aggregate logs of different services?
▪ How do you identify a service in the logs?
▪ What calls did one service trigger on other services?
▪ How is your runtime environment doing?
▪ ...
Who is looking at all of this?
Example 4 - Local Dev
Things to consider
20
Stephan Schulze | 26th October 2018
▪ Can you run the stack on your local machine?
▪ What is the Developer experience?
▪ How do you debug?
▪ How do you know what data is exchanged between the
services → especially in a multilanguage stack?
▪ ...
Don’t forget:
21
Stephan Schulze | 26th October 2018
1. No business logic yet!
2. This is all per language you use!
Agenda
Introduction and Learnings
1
Scalability
4
22
Stephan Schulze | 26th October 2018
Teams3
Complexity
2
Assumption:
All infrastructure is up and
running!
23
Stephan Schulze | 26th October 2018
So let us speak about Teams!
24
Stephan Schulze | 26th October 2018
Our Teamsetup
25
Stephan Schulze | 26th October 2018
Catalog Team Customer Experience Team
▪ 1x PM/PO
▪ 4x PHP
▪ 3x Java
▪ 1x PM/PO
▪ 4x PHP
▪ 2x Java
Content.
Service
Car
Service
Product
Service
Stock
Service
Price
Service
Search
Service
Core
Service
Routing
Service
Customer
Service
Log
Service
Checkout
Service
Order
Service
Email
Service
Calculation
Service
Payment
Service
ERP-Conn.
Service
Cross Functional Teams - responsible for Services divided by business domain
▪ 1x FE
▪ 1x QA
▪ 1x DevOp
▪ 1x FE
▪ 1x QA
▪ 1x DevOp
Teams are minimal dependent.
They have their own responsibilities and
processes.
Observations - 1
Technical site
26
Stephan Schulze | 26th October 2018
▪ Members where partially overwhelmed by complexity
of stack and architecture
▪ Overall system architecture knowledge got lost over
time and when system grew
▪ Developer often don’t care about infrastructure layers
▪ Cross Language Knowledge Exchange was rarely
happening
Observations - 2
Communication site
27
Stephan Schulze | 26th October 2018
▪ The teams worked next to each other but not with each
other
▪ Members tend to stay with their service only
(voluntary or because just nobody else was available)
▪ Members became isolated because nobody else knew
their domain and partially also their language
(especially Java Devs during vacation time)
▪ Cross Team / Cross Language Communication got lost
Frustration
28
Stephan Schulze | 26th October 2018
As one result!
Slowness
29
Stephan Schulze | 26th October 2018
As another result!
Lethargy
30
Stephan Schulze | 26th October 2018
As a third result!
31
Stephan Schulze | 26th October 2018
What went wrong?
32
Stephan Schulze | 26th October 2018
The f*ck up part
A summary
33
Stephan Schulze | 26th October 2018
Strong imbalance in teams
▪ one quiet vs. one communicative Team
▪ Wrong assumptions about what need to be really done
in teams and services
▪ To less PM Power
▪ To less Management Power to address this the right
way
You should know before
34
Stephan Schulze | 26th October 2018
Questions to ask
Regarding Teamsetup
35
Stephan Schulze | 26th October 2018
▪ Do I have enough people power?
▪ What defines a Team?
TechStack/Skillset, Business Domain, Personality?
▪ Should I have Cross-Functional teams or clearly
separated by function?
For each potential approach you should also check:
▪ Is there enough to do the whole time?
▪ Can I keep the speed of development?
▪ Is time and/or potential wasted?
▪ How will global topics be handled (e.g. Architecture,
Infrastructure, etc.)?
Agenda
Introduction and Learnings
1
Teams
3
36
Stephan Schulze | 26th October 2018
Scalability4
Complexity
2
Scalability
What to take care of
37
Stephan Schulze | 26th October 2018
▪ In general: Microservices and development scale
But:
▪ Each Microservice must also be build to scale
▪ The Infrastructure and Application Layer must be build
to scale
▪ The teams must scale
Finally:
The organization itself must scale
“organisations which radically change their system
design should expect changes in communication
structure”
38
Stephan Schulze | 26th October 2018
This will finally also change the
organization structure itself!
Roy van Rijn
Thank you for listening.
Time for questions

More Related Content

Similar to How to f*ck up your development team with microservices

3. any metric is useless without competence! jaap van der leer - marco dumont
3. any metric is useless without competence!   jaap van der leer - marco dumont3. any metric is useless without competence!   jaap van der leer - marco dumont
3. any metric is useless without competence! jaap van der leer - marco dumontNesma
 
MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14shyamraj55
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldRoland Leibundgut
 
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...BDekkema
 
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Making Workflow Automation Personal:  The Next Step in Digital Transformation...Making Workflow Automation Personal:  The Next Step in Digital Transformation...
Making Workflow Automation Personal: The Next Step in Digital Transformation...Michael Oryszak
 
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...DianaGray10
 
Houston UiPath Community - Document Understanding Solution Accelerators
Houston UiPath Community - Document Understanding Solution AcceleratorsHouston UiPath Community - Document Understanding Solution Accelerators
Houston UiPath Community - Document Understanding Solution AcceleratorsDianaGray10
 
It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready? It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready? Penny Coventry
 
You already have an LxP, you just don't know it
You already have an LxP, you just don't know itYou already have an LxP, you just don't know it
You already have an LxP, you just don't know itJames Wann
 
Scrum day scaled agile - wolfgang hilpert - sascha gessler
Scrum day   scaled agile - wolfgang hilpert - sascha gesslerScrum day   scaled agile - wolfgang hilpert - sascha gessler
Scrum day scaled agile - wolfgang hilpert - sascha gesslerWolfgang Hilpert
 
SPS Atlanta - LNFY Case Study
SPS Atlanta - LNFY Case StudySPS Atlanta - LNFY Case Study
SPS Atlanta - LNFY Case StudyDaniel Albert
 
Atlassian User Group NYC 080818 event
Atlassian User Group NYC 080818 eventAtlassian User Group NYC 080818 event
Atlassian User Group NYC 080818 eventMarlon Palha
 
Building a Data-driven Marketplace
Building a Data-driven Marketplace Building a Data-driven Marketplace
Building a Data-driven Marketplace Julia Morrongiello
 
AI Orange Belt - Session 3
AI Orange Belt - Session 3AI Orange Belt - Session 3
AI Orange Belt - Session 3AI Black Belt
 
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...DevOps.com
 
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness Session
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness SessionCosta Rica RPA and AI Hackathon 2023 Hackathon Awareness Session
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness SessionDianaGray10
 
Intro to Product Management by Trunk Club Product Manager
Intro to Product Management by Trunk Club Product ManagerIntro to Product Management by Trunk Club Product Manager
Intro to Product Management by Trunk Club Product ManagerProduct School
 
IT Strategy: Aligning IT and the Business
IT Strategy: Aligning IT and the BusinessIT Strategy: Aligning IT and the Business
IT Strategy: Aligning IT and the BusinessSparkhound Inc.
 

Similar to How to f*ck up your development team with microservices (20)

3. any metric is useless without competence! jaap van der leer - marco dumont
3. any metric is useless without competence!   jaap van der leer - marco dumont3. any metric is useless without competence!   jaap van der leer - marco dumont
3. any metric is useless without competence! jaap van der leer - marco dumont
 
MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_world
 
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
 
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Making Workflow Automation Personal:  The Next Step in Digital Transformation...Making Workflow Automation Personal:  The Next Step in Digital Transformation...
Making Workflow Automation Personal: The Next Step in Digital Transformation...
 
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...
Increase Your Entry Effectiveness with UiPath Expertise. HyperHack 2023 Enabl...
 
Houston UiPath Community - Document Understanding Solution Accelerators
Houston UiPath Community - Document Understanding Solution AcceleratorsHouston UiPath Community - Document Understanding Solution Accelerators
Houston UiPath Community - Document Understanding Solution Accelerators
 
It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready? It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready?
 
You already have an LxP, you just don't know it
You already have an LxP, you just don't know itYou already have an LxP, you just don't know it
You already have an LxP, you just don't know it
 
Drafthorse by Luxus
Drafthorse by LuxusDrafthorse by Luxus
Drafthorse by Luxus
 
Scrum day scaled agile - wolfgang hilpert - sascha gessler
Scrum day   scaled agile - wolfgang hilpert - sascha gesslerScrum day   scaled agile - wolfgang hilpert - sascha gessler
Scrum day scaled agile - wolfgang hilpert - sascha gessler
 
SPS Atlanta - LNFY Case Study
SPS Atlanta - LNFY Case StudySPS Atlanta - LNFY Case Study
SPS Atlanta - LNFY Case Study
 
Atlassian User Group NYC 080818 event
Atlassian User Group NYC 080818 eventAtlassian User Group NYC 080818 event
Atlassian User Group NYC 080818 event
 
Building a Data-driven Marketplace
Building a Data-driven Marketplace Building a Data-driven Marketplace
Building a Data-driven Marketplace
 
AI Orange Belt - Session 3
AI Orange Belt - Session 3AI Orange Belt - Session 3
AI Orange Belt - Session 3
 
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...
Mind the Gap: Bridging the Divide Between the Business and Agile/DevOps Teams...
 
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness Session
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness SessionCosta Rica RPA and AI Hackathon 2023 Hackathon Awareness Session
Costa Rica RPA and AI Hackathon 2023 Hackathon Awareness Session
 
Intro to Product Management by Trunk Club Product Manager
Intro to Product Management by Trunk Club Product ManagerIntro to Product Management by Trunk Club Product Manager
Intro to Product Management by Trunk Club Product Manager
 
Knowledge Management for 2018
Knowledge Management for 2018Knowledge Management for 2018
Knowledge Management for 2018
 
IT Strategy: Aligning IT and the Business
IT Strategy: Aligning IT and the BusinessIT Strategy: Aligning IT and the Business
IT Strategy: Aligning IT and the Business
 

Recently uploaded

LPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business SectorLPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business Sectorthomas851723
 
Fifteenth Finance Commission Presentation
Fifteenth Finance Commission PresentationFifteenth Finance Commission Presentation
Fifteenth Finance Commission Presentationmintusiprd
 
CEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyCEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyHafizMuhammadAbdulla5
 
Reflecting, turning experience into insight
Reflecting, turning experience into insightReflecting, turning experience into insight
Reflecting, turning experience into insightWayne Abrahams
 
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...Pooja Nehwal
 
LPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations ReviewLPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations Reviewthomas851723
 
Introduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-EngineeringIntroduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-Engineeringthomas851723
 
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...AgileNetwork
 
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Roomdivyansh0kumar0
 
Board Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch PresentationBoard Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch Presentationcraig524401
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampPLCLeadershipDevelop
 
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceanilsa9823
 
crisiscommunication-presentation in crisis management.pptx
crisiscommunication-presentation in crisis management.pptxcrisiscommunication-presentation in crisis management.pptx
crisiscommunication-presentation in crisis management.pptxSamahhassan30
 

Recently uploaded (17)

LPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business SectorLPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business Sector
 
Fifteenth Finance Commission Presentation
Fifteenth Finance Commission PresentationFifteenth Finance Commission Presentation
Fifteenth Finance Commission Presentation
 
CEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyCEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biography
 
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Servicesauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
 
Reflecting, turning experience into insight
Reflecting, turning experience into insightReflecting, turning experience into insight
Reflecting, turning experience into insight
 
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...
Pooja Mehta 9167673311, Trusted Call Girls In NAVI MUMBAI Cash On Payment , V...
 
LPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations ReviewLPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations Review
 
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Introduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-EngineeringIntroduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-Engineering
 
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
 
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
 
Becoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette ThompsonBecoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette Thompson
 
Board Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch PresentationBoard Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch Presentation
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC Bootcamp
 
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICECall Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICE
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
 
crisiscommunication-presentation in crisis management.pptx
crisiscommunication-presentation in crisis management.pptxcrisiscommunication-presentation in crisis management.pptx
crisiscommunication-presentation in crisis management.pptx
 

How to f*ck up your development team with microservices

  • 1. How to f*ck up your Development Team with Microservices Learnings about the Do’s and Don’ts of microservices that may save your project and development team Stephan Schulze | 26th October 2018
  • 3. Project A - The operational VC We empower tomorrow’s digital winners - www.project-a.com The fund: 260mio Assets under management The people: 100 hands-on professionals 3 Stephan Schulze | 26th October 2018
  • 4. Agenda Teams 3 Scalability 4 4 Stephan Schulze | 26th October 2018 Introduction and Learnings1 Complexity 2
  • 5. Disclaimer It is not all bad! 5 Stephan Schulze | 26th October 2018
  • 6. The History Where are the learnings coming from? 6 Stephan Schulze | 26th October 2018
  • 7. Highlevel Overview 7 Stephan Schulze | 26th October 2018 Stock & Availabilities Saleschannel 1 Saleschannel 2 Saleschannel 3 ... Routing Service Content. Service Car Service Product Service Stock Service Price Service Search Service Styleguide Service Log Service Core Service Checkout Service Order Service Customer Service Email Service Calculation Service Payment Service ERP-Conn. Service Backoffice PDM Pricing ERP Sales Order Hub Logistics Finance Payment Provider
  • 8. More Details 8 Stephan Schulze | 26th October 2018 Example Service ApplicationWebserver Caching Queueing Storage StorageEC2 EC2 EC2 EC2 Managed Elasticsearch Managed Database (RDS) EC2
  • 9. Some statistics 9 Stephan Schulze | 26th October 2018 up to 44 Devs & DevOps & PM for 2 years ~ 12k files > 65 GitHub Repositories > 3 mio Lines of Code in Java, PHP and Python 10 live running Environments 17 Services in production on an AWS / K8s stack
  • 10. Major Learnings 10 Stephan Schulze | 26th October 2018
  • 11. Learning 1 11 Stephan Schulze | 26th October 2018 You will underestimate the complexity and so effort!
  • 12. Learning 2 12 Stephan Schulze | 26th October 2018 Microservices foster isolation!
  • 13. Learning 3 13 Stephan Schulze | 26th October 2018 Scaling has a price!
  • 15. 15 Stephan Schulze | 26th October 2018 Screenshot from: https://de.slideshare.net/AmazonWebServices/data-design-for-microservices What about: - Security? - Local Development? - Testing? … - People? Infrastructure Application Infrastructure
  • 16. Complexity is never mentioned 16 Stephan Schulze | 26th October 2018 Why? Because it is hard to explain and to understand!
  • 17. Example 1 - Deployments Things to consider 17 Stephan Schulze | 26th October 2018 ▪ How do you deploy? ▪ How do you rollback? ▪ Two different versions of the same service at the same time ▪ Database migrations must always be backwards compatible ▪ Does somebody may still use the API you are going to remove? Should the deployment fail in that case? ▪ How do you know, which service version set is currently in production?
  • 18. Example 2 - Versioning Things to consider 18 Stephan Schulze | 26th October 2018 ▪ How do you version your Services? ▪ What is a stable constellation of Service Versions? ▪ Do you have versioned APIs and Dataformats? Is there a difference between Service Versions and API/Dataformat Versions? ▪ Is it possible to support two or more API/Dataformat Versions in parallel? ▪ Does somebody may still use the Version of the API you are going to remove? How do you find that out?
  • 19. Example 3 - Monitoring Things to consider 19 Stephan Schulze | 26th October 2018 ▪ How do you get an overall system health state? ▪ How do you aggregate logs of different services? ▪ How do you identify a service in the logs? ▪ What calls did one service trigger on other services? ▪ How is your runtime environment doing? ▪ ... Who is looking at all of this?
  • 20. Example 4 - Local Dev Things to consider 20 Stephan Schulze | 26th October 2018 ▪ Can you run the stack on your local machine? ▪ What is the Developer experience? ▪ How do you debug? ▪ How do you know what data is exchanged between the services → especially in a multilanguage stack? ▪ ...
  • 21. Don’t forget: 21 Stephan Schulze | 26th October 2018 1. No business logic yet! 2. This is all per language you use!
  • 22. Agenda Introduction and Learnings 1 Scalability 4 22 Stephan Schulze | 26th October 2018 Teams3 Complexity 2
  • 23. Assumption: All infrastructure is up and running! 23 Stephan Schulze | 26th October 2018
  • 24. So let us speak about Teams! 24 Stephan Schulze | 26th October 2018
  • 25. Our Teamsetup 25 Stephan Schulze | 26th October 2018 Catalog Team Customer Experience Team ▪ 1x PM/PO ▪ 4x PHP ▪ 3x Java ▪ 1x PM/PO ▪ 4x PHP ▪ 2x Java Content. Service Car Service Product Service Stock Service Price Service Search Service Core Service Routing Service Customer Service Log Service Checkout Service Order Service Email Service Calculation Service Payment Service ERP-Conn. Service Cross Functional Teams - responsible for Services divided by business domain ▪ 1x FE ▪ 1x QA ▪ 1x DevOp ▪ 1x FE ▪ 1x QA ▪ 1x DevOp Teams are minimal dependent. They have their own responsibilities and processes.
  • 26. Observations - 1 Technical site 26 Stephan Schulze | 26th October 2018 ▪ Members where partially overwhelmed by complexity of stack and architecture ▪ Overall system architecture knowledge got lost over time and when system grew ▪ Developer often don’t care about infrastructure layers ▪ Cross Language Knowledge Exchange was rarely happening
  • 27. Observations - 2 Communication site 27 Stephan Schulze | 26th October 2018 ▪ The teams worked next to each other but not with each other ▪ Members tend to stay with their service only (voluntary or because just nobody else was available) ▪ Members became isolated because nobody else knew their domain and partially also their language (especially Java Devs during vacation time) ▪ Cross Team / Cross Language Communication got lost
  • 28. Frustration 28 Stephan Schulze | 26th October 2018 As one result!
  • 29. Slowness 29 Stephan Schulze | 26th October 2018 As another result!
  • 30. Lethargy 30 Stephan Schulze | 26th October 2018 As a third result!
  • 31. 31 Stephan Schulze | 26th October 2018
  • 32. What went wrong? 32 Stephan Schulze | 26th October 2018
  • 33. The f*ck up part A summary 33 Stephan Schulze | 26th October 2018 Strong imbalance in teams ▪ one quiet vs. one communicative Team ▪ Wrong assumptions about what need to be really done in teams and services ▪ To less PM Power ▪ To less Management Power to address this the right way
  • 34. You should know before 34 Stephan Schulze | 26th October 2018
  • 35. Questions to ask Regarding Teamsetup 35 Stephan Schulze | 26th October 2018 ▪ Do I have enough people power? ▪ What defines a Team? TechStack/Skillset, Business Domain, Personality? ▪ Should I have Cross-Functional teams or clearly separated by function? For each potential approach you should also check: ▪ Is there enough to do the whole time? ▪ Can I keep the speed of development? ▪ Is time and/or potential wasted? ▪ How will global topics be handled (e.g. Architecture, Infrastructure, etc.)?
  • 36. Agenda Introduction and Learnings 1 Teams 3 36 Stephan Schulze | 26th October 2018 Scalability4 Complexity 2
  • 37. Scalability What to take care of 37 Stephan Schulze | 26th October 2018 ▪ In general: Microservices and development scale But: ▪ Each Microservice must also be build to scale ▪ The Infrastructure and Application Layer must be build to scale ▪ The teams must scale Finally: The organization itself must scale
  • 38. “organisations which radically change their system design should expect changes in communication structure” 38 Stephan Schulze | 26th October 2018 This will finally also change the organization structure itself! Roy van Rijn
  • 39. Thank you for listening. Time for questions