SlideShare a Scribd company logo
Keynote - From Monolith to Microservices - Lessons Learned in the Real World
From Monolith to Microservices:
Lessons Learned in the Real World
Alon Fliess
Chief Software Architect
alonf@codevalue.net
@alon_fliess
https://alonfliess.me
Eran Stiller
Chief Technology Officer
erans@codevalue.net
@eranstiller
https://stiller.blog
Agenda
▪ The Hype of Microservices
▪ Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
▪ Q&A
7
About Us
8
Alon Fliess (@alon_fliess)
▪ Chief Architect & Founder - CodeValue & OzCode
▪ Microsoft Regional Director & Azure MVP
▪ Lead software analysis, architecture and design
▪ Lead analysis workshops
Eran Stiller (@eranstiller)
▪ CTO & Founder at CodeValue
▪ Software architect, consultant and instructor
▪ Microsoft Regional Director & Azure MVP
▪ Founder of Azure Israel Meetup
The Hype of Microservices
9
10
MSA Evolution
Micro Service Architecture
▪Some principles:
▪A micro service should be less then 100 lines of code
▪ 100 is just a number that emphasizes: small
▪ Usually can be developed in one scrum sprint
▪ It should be easy to understand, fast to deploy, and cheap to
reimplement (throw the old one)
▪A micro service should be independently developed & deployed
▪A micro service should has private data ownership
▪Eventual Consistency
▪Versioning
MSA – Accessing Data
Consistency
PartitioningAvailability
CAP Theorem
Eventual consistency
“The value across all nodes will be consistent with the last update that was made -- eventually”
The sunlight that you see indicates that the sun was still
there eight minutes ago!
▪ When you see in a shopping site that a product is available, is it?
▪ Handling eventually consistency is not easy
The Hype of Microservices
15
Lessons Learned in the
Real World
16
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
17
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
18
Why Move to Microservices?
19
Answer #1 – It’s Cool!
20
Answer #2 – It’s Easier/Faster
21
There is a Learning Curve…
22
Answer #3 - Scale
23
Answer #4 - Agility
24
Do It for the Right Reasons
▪ Don’t make the transition because:
▪ Microservices are cool
▪ Microservices are easier or faster to develop
▪ Do make the transition because:
▪ When done right, it can scale better
▪ When done right, it makes the development more agile
25
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
26
Evolution or Revolution, That Is the Question!
27
http://cdaworldhistory.wikidot.com/europe-faces-revolutionshttps://commons.wikimedia.org/wiki/File:Human_evolution.svg
Case Study – Breaking the Monolith (Evolution)
28
A large scale
multitenant
trading
system
Case Study – Rewrite (Revolution)
29
https://www.flickr.com/photos/meyyappan_tirupur/9498661067
An old advanced
2D/3D CAD MFC
based application
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
30
DevOps
31
If I have to give you one piece of advice,
DevOps would be it.
What is DevOps?
32
Taken from https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
Main DevOps Practices
Dev/Commit Unit-Tests
Integration-
Tests
33
Continuous Integration
Dev/Commit Unit-Tests
Integration-
Tests
Acceptance
Tests
Continuous Delivery
Dev/Commit Unit-Tests
Integration-
Tests
Acceptance
Tests
Production
Continuous Deployment
How Agile is Agile?
34
Source: “Accelerate: State of DevOps 2018 Report”
https://cloudplatformonline.com/2018-state-of-devops.html
Automation is King
35
Source: “Accelerate: State of DevOps 2018 Report”
https://cloudplatformonline.com/2018-state-of-devops.html
Spend More Time on New Work
37
Source: “Accelerate: State of DevOps 2018 Report”
https://cloudplatformonline.com/2018-state-of-devops.html
DevOps is Key
38
Source: “Accelerate: State of DevOps 2018 Report”
https://cloudplatformonline.com/2018-state-of-devops.html
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
39
Steep Technology Learning Curve
▪ Microservices ≠ new programming language
▪ A .Net shop company wanted to move to node.js
▪ They’ve heard that this is the right way for MSA
▪ We convinced them to move to .NET Core
▪ They still needed to learn a lot: Architecture, Docker, K8S, …
40
Wind of Change
▪ Sometimes it is an opportunity
▪ If the new UI technology stack is a Web based,
node.js in the service side makes sense
▪ Utilizing a better technology for a microservice is
an advantage
▪ Conclusion:
▪ Do what is best to your organization culture
▪ Take into account that you must plan an
education phase
▪ Moving to MSA is a chance to make some
technological progress
41
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
42
Microservices Are NOT the Wild West…
43
Microservices Are NOT the Wild West…
▪ Common examples include:
▪ “Let’s just start and add services as required”
▪ “Services can arbitrarily call each other”
▪ “Let’s just throw the old code away”
▪ “The transition to Microservices is a strictly technical issue”
44
Microservices Need to be Governed
▪ Microservices, like Monoliths, start with good intentions
▪ Both become convoluted over time when not properly governed
▪ And then you’re back in square one, but this time with a distributed system
45
Microservices Architecture
46
Lessons Learned in the Real World
▪ Do It for the Rights Reasons
▪ Evolution or Revolution, That Is the Question!
▪ DevOps, Organizational Change & Culture Change
▪ Steep Technology Learning Curve
▪ No Anarchy
▪ Learn the Essence of What Is Microservices
47
Learn the Essence of What Is Microservices
▪ A new system that is based on an MSA
▪ Many small services that
▪ Use Kafka to path messages
▪ the message schema is shared among the services
▪ A single DB schema served all microservices
▪ Use k8s to host and monitor single service instances for robustness
▪ The result – The Microservice monolith
▪ Apply a fix:
▪ Break the shared schema to each service and use versioning
▪ Break the DB to many DBs
▪ Remove the state from the service to allow many instances
▪ Decide when it is right to use Kafka and when other mechanisms are preferred
48
Summary
49
MSA – The hype and the reasons
▪ It’s a fashion, it’s the future, it’s cool!!!
▪ It’s software engineering’s ultimate goal
▪ Low Coupling and High Cohesion for free !?
▪ We all want to:
▪ Develop in a faster cadence
▪ Deploy any feature as soon as its finished
▪ Have the ability to immediately rollback
▪ Have versioning independent code
▪ Have abilities to monitor our system and conduct a canary or A-B testing
▪ But does it is really come for free?
50
Takeaways
▪ MSA – extreme low coupling and high cohesion
▪ With cost and responsibility
▪ Do it right or don’t
▪ Use infrastructure and tools
▪ Decide whether to migrate (evolution) or restart (revolution)
▪ Consider the learning curve
▪ Architecture, technology, DevOps
▪ It is not just a technology change – it is a major culture change
▪ Goes very well with the agile methodology
51
Takeaways
52
Alon Fliess
Chief Software Architect
alonf@codevalue.net
@alon_fliess
http://alonfliess.me
Eran Stiller
Chief Technology Officer
erans@codevalue.net
@eranstiller
https://stiller.blog

