SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
monolith vs microservices vs team
Tomáš Strejček, Dev Leader, Mall Group
@TomasStrejcek
aboutme.md
MallGroup, Rockaway, RocDevs, Stuff
No PHP, #bummer
But we can chat about it later and I will mention few things about
what we do and how.
But I must say, lot of things are pretty generic, no matter the
programming language.
Don’t take me too seriously
No, really. Don’t.
I will not tell you what is better
..but I will show you stuff that matters
I won’t show you how to do M/SOA
..you can google that sh**
Monoliths are #evil
Not!
Monoliths are big and strong
..and maybe bloated.
But what does it mean? How does it look like?
Big ball of mud
..is something you don’t want.
Ever.
Monoliths or microservices, it
may still end up in the same hell
hole
Or not, but you really have to design your application first hand.
All the musts for M/SOA are
valid for every software project
Documenting! Testing! Loose coupling! No shortcuts! No hacking!
Good SW design! Separation of concerns! Fast deployments!
Continuous integration! Monitoring! Caching! Other stuff!
Is it really binary (or black and
white for nontech) problem?
It is not.
3mw architecture slide
How hard is to find what is
going on?
Are monitoring tools and logs enough? Do you have API?
Microservices are great, but you
need to GET there, not START
there.
#MonolithFirst
Is then M/SOA last?
Monolith -> ? -> M/SOA
? = time or something else
Modular distributed
monolith architecture
MDMA for short
I made it up obviously but it really made me laugh, so I am rolling with it.
What I mean is..
..wait for it ..
Is application different when
run in CLI instead over FPM?
It should be.
Is application different when
you access it through user
backend or user frontend?
It should be.
You, as developers, have great
power to change you app
behavior via configuration.
Incl. feature flags, environment variables etc.
How do you maintain 20
microservices in team of 5
developers?
You can’t and you shouldn’t get to the point where you do.
Managing, deploying and
scaling complexity is hard.
But deploying single app? Just git pull and adios.
Everybody doesn’t have to be
DevOps
Not even those fancy react redux nodejs javascript hybrid guys
rolling on AWS.
Infrastructure as a code to the
rescue!
Or not, you don’t really need IaaC in monoliths.
What really matters: does it
work? :)
(for you)
Thank you!
Questions?
Tomáš Strejček, Dev Leader, Mall Group
@TomasStrejcek
More reading… (and watching)
Microservices, monoliths and laser nail guns: Etsy tech boss on finding the right focus
https://medium.com/s-c-a-l-e/microservices-monoliths-and-laser-nail-guns-how-etsy-finds-the-right-focus-in-a-se
a-of-cf718a92dc90#.m2jxzcb0l
Modular Monoliths - Simon Brown
https://www.youtube.com/watch?v=k8bi2r6Z0h8
Microservice Trade-Offs - Martin Fowler
http://martinfowler.com/articles/microservice-trade-offs.html
Modular vs Monolithic: No Holy Grails
https://speakerdeck.com/pote/modular-vs-monolithic-no-holy-grails
MonolithFirst - Martin Fowler
http://martinfowler.com/bliki/MonolithFirst.html

Mais conteúdo relacionado

Mais procurados

My first 3 months working with word press
My first 3 months working with word pressMy first 3 months working with word press
My first 3 months working with word pressNoe Lopez
 
רועי פלד
רועי פלדרועי פלד
רועי פלדNetcraft
 
It's Primetime: A Javascript Story
It's Primetime: A Javascript StoryIt's Primetime: A Javascript Story
It's Primetime: A Javascript StoryEinar Ingebrigtsen
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeRobson Agapito Correa
 
Gogo Conference 2018
Gogo Conference 2018Gogo Conference 2018
Gogo Conference 2018Visuality
 

Mais procurados (7)

My first 3 months working with word press
My first 3 months working with word pressMy first 3 months working with word press
My first 3 months working with word press
 
רועי פלד
רועי פלדרועי פלד
רועי פלד
 
It's Primetime: A Javascript Story
It's Primetime: A Javascript StoryIt's Primetime: A Javascript Story
It's Primetime: A Javascript Story
 
How to manage your web agency as a client
How to manage your web agency as a clientHow to manage your web agency as a client
How to manage your web agency as a client
 
MailXpert API bundle
MailXpert API bundleMailXpert API bundle
MailXpert API bundle
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e Mechanize
 
Gogo Conference 2018
Gogo Conference 2018Gogo Conference 2018
Gogo Conference 2018
 

Destaque

