Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Micro Services
Search
Will Hamill
March 13, 2014
Programming
1
100
Micro Services
Presentation given at Codeslice event on micro-services.
Will Hamill
March 13, 2014
Tweet
Share
More Decks by Will Hamill
See All by Will Hamill
Understanding Tech Strategy with Wardley Maps
willhamill
1
280
Splitting the Monolith
willhamill
0
300
Making Yourself Redundant
willhamill
0
65
Agile Antipatterns
willhamill
0
97
Building your Technical Profile
willhamill
0
45
Agile Architecture
willhamill
0
95
Agile 101
willhamill
4
200
Other Decks in Programming
See All in Programming
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
2
150
Anthropic Cookbook のおすすめレシピ
schroneko
7
1.1k
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
130
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Ruby Function Composition
bkuhlmann
1
340
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
960
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Elm Form Validation
bkuhlmann
0
510
Code Reviews
bkuhlmann
4
890
Fast JSX: Don't clone props object #28768
yossydev
1
150
Deep Dive into React Stream/Serialize
mugi_uno
1
200
"config" ってなんだ? / What is "config"?
okashoi
0
240
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
GraphQLとの向き合い方2022年版
quramy
33
12k
GraphQLの誤解/rethinking-graphql
sonatard
54
9.3k
Designing Experiences People Love
moore
136
23k
The Language of Interfaces
destraynor
151
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Become a Pro
speakerdeck
PRO
12
4.6k
4 Signs Your Business is Dying
shpigford
176
21k
Atom: Resistance is Futile
akmur
260
25k
[RailsConf 2023] Rails as a piece of cake
palkan
26
4k
Transcript
μServices { } March 2014 Will Hamill
DISCLAIMER: I am not an expert We are working (somewhat)
in this direction on some projects But this is based mostly on content from QCon London 2014
Applications are getting larger
Services are getting smaller
Services have been getting smaller for some time
Monolithic
Layered
Service-Oriented
Micro-Services
How?
A micro-service typically does only one thing User Authentication and
Role Based Authorisation Service User Authentication Role Based Authorisation
Anatomy of a micro service HTTP Logic Monitoring Storage
Techs: no hard and fast rules Simpler, lighter, self-contained services
need simpler and lighter technologies
None
Why?
Simplicity (at the service level)
3,000 LOC vs 200 LOC 100 LOC 500 LOC 400
LOC 200 LOC
Scale (distribute load and apps across machines)
Scaling the monolith
Scaling the monolith
Scaling the monolith …
Scaling micro-services
Scaling micro-services
Scaling micro-services
Scaling micro-services …
Scale 2: Scale Harder (many teams one on project)
Division of labour
Division of labour
Responding to change (decoupling delivery)
Release Schedule Every 6 months
Every 2 weeks Every week Every 4 weeks About every
4 days
Fault tolerance (fault acceptance)
Fragile Robust Antifragile
Who?
Netflix Twitter Amazon Yammer MailOnline
Not Quite There Yet
BandwagonDB
DRY-ed Out “core”
Service-Oriented Monolith
Difficulties
Testing everything is harder (but testing services is easier)
Fast, automated deployment and application monitoring are super-important
Versioning can be tricky www.semver.org
Conway’s Law
This Is New
This is an emerging approach Find which tradeoffs work best
for your particular situation
“It depends” ¯\_(ツ)_/¯
Further Reading http://www.infoq.com/presentations/Micro-Services http://vimeo.com/user22258446/review/79288222/cbb24b224c http://yobriefca.se/blog/2013/04/29/micro-service-architecture/ http://martinfowler.com/articles/microservices.html http://davidmorgantini.blogspot.co.uk/2013/08/micro-services- introduction.html http://qconlondon.com/dl/qcon-london-2014/slides/ AdrianCockcroft_MigratingToMicroservices.pdf
None