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
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
96
Agile Antipatterns
willhamill
0
140
Building your Technical Profile
willhamill
0
71
Agile Architecture
willhamill
0
130
Agile 101
willhamill
4
220
Other Decks in Programming
See All in Programming
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
1.8k
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.5k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.3k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
110
AIエージェントの隔離技術の徹底比較
kawayu
0
460
Claspは野良GASの夢をみるか
takter00
0
160
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.6k
Swiftのレキシカルスコープ管理
kntkymt
0
210
Oxlintのカスタムルールの現況
syumai
5
980
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Why Our Code Smells
bkeepers
PRO
340
58k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Balancing Empowerment & Direction
lara
6
1.1k
The Limits of Empathy - UXLibs8
cassininazir
1
350
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
GraphQLとの向き合い方2022年版
quramy
50
15k
Designing for Timeless Needs
cassininazir
1
250
For a Future-Friendly Web
brad_frost
183
10k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The SEO identity crisis: Don't let AI make you average
varn
0
480
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