Monoliths, Balls of Mud and Silver Bullets

Dave Cross
Dave CrossOwner / Senior Developer at Magnum Solutions Ltd
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths,
Balls of Mud
& Silver Bullets
Monoliths
are bad
Monolithic
Balls of Mud
are worse
Monoliths, Balls of Mud and Silver Bullets
Microservices
will save us
Well...
I am old
Old people have
long memories
“Those who refuse to
learn from commit
history are doomed
to reimplement it”
Monoliths, Balls of Mud and Silver Bullets
“Adding manpower
to a late
software project
makes it later.”
“Observe that for the
programmer, as for the chef,
the urgency of the patron may
govern the scheduled
completion of the task, but it
cannot govern the actual
completion.”
“There is
no silver bullet”
“No Silver
Bullet”
Monoliths, Balls of Mud and Silver Bullets
Microservices
are not a
Silver Bullet
Disclaimer
Please note that nothing I say over the rest of this
presentation should be taken as me saying or
implying that microservices are not an improvement
over most software architectures that preceded them.
I am merely pointing out that they are not the cure-all
that some of their fans seem to think they are and
that some care needs to be taken in order to get the
most benefit from them.
I’m also, of course, going for a few cheap laughs here.
All advice is worth exactly what you paid for it.
Satisfaction guaranteed or your money back.
Advantages of
microservices
Simplicity
Simplicity
Less complexity
Ownership
Autonomy
Faster releases
Inside your
monolithic
ball of mud
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Microservices
version
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Microservices on
a monolithic
database
Who owns the
database
schema?
How do you
change the
database
schema?
How do you ensure you
that your changes to the
database schema don’t
affect other users of the
monolithic database?
Microservices
need
microdatabases
Simplicity?
Ownership?
How many stacks
do you need?
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
Monoliths, Balls of Mud and Silver Bullets
AWS == £$€
Some tips
Microservices are
REST over HTTPS
<SOAP/>
Dodger
JSON is standard
HTTP is
more than
GET and POST
Use HTTP Verbs for CRUD
CRUD REST over HTTP
Create POST
Read GET
Update PUT
Delete DELETE
Monoliths, Balls of Mud and Silver Bullets
Assume your
private API
will be public
Issue API keys
Version your API
Use HAL
(Hypertext Application Language)
Generate docs
from specs
(Swagger)
Generate docs
from specs
(Swagger)
Generate docs
from specs
(OpenAPI)
Emulate
Johnny Cash
Destroy the monolith
“One Piece at a Time”
Emulate
Johnny Cash
Destroy the monolith
“One Piece at a Time”
Monoliths, Balls of Mud and Silver Bullets
Dave Cross
https://perlhacks.com
@perlhacks
1 of 74

Recommended

Wiki: Under the Influence by
Wiki: Under the InfluenceWiki: Under the Influence
Wiki: Under the InfluenceStewart Mader
867 views22 slides
Measuring the Quality of Your Perl Code by
Measuring the Quality of Your Perl CodeMeasuring the Quality of Your Perl Code
Measuring the Quality of Your Perl CodeDave Cross
872 views103 slides
Apollo 11 at 50 - A Simple Twitter Bot by
Apollo 11 at 50 - A Simple Twitter BotApollo 11 at 50 - A Simple Twitter Bot
Apollo 11 at 50 - A Simple Twitter BotDave Cross
595 views47 slides
The Professional Programmer by
The Professional ProgrammerThe Professional Programmer
The Professional ProgrammerDave Cross
481 views112 slides
I'm A Republic (Honest!) by
I'm A Republic (Honest!)I'm A Republic (Honest!)
I'm A Republic (Honest!)Dave Cross
650 views101 slides
Web Site Tune-Up - Improve Your Googlejuice by
Web Site Tune-Up - Improve Your GooglejuiceWeb Site Tune-Up - Improve Your Googlejuice
Web Site Tune-Up - Improve Your GooglejuiceDave Cross
1.1K views113 slides

More Related Content

More from Dave Cross

