SlideShare a Scribd company logo
MILAN 20/21.11.2015
Thiyagu Palanisamy - ThoughtWorks
Designing Microservices based systems
MILAN 20/21.11.2015 - Thiyagu Palanisamy
What is microservice?
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Loosely coupled service oriented architecture with bounded contexts
-Adrian Cockcroft
Monolith Microservice
MILAN 20/21.11.2015 - Thiyagu Palanisamy
ESB
SOA?
Microservices
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Characteristics of Microservice
1. Componentization via Services
2. Organized around Business Capabilities
3. Products not Projects
4. Smart endpoints and dumb pipes
5. Decentralized Governance
6. Decentralized Data Management
7. Infrastructure Automation
8. Design for failure
9. Evolutionary Design
http://martinfowler.com/articles/microservices.html
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Why Microservices?
MILAN 20/21.11.2015 - Thiyagu Palanisamy
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3610582
http://tamai-lab.ws.hosei.ac.jp/pub/icsm92.pdf
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Accelerated growth of
technology is disrupting
businesses
https://en.wikipedia.org/wiki/The_Singularity_Is_Near
MILAN 20/21.11.2015 - Thiyagu Palanisamy
should be cheap to replace
gives flexibility to experiment
allows you to go as fast as possible
needs on systems
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Divide & Conquer
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Designing Microservices
MILAN 20/21.11.2015 - Thiyagu Palanisamy
organizations which design systems ... are constrained to produce designs which
are copies of the communication structures of these organizations
Conway's law 1967
MILAN 20/21.11.2015 - Thiyagu Palanisamy
MILAN 20/21.11.2015 - Thiyagu Palanisamy
smaller services based on functional & non functional needs
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Catalog
Product Payment
Price trend
Aggregated
little outdated ok
No delay
Append only
Async
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Understand Domain - Organise around business capabilities
Price Cost
Article Replenishment
Assortment
don’t repeat yourself
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Cost
Gross Cost
Supplier Discounts
Net Cost
Transportation Cost
Packaging Cost
Recycling Tax
IVA
Net Net Cost
…
single responsibility principlebounded context
Supplier Cost
Gross Cost
Supplier Discounts
Net Cost
Operational Cost
Transportation Cost
Packaging Cost
Recycling Tax
Gross Cost
Supplier Discounts
Logistics Cost
Invoice Discounts
Volume Discounts
Transportation Cost
Packaging Cost
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Tell-Don't-Ask
Discounts (Total)
Volume Discounts
Invoice Discounts
Supplier Discounts
Invoice Discounts
Volume Discounts
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Cohesion & Coupling
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Evolutionary Design
MILAN 20/21.11.2015 - Thiyagu Palanisamy
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Java, the Unix way
james lewis
in 2012
MILAN 20/21.11.2015 - Thiyagu Palanisamy
This is the Unix philosophy - Write programs that do one thing and do it well.
Write programs to work together. Write programs to handle text streams,
because that is a universal interface
Doug McIlroy
ps aux | grep conky | grep -v grep | awk '{print $2}' | xargs kill
MILAN 20/21.11.2015 - Thiyagu Palanisamy
• Modularity - simple parts connected by well defined interfaces
• Clarity - most important communication is to the developer
• Composition - design programs to be connected to other programs
• Separation - separate the mechanisms of the programs from the policies
• Simplicity - small, straightforward cooperating pieces
• Parsimony - avoid writing big programs
• Transparency - design for visibility and discoverability
• Robustness - robustness is the child of transparency and simplicity
• Representation - easier to understand complex data than complex logic
• Least Surprise - build intuitive products that are easy to use
• Silence - do not print unnecessary output
• Repair - fail in a manner that is easy to localize and diagnose
• Economy - value developer time over machine time
• Generation - write abstract high-level programs that generate code
• Optimization - prototype software before polishing it
• Diversity - programs to be flexible and open
• Extensibility - design for the future by making their protocols extensible
Eric Raymond’s 17 Unix Rules
MILAN 20/21.11.2015 - Thiyagu Palanisamy
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Rapid provisioning
Basic Monitoring
Rapid application deployment
MILAN 20/21.11.2015 - Thiyagu Palanisamy
http://martinfowler.com/microservices
https://www.thoughtworks.com/radar
MILAN 20/21.11.2015
Thiyagu Palanisamy
ThoughtWorks
hint - size of μs
Questions?
MILAN 20/21.11.2015 - Thiyagu Palanisamy
Leave your feedback on Joind.in!
https://m.joind.in/event/codemotion-milan-2015

