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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Will Hamill
March 13, 2014
Programming
120
1
Share
Micro Services
Presentation given at Codeslice event on micro-services.
Will Hamill
March 13, 2014
More Decks by Will Hamill
See All by Will Hamill
Understanding Tech Strategy with Wardley Maps
willhamill
1
320
Splitting the Monolith
willhamill
0
320
Making Yourself Redundant
willhamill
0
92
Agile Antipatterns
willhamill
0
130
Building your Technical Profile
willhamill
0
65
Agile Architecture
willhamill
0
130
Agile 101
willhamill
4
220
Other Decks in Programming
See All in Programming
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
140
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
160
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
130
Programming with a DJ Controller — not vibe coding
m_seki
3
810
AgentCore Optimizationを始めよう!
licux
3
230
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
260
Road to RubyKaigi: Play Hard(ware)
makicamel
1
560
when storing skills in S3 file
watany
3
1.5k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
280
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Skip the Path - Find Your Career Trail
mkilby
1
120
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
エンジニアに許された特別な時間の終わり
watany
106
240k
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