SlideShare a Scribd company logo

.NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith to Microservices

N
NETFest

For the past couple of years it seems that Microservices is all the rage. We want to use Microservices, we want to decompose into Microservices and we want Microservices to be a part of our world. While modern tools and platforms such as Docker, Kubernetes, Service Mesh and the public cloud help in implementing and maintaining such systems, the reality is that many fail even before the first line of code was written. This can happen for many reasons; Perhaps you chose a Microservices architecture for the wrong reasons? Maybe the organization wasn't ready for it? Or just possibly - the proposed architecture didn't embrace the true meaning of Microservices? As the CTO of a software services company I get tackle these questions a lot. Join me in this session as I provide my perspective on transitioning from Monolith to Microservices through lessons learned in the real world, while architecting and implementing multiple Microservices based software systems at various customers.

1 of 50
6 Lessons I Learned on my Journey
from Monolith to Microservices
Eran Stiller
Chief Technology Officer
erans@codevalue.net
@eranstiller
https://stiller.blog
https://codevalue.net
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
3
About Eran
Eran Stiller
▪ @eranstiller
▪ CTO & Founder at CodeValue
▪ Software architect, consultant and instructor
▪ Microsoft Regional Director & Azure MVP
▪ Founder of Azure Israel Meetup
4
The Hype of Microservices
6
Microservice Architecture (MSA) Evolution

Recommended

Keynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real WorldKeynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real WorldEran Stiller
 
8base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 201807198base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 20180719Oscar Perez
 
Agile 2008 Retrospective
Agile 2008 RetrospectiveAgile 2008 Retrospective
Agile 2008 RetrospectiveCraig Smith
 
PMI Thailand: DevOps / Roles of Project Manager (20-May-2020)
PMI Thailand:   DevOps / Roles of Project Manager (20-May-2020)PMI Thailand:   DevOps / Roles of Project Manager (20-May-2020)
PMI Thailand: DevOps / Roles of Project Manager (20-May-2020)Gonzague PATINIER
 
40 Agile Methods In 40 Minutes
40 Agile Methods In 40 Minutes40 Agile Methods In 40 Minutes
40 Agile Methods In 40 MinutesCraig Smith
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
transforming how the world operates software
transforming how the world operates softwaretransforming how the world operates software
transforming how the world operates softwareAndrew Shafer
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 

More Related Content

What's hot

40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
Agile frameworks: the why, how and what
Agile frameworks: the why, how and whatAgile frameworks: the why, how and what
Agile frameworks: the why, how and whatSander Goudswaard
 
Baltic PM Days 2014 - Agile in Public Procurement Projects
Baltic PM Days 2014 - Agile in Public Procurement ProjectsBaltic PM Days 2014 - Agile in Public Procurement Projects
Baltic PM Days 2014 - Agile in Public Procurement ProjectsAlexey Kovalyov
 
Agile Public Procurement in Lithuania
Agile Public Procurement in LithuaniaAgile Public Procurement in Lithuania
Agile Public Procurement in LithuaniaAlexey Kovalyov
 
Netflix oss past-present-future
Netflix oss   past-present-futureNetflix oss   past-present-future
Netflix oss past-present-futureRuslan Meshenberg
 
Many Ways to Move the Needle on Open Source
Many Ways to Move the Needle on Open SourceMany Ways to Move the Needle on Open Source
Many Ways to Move the Needle on Open SourceAll Things Open
 
Microservices for Mortals
Microservices for MortalsMicroservices for Mortals
Microservices for MortalsBert Ertman
 
DevOps as cuckoo's egg: turning your organisation Teal
DevOps as cuckoo's egg: turning your organisation TealDevOps as cuckoo's egg: turning your organisation Teal
DevOps as cuckoo's egg: turning your organisation TealChristopher ⌘ Patten
 
Microservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceMicroservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceAdrian Cockcroft
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...Daniel Bryant
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesRandy Shoup
 
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)Rackspace Academy
 
Strangers in a Strange Land - Open Source in Financial Services
Strangers in a Strange Land - Open Source in Financial ServicesStrangers in a Strange Land - Open Source in Financial Services
Strangers in a Strange Land - Open Source in Financial ServicesAll Things Open
 
Enacting Scrum - What it takes to maximize the chances for a successful adopt...
Enacting Scrum - What it takes to maximize the chances for a successful adopt...Enacting Scrum - What it takes to maximize the chances for a successful adopt...
Enacting Scrum - What it takes to maximize the chances for a successful adopt...ITCamp
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
Bringing it all together
Bringing it all togetherBringing it all together
Bringing it all togetherMelissaMcKay15
 