More Related Content

What's hot (20)

PPTX
How Do We Better Sell DevOps? - PuppetConf 2013
Puppet
 
PDF
Learn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLife
Docker, Inc.
 
PDF
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Łukasz Wrześniewski
 
PPTX
DevOps Days Ohio
Kelly Looney
 
PDF
Dockercon USA 2016 - Immutable Awesomeness
John Willis
 
PPTX
Implementing DevOps In Practice
Zoltán Németh
 
PDF
Effective DevOps by Agile and Enterprise Architecture
Łukasz Wrześniewski
 
PDF
Devops: A History
Nell Shamrell-Harrington
 
PDF
Agile frameworks: the why, how and what
Sander Goudswaard
 
PPTX
Expanding Pockets of DevOps Greatness
XebiaLabs
 
PPTX
About Motivation in DevOps Culture
DreamLab
 
PDF
Ship Faster Without Breaking Everything - XebiaLabs + SaltStack Webinar
XebiaLabs
 
PPTX
Baltic PM Days 2014 - Agile in Public Procurement Projects
Alexey Kovalyov
 
PPTX
The biggest DevOps problems you didn't know you had and what to do about them
Wayne Greene
 
PPTX
Five Ways to QuickStart a Digital Transformation Project
DevOps.com
 
PPTX
DevOps 101
Ernest Mueller
 
PDF
Turning Human Capital into High Performance Organizational Capital
John Willis
 
PDF
Microservices: The Organizational and People Impact
Ambassador Labs
 
PDF
Agile Public Procurement in Lithuania
Alexey Kovalyov
 
PPT
What the Fuck is DevOps?
James Turnbull
 
How Do We Better Sell DevOps? - PuppetConf 2013
Puppet
 
Learn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLife
Docker, Inc.
 
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Łukasz Wrześniewski
 
DevOps Days Ohio
Kelly Looney
 
Dockercon USA 2016 - Immutable Awesomeness
John Willis
 
