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
CoreOS Overview
Search
Brian Akins
May 20, 2015
Technology
200
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CoreOS Overview
Brian Akins
May 20, 2015
More Decks by Brian Akins
See All by Brian Akins
Scaling For Planned Events
bakins
3
160
Large Scale Data Service as a Service
bakins
1
420
Growing Pains with Chef
bakins
0
99
Other Decks in Technology
See All in Technology
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
300
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
4
1.4k
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
2
190
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
Claude Codeをどのように キャッチアップしているか
oikon48
1
980
200個のGitHubリポジトリを横断調査したかった
icck
0
110
Chainlitで作るお手軽チャットUI
ynt0485
0
200
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
220
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
300
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
590
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Building the Perfect Custom Keyboard
takai
2
790
Un-Boring Meetings
codingconduct
0
310
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
How to Talk to Developers About Accessibility
jct
2
230
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Producing Creativity
orderedlist
PRO
348
40k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Designing Experiences People Love
moore
143
24k
Transcript
None
About Me Architect CoreOS @bakins github.com/bakins
None
Why build CoreOS?
run and isolate apps containers
what is it exactly? containers
libc python django app.py
$ /usr/bin/python run app.py
libc python django app.py
libc python django app.py example.com/myapp
$ container fetch example.com/myapp $ container run example.com/myapp
pid ns isolated pid 1
user ns isolated uid 0
network ns isolated netdev
mount ns isolated /
cgroups manage resources
cgroups count resources
cgroups limit resources
docker engine
None
google lmctfy cloud foundry garden mesos containers lxc systemd-nspawn
how are they created? containers
None
super-powers containers
App independence from the OS. System to get container to
the server. Resource isolation between apps.
reduced API contracts OS
kernel systemd etcd ssh docker python java nginx mysql openssl
app distro distro distro distro distro distro distr
None
python java nginx mysql openssl app distro distro distro distro
distro distro distr kernel systemd etcd ssh docker
python openssl-A app1 distro distro distro distro distro distro distr
java openssl-B app2 java openssl-B app3 kernel systemd etcd ssh docker
manual updates
automatic updates
automatic updates
atomic with rollback auto updates
None
None
super-powers OS
Opportunity for automatic updates. Consistent set of software across hosts.
Base OS independent from app.
Slight Detour cloud-init ignition toolbox
design for host failure clustering
None
/etc distributed
open source software sequentially consistent exposed via HTTP runtime reconfigurable
-X GET Get Wait -X PUT Put Create CAS -X
DELETE Delete CAD
Available
Available
Available
Unavailable
Available Leader Follower
Leader Follower Available
Leader Follower Temporarily Unavailable
Leader Follower Available
super-powers etcd
Share configuration data across hosts. Resilient to host failures. Designed
for consistency across hosts.
getting work to servers scheduling
You Scheduler API Scheduler Machine(s)
$ cat foo.service [Service] ExecStart=/usr/bin/sleep 500 $ fleetctl start foo.service
Job foo.service launched on e1cd2bcd.../172.17.8.101
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
fleet mesos kubernetes swarm job scheduling
locksmith coordination
super-powers scheduling
Think about app capacity first. Take advantage of compute resources.
Build for resilience to host failure.
skydns, discoverd, confd service discovery
magic proxies service discovery
overlay network
OS Containers Cluster Configuration Job Scheduling Service Discovery
None
Kubernetes Namespaces Containers Pods Replication Controllers Label Queries Services
None