Modern Perl Catch-Up by
Modern Perl Catch-UpModern Perl Catch-Up
Modern Perl Catch-UpDave Cross
2.3K views90 slides
Error(s) Free Programming by
Error(s) Free ProgrammingError(s) Free Programming
Error(s) Free ProgrammingDave Cross
4.4K views108 slides
Medium Perl by
Medium PerlMedium Perl
Medium PerlDave Cross
4.7K views50 slides
Modern Web Development with Perl by
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with PerlDave Cross
15.8K views112 slides
Improving Dev Assistant by
Improving Dev AssistantImproving Dev Assistant
Improving Dev AssistantDave Cross
10K views41 slides
Conference Driven Publishing by
Conference Driven PublishingConference Driven Publishing
Conference Driven PublishingDave Cross
10.1K views83 slides

More from Dave Cross(20)

Modern Perl Catch-Up by Dave Cross
Modern Perl Catch-UpModern Perl Catch-Up
Modern Perl Catch-Up
Dave Cross2.3K views
Error(s) Free Programming by Dave Cross
Error(s) Free ProgrammingError(s) Free Programming
Error(s) Free Programming
Dave Cross4.4K views
Medium Perl by Dave Cross
Medium PerlMedium Perl
Medium Perl
Dave Cross4.7K views
Modern Web Development with Perl by Dave Cross
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with Perl
Dave Cross15.8K views
Improving Dev Assistant by Dave Cross
Improving Dev AssistantImproving Dev Assistant
Improving Dev Assistant
Dave Cross10K views
Conference Driven Publishing by Dave Cross
Conference Driven PublishingConference Driven Publishing
Conference Driven Publishing
Dave Cross10.1K views
Conference Driven Publishing by Dave Cross
Conference Driven PublishingConference Driven Publishing
Conference Driven Publishing
Dave Cross3.2K views
TwittElection by Dave Cross
TwittElectionTwittElection
TwittElection
Dave Cross4.5K views
Perl in the Internet of Things by Dave Cross
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
Dave Cross4.6K views
Return to the Kingdom of the Blind by Dave Cross
Return to the Kingdom of the BlindReturn to the Kingdom of the Blind
Return to the Kingdom of the Blind
Dave Cross8.8K views
Github, Travis-CI and Perl by Dave Cross
Github, Travis-CI and PerlGithub, Travis-CI and Perl
Github, Travis-CI and Perl
Dave Cross9.9K views
Object-Oriented Programming with Perl and Moose by Dave Cross
Object-Oriented Programming with Perl and MooseObject-Oriented Programming with Perl and Moose
Object-Oriented Programming with Perl and Moose
Dave Cross10.6K views
Database Programming with Perl and DBIx::Class by Dave Cross
Database Programming with Perl and DBIx::ClassDatabase Programming with Perl and DBIx::Class
Database Programming with Perl and DBIx::Class
Dave Cross14.7K views
Modern Perl for Non-Perl Programmers by Dave Cross
Modern Perl for Non-Perl ProgrammersModern Perl for Non-Perl Programmers
Modern Perl for Non-Perl Programmers
Dave Cross32.7K views
Matt's PSGI Archive by Dave Cross
Matt's PSGI ArchiveMatt's PSGI Archive
Matt's PSGI Archive
Dave Cross29.6K views
The Kingdom of the Blind by Dave Cross
The Kingdom of the BlindThe Kingdom of the Blind
The Kingdom of the Blind
Dave Cross8.7K views
Matt's PSGI Archive by Dave Cross
Matt's PSGI ArchiveMatt's PSGI Archive
Matt's PSGI Archive
Dave Cross2.4K views
Introduction to OO Perl with Moose by Dave Cross
Introduction to OO Perl with MooseIntroduction to OO Perl with Moose
Introduction to OO Perl with Moose
Dave Cross11.3K views
Modern Core Perl by Dave Cross
Modern Core PerlModern Core Perl
Modern Core Perl
Dave Cross6.6K views
Perl Training by Dave Cross
Perl TrainingPerl Training
Perl Training
Dave Cross929 views

Recently uploaded

Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
60 views21 slides
MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
39 views8 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
110 views21 slides
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
49 views45 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
149 views7 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
63 views15 slides

Recently uploaded(20)

DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue149 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue63 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays49 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue138 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue121 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10110 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue58 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue218 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty54 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views

Monoliths, Balls of Mud and Silver Bullets