Implementing DevOps In Practice
Zoltán Németh
 
Effective DevOps by Agile and Enterprise Architecture
Łukasz Wrześniewski
 
Devops: A History
Nell Shamrell-Harrington
 
Agile frameworks: the why, how and what
Sander Goudswaard
 
Expanding Pockets of DevOps Greatness
XebiaLabs
 
About Motivation in DevOps Culture
DreamLab
 
Ship Faster Without Breaking Everything - XebiaLabs + SaltStack Webinar
XebiaLabs
 
Baltic PM Days 2014 - Agile in Public Procurement Projects
Alexey Kovalyov
 
The biggest DevOps problems you didn't know you had and what to do about them
Wayne Greene
 
Five Ways to QuickStart a Digital Transformation Project
DevOps.com
 
DevOps 101
Ernest Mueller
 
Turning Human Capital into High Performance Organizational Capital
John Willis
 
Microservices: The Organizational and People Impact
Ambassador Labs
 
Agile Public Procurement in Lithuania
Alexey Kovalyov
 
What the Fuck is DevOps?
James Turnbull
 

Similar to Keynote - From Monolith to Microservices - Lessons Learned in the Real World (20)

PDF
6 Lessons I Learned on my Journey from Monolith to Microservices
Eran Stiller
 
PPTX
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
PDF
Mucon microservices and innovation
Gawain Hammond
 
PPTX
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
PPTX
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
PPTX
Think Big - Build Small
Iraklis Alexopoulos
 
PDF
The Case Against Microservices
aledsage
 
PPTX
Pragmatic Microservices
Randy Shoup
 
PPTX
Microservices: Lessons from the Trenches
Gregory Beamer
 
PDF
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen
 
PDF
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
NETFest
 
PDF
From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen
 
PDF
Nir Doboviski: In Space No One Can Hear Microservices Scream – a Microservice...
CodeValue
 
PDF
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Sequoia Capital
 
PDF
Microservices for Mortals
Bert Ertman
 
PDF
Microservices for Mortals by Bert Ertman at Codemotion Dubai
Codemotion Dubai
 
PDF
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Daniel Bryant
 
PDF
A Decade of Microservices
Ruman Khan
 
PDF
From Monoliths to Microservices at Realestate.com.au
evanbottcher
 
PDF
Introduction to Microservices Architecture - SECCOMP 2020
Rodrigo Antonialli
 
6 Lessons I Learned on my Journey from Monolith to Microservices
Eran Stiller
 
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
Mucon microservices and innovation
Gawain Hammond
 
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
Think Big - Build Small
Iraklis Alexopoulos
 
The Case Against Microservices
aledsage
 
Pragmatic Microservices
Randy Shoup
 
Microservices: Lessons from the Trenches
Gregory Beamer
 
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen
 
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
NETFest
 
From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen
 
Nir Doboviski: In Space No One Can Hear Microservices Scream – a Microservice...
CodeValue
 
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Sequoia Capital
 
Microservices for Mortals
Bert Ertman
 
Microservices for Mortals by Bert Ertman at Codemotion Dubai
Codemotion Dubai
 
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Daniel Bryant
 
A Decade of Microservices
Ruman Khan
 
From Monoliths to Microservices at Realestate.com.au
evanbottcher
 
Introduction to Microservices Architecture - SECCOMP 2020
Rodrigo Antonialli
 
Ad

More from Eran Stiller (20)

PDF
Architecting at Scale with the Advice Process
Eran Stiller
 
PDF
Application Evolution Strategy
Eran Stiller
 
PDF
Developing and Deploying Microservices with Project Tye
Eran Stiller
 
PDF
API Design in the Modern Era - Architecture Next 2020
Eran Stiller
 
PDF
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Eran Stiller
 
PDF
Why Don’t You Understand Me? Build Intelligence into Your Apps
Eran Stiller
 
PPTX
Modern Microservices Architecture with Docker
Eran Stiller
 
PDF
Windows Containers - Microsoft Ignite The Tour
Eran Stiller
 
PDF
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Eran Stiller
 
PDF
Bot Framework - Microsoft Ignite The Tour
Eran Stiller
 
PDF
It's a Serverless World
Eran Stiller
 
PPTX
Architecting a Serverless IoT System in the Cloud
Eran Stiller
 
PPTX
IoT in Action Keynote - CodeValue
Eran Stiller
 
PDF
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Eran Stiller
 
