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
Microservices Docker @Bonn Agile
Search
Timo Derstappen
October 17, 2014
Technology
2
120
Microservices Docker @Bonn Agile
Timo Derstappen
October 17, 2014
Tweet
Share
More Decks by Timo Derstappen
See All by Timo Derstappen
Automating Kubernetes Cluster Operations with Operators
teemow
0
90
Automating Kubernetes Cluster Operations with Operators
teemow
0
130
CoreOS @Codetalks
teemow
2
110
CoreOS @Railscamp
teemow
1
120
Other Decks in Technology
See All in Technology
より快適なエラーログ監視を目指して
leveragestech
4
1.5k
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
120
効果的なオンコール対応と障害対応
ryuichi1208
6
3.1k
DroidKaigi 2024 たすけて!ViewModel
mhidaka
5
950
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
240
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
110
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
930
リアルお遍路+SORACOM IoT
ozk009
1
140
Jetpack Compose Modifier 徹底解説 / Jetpack Compose Modifier
wiroha
0
200
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
310
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
110
学術機関におけるID連携とOpenID Connect
fujie
0
260
Featured
See All Featured
Teambox: Starting and Learning
jrom
131
8.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
Infographics Made Easy
chrislema
239
18k
How GitHub (no longer) Works
holman
310
140k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Music & Morning Musume
bryan
46
6k
Optimizing for Happiness
mojombo
375
69k
Transcript
Microservices with Docker Timo Derstappen @teemow
What are Microservices?
Example Application
• Small, focussed services • Independent Processes • Language agnostic
APIs • Highly decoupled Definition!?
Right tool for the job • Not bound to a
single Technology • No one-size-fits-all approach
Resilience • No monolith to fall over • Design to
fail • Circuit Breakers to avoid cascading failures
• Failures are going to happen • Reduce Mean Time
to Recover Distributed Systems
Scaling Only services that are constrained by performance need scaling.
Elastic (on-demand) scaling of smaller services leads to better cost control
Ease of Deployment Services can be deployed independently and faster.
Changing a monolith could have more impact and risk so deployments are slower.
“Organizations which design systems ... are constrained to produce designs
which are copies of the communication structures of these organizations.” — Melvin Conway
Composability • Re-use • Re-compose
Optimising for Replaceability Small services are rewritten or removed without
worrying too much
• Continuous delivery • Infrastructure Automation • Small autonomous teams
• Systems at scale • 12 Factor Apps Enabler
Where does Docker fit in?
• Lightweight • Fast • One process per container •
Composability Where does it match?
• Disposable components • Make your state explicit • Provision
at build-time • Configure at run-time Immutable Infrastructure
• Development • Unit/Integration Tests • Continuous delivery • Production
Docker Workflow
Development
• Vagrant • rbenv • nodeenv • virtualenv Your current
setup?
• Contains Build Tools • Each for every stack Dev
Container
# What about running oneshot containers with the build tool
inside. $ alias npm='docker run --rm -ti -v $(pwd):$(pwd) -w $(pwd) teemow/npm' $ npm install Aliases
web: build: . ports: - 8080:8080 volumes: - .:/app links:
- redis redis: image: dockerfile/redis Fig
Build Chain
Jenkins - Docker Hub Integration
Production
Install docker on a host and start your container. Use
fig to link your containers. Simple Container Hosting
• Scheduler • Service Discovery • Monitoring • Logging Container
Environment
but there are lots of options here. • Mesosphere •
Kubernetes • Consul • Project Atomic We ♥ CoreOS
Docker Cologne - CoreOS Meetup 19:00, 14th October Startplatz Brandon
Philips, CTO of CoreOS Luke Marsden, CTO of Flocker There is a Meetup in Cologne
Sign up for the Giant Swarm private Beta Request Invite
http://giantswarm.io/
Thanks for listening! Reach out: Timo Derstappen @teemow @giantswarm