What's hot (20)

40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Agile frameworks: the why, how and what
Agile frameworks: the why, how and whatAgile frameworks: the why, how and what
Agile frameworks: the why, how and what
 
Baltic PM Days 2014 - Agile in Public Procurement Projects
Baltic PM Days 2014 - Agile in Public Procurement ProjectsBaltic PM Days 2014 - Agile in Public Procurement Projects
Baltic PM Days 2014 - Agile in Public Procurement Projects
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
Agile Public Procurement in Lithuania
Agile Public Procurement in LithuaniaAgile Public Procurement in Lithuania
Agile Public Procurement in Lithuania
 
Netflix oss past-present-future
Netflix oss   past-present-futureNetflix oss   past-present-future
Netflix oss past-present-future
 
Many Ways to Move the Needle on Open Source
Many Ways to Move the Needle on Open SourceMany Ways to Move the Needle on Open Source
Many Ways to Move the Needle on Open Source
 
Cloud Foundry Foundation Overview
Cloud Foundry Foundation OverviewCloud Foundry Foundation Overview
Cloud Foundry Foundation Overview
 
Microservices for Mortals
Microservices for MortalsMicroservices for Mortals
Microservices for Mortals
 
DevOps as cuckoo's egg: turning your organisation Teal
DevOps as cuckoo's egg: turning your organisation TealDevOps as cuckoo's egg: turning your organisation Teal
DevOps as cuckoo's egg: turning your organisation Teal
 
Microservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceMicroservices Workshop - Craft Conference
Microservices Workshop - Craft Conference
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic Microservices
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and Microservices
 
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
 
Strangers in a Strange Land - Open Source in Financial Services
Strangers in a Strange Land - Open Source in Financial ServicesStrangers in a Strange Land - Open Source in Financial Services
Strangers in a Strange Land - Open Source in Financial Services
 
DevOps Ground Zero
DevOps Ground ZeroDevOps Ground Zero
DevOps Ground Zero
 
Enacting Scrum - What it takes to maximize the chances for a successful adopt...
Enacting Scrum - What it takes to maximize the chances for a successful adopt...Enacting Scrum - What it takes to maximize the chances for a successful adopt...
Enacting Scrum - What it takes to maximize the chances for a successful adopt...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
Bringing it all together
Bringing it all togetherBringing it all together
Bringing it all together
 

Similar to .NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith to Microservices

6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to MicroservicesEran Stiller
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryGene Kim
 
Resetting Your Culture for Cloud-Native Success
Resetting Your Culture for Cloud-Native SuccessResetting Your Culture for Cloud-Native Success
Resetting Your Culture for Cloud-Native SuccessDEVOPS LIVE Meetup
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfAhmed Misbah
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to MicroservicesJoão Cavalheiro
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsPerforce
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesChris Haddad
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices WSO2
 
Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt, Inc.
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and ServicePaulo Gaspar
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Mucon microservices and innovation
Mucon microservices and innovationMucon microservices and innovation
Mucon microservices and innovationGawain Hammond
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps StartupsDaniel Zivkovic
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes Abdul Basit Munda
 
Discover - Innovating With Speed and Agility
Discover - Innovating With Speed and AgilityDiscover - Innovating With Speed and Agility
Discover - Innovating With Speed and AgilityLaurenWendler
 
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?Phuong Mai Nguyen
 
Supercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformSupercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformXebiaLabs
 
Diving Into Docker
Diving Into Docker Diving Into Docker
Diving Into Docker XebiaLabs
 
Microservices for Mortals by Bert Ertman at Codemotion Dubai
 Microservices for Mortals by Bert Ertman at Codemotion Dubai Microservices for Mortals by Bert Ertman at Codemotion Dubai
Microservices for Mortals by Bert Ertman at Codemotion DubaiCodemotion Dubai
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 

Similar to .NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith to Microservices (20)

6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
Resetting Your Culture for Cloud-Native Success
Resetting Your Culture for Cloud-Native SuccessResetting Your Culture for Cloud-Native Success
Resetting Your Culture for Cloud-Native Success
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to Microservices
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practices
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices
 
Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt Client Summit 2016
Catavolt Client Summit 2016
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Mucon microservices and innovation
Mucon microservices and innovationMucon microservices and innovation
Mucon microservices and innovation
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
Discover - Innovating With Speed and Agility
Discover - Innovating With Speed and AgilityDiscover - Innovating With Speed and Agility
Discover - Innovating With Speed and Agility
 
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
 
Supercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformSupercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps Platform
 
Diving Into Docker
Diving Into Docker Diving Into Docker
Diving Into Docker
 
Microservices for Mortals by Bert Ertman at Codemotion Dubai
 Microservices for Mortals by Bert Ertman at Codemotion Dubai Microservices for Mortals by Bert Ertman at Codemotion Dubai
Microservices for Mortals by Bert Ertman at Codemotion Dubai
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 

More from NETFest

.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NETNETFest
 
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE....NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...NETFest
 
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NETNETFest
 
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистовNETFest
 
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem....NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...NETFest
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven DesignNETFest
 
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at WirexNETFest
 
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A....NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...NETFest
 
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixtureNETFest
 
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# TestsNETFest
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос....NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...NETFest
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep diveNETFest
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in productionNETFest
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...NETFest
 
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real....NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...NETFest
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystemNETFest
 
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ....NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...NETFest
 
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali....NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...NETFest
 
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NETNETFest
 
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur....NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...NETFest
 

More from NETFest (20)

.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
 
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE....NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
 
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
 
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
 
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem....NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
 
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A....NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
 
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
 
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос....NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
 
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real....NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
 
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ....NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
 
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali....NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
 
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
 
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur....NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
 

Recently uploaded

MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...
MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...
MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...SABC News
 
Persuasive Speaking and Organizational Patterns
Persuasive Speaking and Organizational PatternsPersuasive Speaking and Organizational Patterns
Persuasive Speaking and Organizational PatternsCorinne Weisgerber
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxdeputymitchell2
 
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...AKSHAYMAGAR17
 
Mycology Update February 2024 Microbes with Morgan
Mycology Update February 2024 Microbes with MorganMycology Update February 2024 Microbes with Morgan
Mycology Update February 2024 Microbes with MorganMargie Morgan
 
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...EduSkills OECD
 
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdf
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdfA Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdf
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdfOH TEIK BIN
 
Kartik Nair In Media Res Media Component
Kartik Nair In Media Res Media ComponentKartik Nair In Media Res Media Component
Kartik Nair In Media Res Media ComponentInMediaRes1
 
Brochure-Project-tryve-elementary-dept..docx
Brochure-Project-tryve-elementary-dept..docxBrochure-Project-tryve-elementary-dept..docx
Brochure-Project-tryve-elementary-dept..docxAnnaLizaTadeo1
 
Odontogenesis and its related anomiles.pptx
Odontogenesis and its related anomiles.pptxOdontogenesis and its related anomiles.pptx
Odontogenesis and its related anomiles.pptxMennat Allah Alkaram
 
Add Products From Catalog in Odoo 17 Sales
Add Products From Catalog in Odoo 17 SalesAdd Products From Catalog in Odoo 17 Sales
Add Products From Catalog in Odoo 17 SalesCeline George
 
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in Ghana
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in GhanaDecision on Curriculum Change Path: Towards Standards-Based Curriculum in Ghana
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in GhanaPrince Armah, PhD
 
Plant Genetic Resources, Germplasm, gene pool - Copy.pptx
Plant Genetic Resources, Germplasm, gene pool - Copy.pptxPlant Genetic Resources, Germplasm, gene pool - Copy.pptx
Plant Genetic Resources, Germplasm, gene pool - Copy.pptxAKSHAYMAGAR17
 
Digital Footprints to Career Pathways - Building a Strong Professional Online...
Digital Footprints to Career Pathways - Building a Strong Professional Online...Digital Footprints to Career Pathways - Building a Strong Professional Online...
Digital Footprints to Career Pathways - Building a Strong Professional Online...Sue Beckingham
 
Organic Synthesis and Estimation of Functional Groups
Organic Synthesis and Estimation of Functional GroupsOrganic Synthesis and Estimation of Functional Groups
Organic Synthesis and Estimation of Functional GroupsDr.M.Geethavani
 
Healthy Habits for Happy School Staff - presentation
Healthy Habits for Happy School Staff - presentationHealthy Habits for Happy School Staff - presentation
Healthy Habits for Happy School Staff - presentationPooky Knightsmith
 
Permeation enhancer of Transdermal drug delivery system
Permeation enhancer of Transdermal drug delivery systemPermeation enhancer of Transdermal drug delivery system
Permeation enhancer of Transdermal drug delivery systemchetanpatil2572000
 
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdf
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdfDiploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdf
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdfSUMIT TIWARI
 

Recently uploaded (20)

MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...
MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...
MEC MAJUBA SADDENED BY THE PASSING AWAY OF THREE TEACHERS FOLLOWING A CAR ACC...
 
Persuasive Speaking and Organizational Patterns
Persuasive Speaking and Organizational PatternsPersuasive Speaking and Organizational Patterns
Persuasive Speaking and Organizational Patterns
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...
Genetics, Heredity, Variation, history, its roles, Scope, Importance, and Bra...
 
CLUBE PERLINGUAS .
CLUBE PERLINGUAS                        .CLUBE PERLINGUAS                        .
CLUBE PERLINGUAS .
 
Mycology Update February 2024 Microbes with Morgan
Mycology Update February 2024 Microbes with MorganMycology Update February 2024 Microbes with Morgan
Mycology Update February 2024 Microbes with Morgan
 
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...
Managing Choice, Coherence and Specialisation in Upper Secondary Education - ...
 
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdf
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdfA Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdf
A Free eBook ~ Mental Exercise ...Puzzles to Analyze.pdf
 
Kartik Nair In Media Res Media Component
Kartik Nair In Media Res Media ComponentKartik Nair In Media Res Media Component
Kartik Nair In Media Res Media Component
 
Brochure-Project-tryve-elementary-dept..docx
Brochure-Project-tryve-elementary-dept..docxBrochure-Project-tryve-elementary-dept..docx
Brochure-Project-tryve-elementary-dept..docx
 
Odontogenesis and its related anomiles.pptx
Odontogenesis and its related anomiles.pptxOdontogenesis and its related anomiles.pptx
Odontogenesis and its related anomiles.pptx
 
Add Products From Catalog in Odoo 17 Sales
Add Products From Catalog in Odoo 17 SalesAdd Products From Catalog in Odoo 17 Sales
Add Products From Catalog in Odoo 17 Sales
 
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in Ghana
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in GhanaDecision on Curriculum Change Path: Towards Standards-Based Curriculum in Ghana
Decision on Curriculum Change Path: Towards Standards-Based Curriculum in Ghana
 
Plant Genetic Resources, Germplasm, gene pool - Copy.pptx
Plant Genetic Resources, Germplasm, gene pool - Copy.pptxPlant Genetic Resources, Germplasm, gene pool - Copy.pptx
Plant Genetic Resources, Germplasm, gene pool - Copy.pptx
 
Digital Footprints to Career Pathways - Building a Strong Professional Online...
Digital Footprints to Career Pathways - Building a Strong Professional Online...Digital Footprints to Career Pathways - Building a Strong Professional Online...
Digital Footprints to Career Pathways - Building a Strong Professional Online...
 
Advance Mobile Application Development class 04
Advance Mobile Application Development class 04Advance Mobile Application Development class 04
Advance Mobile Application Development class 04
 
Organic Synthesis and Estimation of Functional Groups
Organic Synthesis and Estimation of Functional GroupsOrganic Synthesis and Estimation of Functional Groups
Organic Synthesis and Estimation of Functional Groups
 
Healthy Habits for Happy School Staff - presentation
Healthy Habits for Happy School Staff - presentationHealthy Habits for Happy School Staff - presentation
Healthy Habits for Happy School Staff - presentation
 
Permeation enhancer of Transdermal drug delivery system
Permeation enhancer of Transdermal drug delivery systemPermeation enhancer of Transdermal drug delivery system
Permeation enhancer of Transdermal drug delivery system
 
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdf
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdfDiploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdf
Diploma 2nd yr PHARMACOLOGY chapter 5 part 1.pdf
 

.NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith to Microservices

  • 1. 6 Lessons I Learned on my Journey from Monolith to Microservices Eran Stiller Chief Technology Officer erans@codevalue.net @eranstiller https://stiller.blog https://codevalue.net
  • 2. 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 3
  • 3. About Eran Eran Stiller ▪ @eranstiller ▪ CTO & Founder at CodeValue ▪ Software architect, consultant and instructor ▪ Microsoft Regional Director & Azure MVP ▪ Founder of Azure Israel Meetup 4
  • 4. The Hype of Microservices
  • 5. 6
  • 7. Microservice Architecture – Some Principles ▪A microservice should be less then 100 lines of code ▪100 is just a number that emphasizes: small ▪Usually can be developed in one scrum sprint ▪Easy to understand, fast to deploy, and cheap to reimplement ▪A microservice should be independently developed & deployed ▪A microservice should have private data ownership ▪Eventual Consistency ▪Versioning
  • 9. 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?
  • 10. The Hype of Microservices 12
  • 11. Lessons Learned in the Real World
  • 12. 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 14
  • 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 15
  • 14. Why Move to Microservices? 16
  • 15. Answer #1 – It’s Cool! 17
  • 16. Answer #2 – It’s Easier/Faster 18
  • 17. There is a Learning Curve… 19
  • 18. Answer #3 - Scale 20
  • 19. Answer #4 - Agility 21
  • 20. 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 22
  • 21. 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 23
  • 22. Evolution or Revolution, That Is the Question! 24 http://cdaworldhistory.wikidot.com/europe-faces-revolutionshttps://commons.wikimedia.org/wiki/File:Human_evolution.svg
  • 23. Case Study – Breaking the Monolith (Evolution) 25 A large scale multitenant trading system
  • 24. Case Study – Rewrite (Revolution) 26 https://www.flickr.com/photos/meyyappan_tirupur/9498661067 An old advanced 2D/3D CAD MFC based application
  • 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 27
  • 26. DevOps 28 If I have to give you one piece of advice, DevOps would be it.
  • 27. What is DevOps? 29 Taken from https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  • 28. Main DevOps Practices Dev/Commit Unit-Tests Integration- Tests Continuous Integration Dev/Commit Unit-Tests Integration- Tests Acceptance Tests Continuous Delivery Dev/Commit Unit-Tests Integration- Tests Acceptance Tests Production Continuous Deployment 30
  • 29. How Agile is Agile? 32 Source: “Accelerate: State of DevOps 2019 Report” https://cloud.google.com/devops/state-of-devops/ Aspect of Software Delivery Performance Elite High Medium Low Deployment frequency On-demand (multiple deploys per day) Between once per day and once per week Between once per week and once per month Between once per month and once every six months Lead time for changes Less than one day Between one day and one week Between one week and one month Between one month and six months Time to restore service Less than one hour Less than one day Less than one day Between one week and one month Change failure rate 0-15% 0-15% 0-15% 46-60%
  • 30. How Agile is Agile? 33 Source: “Accelerate: State of DevOps 2019 Report” https://cloud.google.com/devops/state-of-devops/
  • 31. DevOps is Key – Elite vs. Low Performers 34 Source: “Accelerate: State of DevOps 2019 Report” https://cloud.google.com/devops/state-of-devops/
  • 32. Tool Usage By Performance Profile 36 Source: “Accelerate: State of DevOps 2019 Report” https://cloud.google.com/devops/state-of-devops/ Low Medium High Elite A mix of proprietary tools, open source, and commercial off-the-shelf (COTS) software 30% 34% 32% 33% Mainly open source and COTS, heavily customized 17% 8% 7% 10% Mainly open source and COTS, with little customization 14% 21% 18% 20% Primarily COTS packaged software 8% 12% 8% 4% Primarily developed in- house and proprietary to my organization 20% 6% 5% 6% Primarily open source, heavily customized 6% 7% 5% 12% Primarily open source, with little customization 5% 12% 24% 15%
  • 33. Automation is King 38 Source: “Accelerate: State of DevOps 2019 Report” https://cloud.google.com/devops/state-of-devops/ Low Medium High Elite Automated build 64% 81% 91% 92% Automated unit tests 57% 66% 84% 87% Automated acceptance tests 28% 38% 48% 58% Automated performance tests 18% 23% 18% 28% Automated security tests 15% 28% 25% 31% Automated provisioning and deployment to test env 39% 54% 68% 72% Automated deployment to production 17% 38% 60% 69% Integration with chatbots / Slack 29% 33% 24% 69% Integration with production monitoring and observability 13% 23% 41% 57% None of the above 9% 14% 5% 4%
  • 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 ▪ Example – 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’s an opportunity ▪ Utilizing a better technology for a microservice is an advantage ▪ A chance to make some technological progress ▪ Do what is best to your organization culture ▪ Consider that you must plan an education phase 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… ▪ “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 High Cohesion Low Coupling 48
  • 44. Real-World Example ▪ A new system that was based on a Microservice Architecture ▪ The service decomposition was relatively good ▪ High cohesion ▪ 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 49
  • 45. Real-World Example – The Fix ▪ Split the shared schema ▪ Multiple schemas with versioning ▪ Break the central DB ▪ Remove the state from the services ▪ Allow multiple instances ▪ Decide when it is right to use Kafka vs. other mechanisms 50
  • 47. 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? 52
  • 48. 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 53
  • 50. Eran Stiller Chief Technology Officer erans@codevalue.net @eranstiller https://stiller.blog https://codevalue.net