PPTX
Create Your Own Serverless PKI with .NET & Azure Key Vault
Eran Stiller
 
PPTX
Cloud Native Development on Azure
Eran Stiller
 
PPTX
Today, the Cloud Is Your Advantage
Eran Stiller
 
PPTX
Build 2019 Recap
Eran Stiller
 
PDF
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Eran Stiller
 
PPTX
To Microservice or Not to Microservice?
Eran Stiller
 
Architecting at Scale with the Advice Process
Eran Stiller
 
Application Evolution Strategy
Eran Stiller
 
Developing and Deploying Microservices with Project Tye
Eran Stiller
 
API Design in the Modern Era - Architecture Next 2020
Eran Stiller
 
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Eran Stiller
 
Why Don’t You Understand Me? Build Intelligence into Your Apps
Eran Stiller
 
Modern Microservices Architecture with Docker
Eran Stiller
 
Windows Containers - Microsoft Ignite The Tour
Eran Stiller
 
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Eran Stiller
 
Bot Framework - Microsoft Ignite The Tour
Eran Stiller
 
It's a Serverless World
Eran Stiller
 
Architecting a Serverless IoT System in the Cloud
Eran Stiller
 
IoT in Action Keynote - CodeValue
Eran Stiller
 
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Eran Stiller
 
Create Your Own Serverless PKI with .NET & Azure Key Vault
Eran Stiller
 
Cloud Native Development on Azure
Eran Stiller
 
Today, the Cloud Is Your Advantage
Eran Stiller
 
Build 2019 Recap
Eran Stiller
 
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Eran Stiller
 
To Microservice or Not to Microservice?
Eran Stiller
 
Ad

Recently uploaded (20)

PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 

