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
110
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
310
Splitting the Monolith
willhamill
0
310
Making Yourself Redundant
willhamill
0
79
Agile Antipatterns
willhamill
0
120
Building your Technical Profile
willhamill
0
54
Agile Architecture
willhamill
0
120
Agile 101
willhamill
4
210
Other Decks in Programming
See All in Programming
プログラマのための作曲入門
cheebow
0
540
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.1k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
450
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
止められない医療アプリ、そっと Swift 6 へ
medley
1
120
CSC305 Lecture 01
javiergs
PRO
1
400
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
190
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
220
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
CSC509 Lecture 04
javiergs
PRO
0
290
Featured
See All Featured
Designing for Performance
lara
610
69k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Raft: Consensus for Rubyists
vanstee
139
7.1k
KATA
mclloyd
32
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Automating Front-end Workflow
addyosmani
1371
200k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Bash Introduction
62gerente
615
210k
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