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
290
Splitting the Monolith
willhamill
0
300
Making Yourself Redundant
willhamill
0
66
Agile Antipatterns
willhamill
0
100
Building your Technical Profile
willhamill
0
46
Agile Architecture
willhamill
0
110
Agile 101
willhamill
4
200
Other Decks in Programming
See All in Programming
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
150
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
480
Pydantic x Database API:turu-pyの開発
yassun7010
1
450
NANIMACHI
naokiito
0
930
XP2024 っていう国際会議に行ってきたよの記 / XP2024 Conference Report
bonotake
4
160
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
220
◯◯エンジニアになった理由
gessy0129
PRO
0
590
CSC509 Lecture 02
javiergs
PRO
0
160
CDKを活用した 大規模コンテナ移行 プロジェクトの紹介
yoyoyopg
0
230
個人開発で使ってるやつを紹介する回
yohfee
1
650
Removing Corepack
yosuke_furukawa
PRO
9
1.1k
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
240
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
8.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
48k
Mobile First: as difficult as doing things right
swwweet
222
8.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
279
13k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
The Invisible Customer
myddelton
119
13k
Building Applications with DynamoDB
mza
90
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
BBQ
matthewcrist
84
9.2k
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