Keynote - From Monolith to Microservices - Lessons Learned in the Real World

  • 2. From Monolith to Microservices: Lessons Learned in the Real World Alon Fliess Chief Software Architect [email protected] @alon_fliess https://alonfliess.me Eran Stiller Chief Technology Officer [email protected] @eranstiller https://stiller.blog
  • 3. Agenda ▪ The Hype of Microservices ▪ Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices ▪ Q&A 7
  • 4. About Us 8 Alon Fliess (@alon_fliess) ▪ Chief Architect & Founder - CodeValue & OzCode ▪ Microsoft Regional Director & Azure MVP ▪ Lead software analysis, architecture and design ▪ Lead analysis workshops Eran Stiller (@eranstiller) ▪ CTO & Founder at CodeValue ▪ Software architect, consultant and instructor ▪ Microsoft Regional Director & Azure MVP ▪ Founder of Azure Israel Meetup
  • 5. The Hype of Microservices 9
  • 6. 10
  • 8. Micro Service Architecture ▪Some principles: ▪A micro service should be less then 100 lines of code ▪ 100 is just a number that emphasizes: small ▪ Usually can be developed in one scrum sprint ▪ It should be easy to understand, fast to deploy, and cheap to reimplement (throw the old one) ▪A micro service should be independently developed & deployed ▪A micro service should has private data ownership ▪Eventual Consistency ▪Versioning
  • 9. MSA – Accessing Data Consistency PartitioningAvailability CAP Theorem
  • 10. Eventual consistency “The value across all nodes will be consistent with the last update that was made -- eventually” The sunlight that you see indicates that the sun was still there eight minutes ago! ▪ When you see in a shopping site that a product is available, is it? ▪ Handling eventually consistency is not easy
  • 11. The Hype of Microservices 15
  • 12. Lessons Learned in the Real World 16
  • 13. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 17
  • 14. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 18
  • 15. Why Move to Microservices? 19
  • 16. Answer #1 – It’s Cool! 20
  • 17. Answer #2 – It’s Easier/Faster 21
  • 18. There is a Learning Curve… 22
  • 19. Answer #3 - Scale 23
  • 20. Answer #4 - Agility 24
  • 21. Do It for the Right Reasons ▪ Don’t make the transition because: ▪ Microservices are cool ▪ Microservices are easier or faster to develop ▪ Do make the transition because: ▪ When done right, it can scale better ▪ When done right, it makes the development more agile 25
  • 22. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 26
  • 23. Evolution or Revolution, That Is the Question! 27 http://cdaworldhistory.wikidot.com/europe-faces-revolutionshttps://commons.wikimedia.org/wiki/File:Human_evolution.svg
  • 24. Case Study – Breaking the Monolith (Evolution) 28 A large scale multitenant trading system
  • 25. Case Study – Rewrite (Revolution) 29 https://www.flickr.com/photos/meyyappan_tirupur/9498661067 An old advanced 2D/3D CAD MFC based application
  • 26. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 30
  • 27. DevOps 31 If I have to give you one piece of advice, DevOps would be it.
  • 28. What is DevOps? 32 Taken from https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  • 29. Main DevOps Practices Dev/Commit Unit-Tests Integration- Tests 33 Continuous Integration Dev/Commit Unit-Tests Integration- Tests Acceptance Tests Continuous Delivery Dev/Commit Unit-Tests Integration- Tests Acceptance Tests Production Continuous Deployment
  • 30. How Agile is Agile? 34 Source: “Accelerate: State of DevOps 2018 Report” https://cloudplatformonline.com/2018-state-of-devops.html
  • 31. Automation is King 35 Source: “Accelerate: State of DevOps 2018 Report” https://cloudplatformonline.com/2018-state-of-devops.html
  • 32. Spend More Time on New Work 37 Source: “Accelerate: State of DevOps 2018 Report” https://cloudplatformonline.com/2018-state-of-devops.html
  • 33. DevOps is Key 38 Source: “Accelerate: State of DevOps 2018 Report” https://cloudplatformonline.com/2018-state-of-devops.html
  • 34. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 39
  • 35. Steep Technology Learning Curve ▪ Microservices ≠ new programming language ▪ A .Net shop company wanted to move to node.js ▪ They’ve heard that this is the right way for MSA ▪ We convinced them to move to .NET Core ▪ They still needed to learn a lot: Architecture, Docker, K8S, … 40
  • 36. Wind of Change ▪ Sometimes it is an opportunity ▪ If the new UI technology stack is a Web based, node.js in the service side makes sense ▪ Utilizing a better technology for a microservice is an advantage ▪ Conclusion: ▪ Do what is best to your organization culture ▪ Take into account that you must plan an education phase ▪ Moving to MSA is a chance to make some technological progress 41
  • 37. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 42
  • 38. Microservices Are NOT the Wild West… 43
  • 39. Microservices Are NOT the Wild West… ▪ Common examples include: ▪ “Let’s just start and add services as required” ▪ “Services can arbitrarily call each other” ▪ “Let’s just throw the old code away” ▪ “The transition to Microservices is a strictly technical issue” 44
  • 40. Microservices Need to be Governed ▪ Microservices, like Monoliths, start with good intentions ▪ Both become convoluted over time when not properly governed ▪ And then you’re back in square one, but this time with a distributed system 45
  • 42. Lessons Learned in the Real World ▪ Do It for the Rights Reasons ▪ Evolution or Revolution, That Is the Question! ▪ DevOps, Organizational Change & Culture Change ▪ Steep Technology Learning Curve ▪ No Anarchy ▪ Learn the Essence of What Is Microservices 47
  • 43. Learn the Essence of What Is Microservices ▪ A new system that is based on an MSA ▪ Many small services that ▪ Use Kafka to path messages ▪ the message schema is shared among the services ▪ A single DB schema served all microservices ▪ Use k8s to host and monitor single service instances for robustness ▪ The result – The Microservice monolith ▪ Apply a fix: ▪ Break the shared schema to each service and use versioning ▪ Break the DB to many DBs ▪ Remove the state from the service to allow many instances ▪ Decide when it is right to use Kafka and when other mechanisms are preferred 48
  • 45. MSA – The hype and the reasons ▪ It’s a fashion, it’s the future, it’s cool!!! ▪ It’s software engineering’s ultimate goal ▪ Low Coupling and High Cohesion for free !? ▪ We all want to: ▪ Develop in a faster cadence ▪ Deploy any feature as soon as its finished ▪ Have the ability to immediately rollback ▪ Have versioning independent code ▪ Have abilities to monitor our system and conduct a canary or A-B testing ▪ But does it is really come for free? 50
  • 46. Takeaways ▪ MSA – extreme low coupling and high cohesion ▪ With cost and responsibility ▪ Do it right or don’t ▪ Use infrastructure and tools ▪ Decide whether to migrate (evolution) or restart (revolution) ▪ Consider the learning curve ▪ Architecture, technology, DevOps ▪ It is not just a technology change – it is a major culture change ▪ Goes very well with the agile methodology 51
  • 48. Alon Fliess Chief Software Architect [email protected] @alon_fliess http://alonfliess.me Eran Stiller Chief Technology Officer [email protected] @eranstiller https://stiller.blog