More Related Content

PPTX
Day Zero in a Cloud Project | Radu VUnvulea
PDF
Principles of microservices velocity
PPTX
Do you need microservices architecture?
PPTX
The Agile Roots of Microservices
PPTX
Microservice Architecture
PDF
CWIN17 Utrecht / cg u services - frank van der wal
PDF
[WSO2 Integration Summit New York 2019] Cloud Native Integrations for the Ent...
PDF
Introduction to Microservices
Day Zero in a Cloud Project | Radu VUnvulea
Principles of microservices velocity
Do you need microservices architecture?
The Agile Roots of Microservices
Microservice Architecture
CWIN17 Utrecht / cg u services - frank van der wal
[WSO2 Integration Summit New York 2019] Cloud Native Integrations for the Ent...
Introduction to Microservices

Similar to Thiyagu Palanisamy - Designing Microservices based systems | Codemotion Milan 2015 (20)

PPTX
Micro Front-End & Microservices - Plansoft
PPTX
MuleSoft Meetup Adelaide 7th April 2021
PDF
Microservices.pdf
PDF
Democratize Observability with Software Defined Packet Brokers
PDF
Introduction to Microservices Architecture - SECCOMP 2020
PDF
Things I wish I'd known before I started with Microservices - Software Circus...
PPTX
BATbern55 How can TWINT be agile in an inert ecosystem?
PDF
Mule soft meetup Houston 16
PPTX
Unit No. II Architecture.pptx Cloud Microservices & Application
PPT
Present 2005 1014
PPTX
Introduction to microservices
PDF
FEVR - Micro Frontend
PDF
Architecting Cloud Native Applications
PPTX
TechEvent Agile infrastructure projects
PDF
[WSO2 Integration Summit Milan 2019] Microservices and Container Based Archit...
PDF
Mark Schroeder - Considering APIs?
PPTX
Oracle Commerce as a Secure, Scalable Hybrid Cloud Service, webinar slides
PPSX
Microservices Architecture, Monolith Migration Patterns
PPTX
from shadow IT to empowered IT-asanka 2014 08-gartner catalyst
PPTX
From Shadow IT to Empowered IT: Unshackling Your Developers’ Creativity!
Micro Front-End & Microservices - Plansoft
MuleSoft Meetup Adelaide 7th April 2021
Microservices.pdf
Democratize Observability with Software Defined Packet Brokers
Introduction to Microservices Architecture - SECCOMP 2020
Things I wish I'd known before I started with Microservices - Software Circus...
BATbern55 How can TWINT be agile in an inert ecosystem?
Mule soft meetup Houston 16
Unit No. II Architecture.pptx Cloud Microservices & Application
Present 2005 1014
Introduction to microservices
FEVR - Micro Frontend
Architecting Cloud Native Applications
TechEvent Agile infrastructure projects
[WSO2 Integration Summit Milan 2019] Microservices and Container Based Archit...
Mark Schroeder - Considering APIs?
Oracle Commerce as a Secure, Scalable Hybrid Cloud Service, webinar slides
Microservices Architecture, Monolith Migration Patterns
from shadow IT to empowered IT-asanka 2014 08-gartner catalyst
From Shadow IT to Empowered IT: Unshackling Your Developers’ Creativity!
Ad

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Ad

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Cloud computing and distributed systems.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Cloud computing and distributed systems.
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx

Thiyagu Palanisamy - Designing Microservices based systems | Codemotion Milan 2015

  • 1. MILAN 20/21.11.2015 Thiyagu Palanisamy - ThoughtWorks Designing Microservices based systems
  • 2. MILAN 20/21.11.2015 - Thiyagu Palanisamy What is microservice?
  • 3. MILAN 20/21.11.2015 - Thiyagu Palanisamy Loosely coupled service oriented architecture with bounded contexts -Adrian Cockcroft Monolith Microservice
  • 4. MILAN 20/21.11.2015 - Thiyagu Palanisamy ESB SOA? Microservices
  • 5. MILAN 20/21.11.2015 - Thiyagu Palanisamy Characteristics of Microservice 1. Componentization via Services 2. Organized around Business Capabilities 3. Products not Projects 4. Smart endpoints and dumb pipes 5. Decentralized Governance 6. Decentralized Data Management 7. Infrastructure Automation 8. Design for failure 9. Evolutionary Design http://martinfowler.com/articles/microservices.html
  • 6. MILAN 20/21.11.2015 - Thiyagu Palanisamy Why Microservices?
  • 7. MILAN 20/21.11.2015 - Thiyagu Palanisamy http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3610582 http://tamai-lab.ws.hosei.ac.jp/pub/icsm92.pdf
  • 8. MILAN 20/21.11.2015 - Thiyagu Palanisamy Accelerated growth of technology is disrupting businesses https://en.wikipedia.org/wiki/The_Singularity_Is_Near
  • 9. MILAN 20/21.11.2015 - Thiyagu Palanisamy should be cheap to replace gives flexibility to experiment allows you to go as fast as possible needs on systems
  • 10. MILAN 20/21.11.2015 - Thiyagu Palanisamy Divide & Conquer
  • 11. MILAN 20/21.11.2015 - Thiyagu Palanisamy Designing Microservices
  • 12. MILAN 20/21.11.2015 - Thiyagu Palanisamy organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations Conway's law 1967
  • 13. MILAN 20/21.11.2015 - Thiyagu Palanisamy
  • 14. MILAN 20/21.11.2015 - Thiyagu Palanisamy smaller services based on functional & non functional needs
  • 15. MILAN 20/21.11.2015 - Thiyagu Palanisamy Catalog Product Payment Price trend Aggregated little outdated ok No delay Append only Async
  • 16. MILAN 20/21.11.2015 - Thiyagu Palanisamy Understand Domain - Organise around business capabilities Price Cost Article Replenishment Assortment don’t repeat yourself
  • 17. MILAN 20/21.11.2015 - Thiyagu Palanisamy Cost Gross Cost Supplier Discounts Net Cost Transportation Cost Packaging Cost Recycling Tax IVA Net Net Cost … single responsibility principlebounded context Supplier Cost Gross Cost Supplier Discounts Net Cost Operational Cost Transportation Cost Packaging Cost Recycling Tax Gross Cost Supplier Discounts Logistics Cost Invoice Discounts Volume Discounts Transportation Cost Packaging Cost
  • 18. MILAN 20/21.11.2015 - Thiyagu Palanisamy Tell-Don't-Ask Discounts (Total) Volume Discounts Invoice Discounts Supplier Discounts Invoice Discounts Volume Discounts
  • 19. MILAN 20/21.11.2015 - Thiyagu Palanisamy Cohesion & Coupling
  • 20. MILAN 20/21.11.2015 - Thiyagu Palanisamy Evolutionary Design
  • 21. MILAN 20/21.11.2015 - Thiyagu Palanisamy
  • 22. MILAN 20/21.11.2015 - Thiyagu Palanisamy Java, the Unix way james lewis in 2012
  • 23. MILAN 20/21.11.2015 - Thiyagu Palanisamy This is the Unix philosophy - Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface Doug McIlroy ps aux | grep conky | grep -v grep | awk '{print $2}' | xargs kill
  • 24. MILAN 20/21.11.2015 - Thiyagu Palanisamy • Modularity - simple parts connected by well defined interfaces • Clarity - most important communication is to the developer • Composition - design programs to be connected to other programs • Separation - separate the mechanisms of the programs from the policies • Simplicity - small, straightforward cooperating pieces • Parsimony - avoid writing big programs • Transparency - design for visibility and discoverability • Robustness - robustness is the child of transparency and simplicity • Representation - easier to understand complex data than complex logic • Least Surprise - build intuitive products that are easy to use • Silence - do not print unnecessary output • Repair - fail in a manner that is easy to localize and diagnose • Economy - value developer time over machine time • Generation - write abstract high-level programs that generate code • Optimization - prototype software before polishing it • Diversity - programs to be flexible and open • Extensibility - design for the future by making their protocols extensible Eric Raymond’s 17 Unix Rules
  • 25. MILAN 20/21.11.2015 - Thiyagu Palanisamy
  • 26. MILAN 20/21.11.2015 - Thiyagu Palanisamy Rapid provisioning Basic Monitoring Rapid application deployment
  • 27. MILAN 20/21.11.2015 - Thiyagu Palanisamy http://martinfowler.com/microservices https://www.thoughtworks.com/radar
  • 29. MILAN 20/21.11.2015 - Thiyagu Palanisamy Leave your feedback on Joind.in! https://m.joind.in/event/codemotion-milan-2015