Rubyslava beyond the_monolith
Rubyslava beyond the_monolithRubyslava beyond the_monolith
Rubyslava beyond the_monolitholahmichal
 
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsDisassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsNicholas Young
 
JFokus 2015 - Hacking the-monolith
JFokus 2015 - Hacking the-monolithJFokus 2015 - Hacking the-monolith
JFokus 2015 - Hacking the-monolithGereon Kåver
 
Dismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesDismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesOKL Engineering
 
Breaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudBreaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudJan Kischkel
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the MonolithMaria Gomez
 
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackBreaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackNodejsFoundation
 
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Teo Ruiz
 
My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015Meri Williams
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON KeynoteChristopher Grant
 
Monolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconMonolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconChristopher Grant
 
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceDPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceMeri Williams
 
I-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETEI-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETESean McCullough
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...PyData
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletHyperwallet
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...Amazon Web Services
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015Randy Shoup
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureVMware Tanzu
 

Destaque (20)

Rubyslava beyond the_monolith
Rubyslava beyond the_monolithRubyslava beyond the_monolith
Rubyslava beyond the_monolith
 
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsDisassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.js
 
JFokus 2015 - Hacking the-monolith
JFokus 2015 - Hacking the-monolithJFokus 2015 - Hacking the-monolith
JFokus 2015 - Hacking the-monolith
 
Dismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesDismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with Microservices
 
Breaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudBreaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloud
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the Monolith
 
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackBreaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStack
 
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
 
My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON Keynote
 
Monolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconMonolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly Oscon
 
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceDPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
 
I-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETEI-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETE
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic Microservices
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided Adventure
 

Semelhante a Monolith vs Microservices vs Teams

Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsSteve Pember
 
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components MeetupMobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components MeetupConstantine Mars
 
2020 Top Web Development Trends
2020 Top Web Development Trends2020 Top Web Development Trends
2020 Top Web Development TrendsPencil Agency
 
Put a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensPut a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensC4Media
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the websebastian sastre
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009Justin Ferrell
 
Ten Lessons in Designing Content for Mobile
Ten Lessons in Designing Content for MobileTen Lessons in Designing Content for Mobile
Ten Lessons in Designing Content for MobileVicke Cheung
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web componentsJames York
 
A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013Alessandro Nadalin
 
Killing Zombie Software - Technology Exit Planning
Killing Zombie Software - Technology Exit PlanningKilling Zombie Software - Technology Exit Planning
Killing Zombie Software - Technology Exit PlanningEric Tachibana
 
Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible MicroservicesVMware Tanzu
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react jsMunirMahmud3
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2VMware Tanzu
 
How I ended up contributing to Magento core
How I ended up contributing to Magento coreHow I ended up contributing to Magento core
How I ended up contributing to Magento coreAlessandro Ronchi
 
Geecon09: SOLID Design Principles
Geecon09: SOLID Design PrinciplesGeecon09: SOLID Design Principles
Geecon09: SOLID Design PrinciplesBruno Bossola
 
Design Types
Design TypesDesign Types
Design Types1&1
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalAdyax
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?Kasra Khosravi
 

Semelhante a Monolith vs Microservices vs Teams (20)

Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and Grails
 
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components MeetupMobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
Mobile Applications Architecture - GDG Ternopil' Architecture Components Meetup
 
2020 Top Web Development Trends
2020 Top Web Development Trends2020 Top Web Development Trends
2020 Top Web Development Trends
 
Put a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensPut a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What Happens
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the web
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009
 
Ten Lessons in Designing Content for Mobile
Ten Lessons in Designing Content for MobileTen Lessons in Designing Content for Mobile
Ten Lessons in Designing Content for Mobile
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web components
 
A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013
 
Killing Zombie Software - Technology Exit Planning
Killing Zombie Software - Technology Exit PlanningKilling Zombie Software - Technology Exit Planning
Killing Zombie Software - Technology Exit Planning
 
Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible Microservices
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2
 
SxSW 2015
SxSW 2015SxSW 2015
SxSW 2015
 
How I ended up contributing to Magento core
How I ended up contributing to Magento coreHow I ended up contributing to Magento core
How I ended up contributing to Magento core
 
Geecon09: SOLID Design Principles
Geecon09: SOLID Design PrinciplesGeecon09: SOLID Design Principles
Geecon09: SOLID Design Principles
 
Design Types
Design TypesDesign Types
Design Types
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 

Monolith vs Microservices vs Teams