Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DC OS more than PAAS
Search
Nikita Borzykh
May 31, 2016
Technology
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DC OS more than PAAS
Nikita Borzykh
May 31, 2016
Other Decks in Technology
See All in Technology
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
今さら理解するウェブフォントver.2026
takanorip
3
770
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
パッチ更新でterraform initが落ちた日
grimoh
1
140
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
160
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
Refining Active Record
shugo
0
150
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.6k
A better future with KSS
kneath
240
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to make the Groovebox
asonas
2
2.5k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
HDC tutorial
michielstock
2
960
Exploring anti-patterns in Rails
aemeredith
4
540
Transcript
DC/OS – Больше чем PAAS* Никита Борзых, Экспресс 42 *Рассказ
про будущее
2 Whoami 2009г, Xen, InfiniBand, custom L2 over L3, Chef
2012г, Devops :) 2011г, Chef, Web, Rails, soft skills
• Анализ текущей ситуации в индустрии, обозначение проблем • DC/OS:
место под солнцем, концепция, компоненты • Наш опыт 3 План
4 鲫鳍鳋鳁鳇鳏 鲲鳁鳊鳊鳋鳎鳏鳙 鲦鳈鳅鳁鳊鳏 Ценность
5 &QEMGT 2##5 #PUKDNG 6GUV-KVEJGP #PUKDNG %JGH &QEMGT!!
%JGH!! &QEMGT #PUKDNG %JGH Buzz график $W\\ !!! !! !!
6 1/2/3 приложения и/или монолитное приложение хранилище данных DB/back/front Устройство
проекта:
7 – конфигурация ПО: Chef/Ansible – деплой: Capistrano, Fabric –
configuration drift DB/back/front Изменения:
8 DB/back/front – рассчитать потребление ресурсов просто – понятно какой
компонент где запускать Поддержка:
9 – стандарт упаковки – не собираем на продакшене(ruby, python)
– конфигурация вместе с сервисом DB/back/front Docker экосистема упрощает жизнь:
10 (Микро)сервисы &$DCEMHTQPV 鲨鳅鳇鳍鳋鳎鳁鳍鲾鳅鳎鳘
11 Микросервисы – 10/20/30 компонентов – могут иметь связи any-to-any
– компоненты появляются и исчезают – реестр сервисов(static, dynami, service discovery) Устройство проекта:
12 Микросервисы – конфигурация ПО: Chef/Ansible – capistrano/fabric – неудобно
– configuration drift!!! Изменения:
13 Микросервисы – рассчитать потребление ресурсов сложно – ручная аллокация
приложений Поддержка:
14 Docker экосистема опять все упрощает: Микросервисы – стандартизация –
изоляция – docker compose – chef/ansible – большая плотность на один хост
15 Микросервисы
16 Микросервисы
17 Жизнь вне AWS “Обычная” площадка $CTGOGVCN #RRU $CTGOGVCN 8/ņU
DEV/QA в офисе !!! #RRU 8/ņU Облако #RRU #RRU #RRU !!! #RRU !!! Где-то у заказчика
18 Свой low-level под каждую площадку Способ деплоя зависит от
площадки Сложность поддержки: количество сервисов X количество площадок Жизнь вне AWS
19 Рефлексия
19 Когда вы в последний раз выделяли память для запуска
приложения на своем ноутбуке? (OS делают это за нас уже почти пол века!) Рефлексия
19 Когда вы в последний раз выделяли память для запуска
приложения на своем ноутбуке? (OS делают это за нас уже почти пол века!) Зачем чинить то, что сломалось? Рефлексия
19 Когда вы в последний раз выделяли память для запуска
приложения на своем ноутбуке? (OS делают это за нас уже почти пол века!) Зачем чинить то, что сломалось? Зачем нам концепция “Сервер”? Рефлексия
20 “Почему я вообще должен об этом всем думать? Я
же DevOps, я хочу docker и общаться в telegram за devops практики!”
21 Работать должны роботы!
22 Datacenter is a new computer
23 Data Center Operation System(DC/OS)
23 Data Center Operation System(DC/OS) – Автоматическое управление ресурсами в
рамках всего ДЦ
23 Data Center Operation System(DC/OS) – Автоматическое управление ресурсами в
рамках всего ДЦ – Автоматический Service Discovery для всех компонентов вашего проекта
24 DC/OS
24 DC/OS – Cloud agnostic
24 DC/OS – Cloud agnostic – Единая точка управления проектом
и датацентром через WEB UI и CLI
25 Это что за ребята?
25 Это что за ребята? 2009 Mesos initial white paper
25 Это что за ребята? 2009 Mesos initial white paper
May 2013 2.25M(Seed)
25 Это что за ребята? 2009 Mesos initial white paper
May 2013 2.25M(Seed) Jun 2014 $10.5M(A), Dec $36M(B)
25 Это что за ребята? 2009 Mesos initial white paper
May 2013 2.25M(Seed) Jun 2014 $10.5M(A), Dec $36M(B) Apr 2016 DC/OS Opensource
25 Это что за ребята? 2009 Mesos initial white paper
May 2013 2.25M(Seed) Jun 2014 $10.5M(A), Dec $36M(B) Apr 2016 DC/OS Opensource Mar 2016 $73.5M(C) from MS and HPE
26 Кто пользуется? – Apple(Siri) – Airbnb – Adobe –
Verizon – PayPal – eBay – Express 42 ;-)
27 ` Место в пищевой цепи(*)
28 OS Llinux, BSD, Windows init, systemd, cron, … YourApps
| Kafka | HDFS -GTPGN +PKVU[UVGO 5GTXKEGU #RRU Packages, DNS, Auth, Network, …
29 DC/OS
30 DC/OS Mesos YourApps | Kafka | HDFS Llinux, BSD,
Windows init, systemd, cron, … YourApps | Kafka | HDFS -GTPGN +PKVU[UVGO 5GTXKEGU #RRU Packages, DNS, Auth, Network, …
31 Mesos – Distrubuted systems kernel Нет, это не замена
linux kernel Другой уровень абстракции
31 Mesos – Distrubuted systems kernel Задачи похожи: Нет, это
не замена linux kernel Другой уровень абстракции
31 Mesos – Distrubuted systems kernel Задачи похожи: – управление
ресурсами Нет, это не замена linux kernel Другой уровень абстракции
31 Mesos – Distrubuted systems kernel Задачи похожи: – управление
ресурсами – управление процессами Нет, это не замена linux kernel Другой уровень абстракции
31 Mesos – Distrubuted systems kernel Задачи похожи: – управление
ресурсами – управление процессами – изоляция процессов Нет, это не замена linux kernel Другой уровень абстракции
32 Mesos – Distrubuted systems kernel
32 Mesos – Distrubuted systems kernel – Запускается на каждой
машине
32 Mesos – Distrubuted systems kernel – Запускается на каждой
машине – Masters HA используя ZooKeeper
32 Mesos – Distrubuted systems kernel – Запускается на каждой
машине – Masters HA используя ZooKeeper – Скейлится до 10000 хостов
32 Mesos – Distrubuted systems kernel – Запускается на каждой
машине – Masters HA используя ZooKeeper – Скейлится до 10000 хостов – SDK для написания распределенных приложений
33 Mesos – Distrubuted systems kernel
33 Mesos – Distrubuted systems kernel – Изоляторы: Docker и
Mesos контейнеры
33 Mesos – Distrubuted systems kernel – Изоляторы: Docker и
Mesos контейнеры – Дифференциация через Roles
34 Mesos Standby Mesos Master Leader Mesos Master Standby Mesos
Master Mesos Executor Docker Executor Task Task Mesos Agent 1HHGT Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User
35 Standby Mesos Master Leader Mesos Master Standby Mesos Master
Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User 6CUMKPKV Mesos – Task Launch
36 Standby Mesos Master Leader Mesos Master Standby Mesos Master
Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User 4GUQWTEGQHHGT 1HHGT Mesos – Task Launch
37 Mesos – Offers cpus(fast):4; mem(fast):4096; ports(fast):[1025-7000] cpus(*):16; mem(*):8192; ports(*):[1025-65535]
cpus(*):8; mem(*):32768; ports(*):[1025-65535]
38 Standby Mesos Master Leader Mesos Master Standby Mesos Master
Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User #EEGRV1HHGT 1HHGT Mesos – Task Launch
39 Standby Mesos Master Leader Mesos Master Standby Mesos Master
Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User 6CUMNCWPEJ 6CUMNCWPEJ Mesos – Task Launch
40 Standby Mesos Master Leader Mesos Master Standby Mesos Master
Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User 'ZGEWVQTNCWPEJ Mesos – Task Launch
41 Mesos – Task Launch Standby Mesos Master Leader Mesos
Master Standby Mesos Master Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User 4GVWTP6CUMUVCVWU
42 Mesos – Fault Tollerance New Leader Mesos Master Leader
Mesos Master Standby Mesos Master Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User
43 Mesos – Fault Tollerance New Leader Mesos Master Leader
Mesos Master Standby Mesos Master Mesos Executor Docker Executor Task Task Mesos Agent Mesos Executor Docker Executor Task Task Mesos Agent Framework scheduler ZK ZK ZK User
None
None
46 DC/OS Mesos Marathon, Kubernetes, Spark YourApps | Kafka |
HDFS Llinux, BSD, Windows init, systemd, cron, … YourApps | Kafka | HDFS -GTPGN +PKVU[UVGO 5GTXKEGU #RRU Packages, DNS, Auth, Network, …
47 Marathon – Distrubuted systems init
47 Marathon – Distrubuted systems init – Принцип как у
systemd
47 Marathon – Distrubuted systems init – Принцип как у
systemd – Другой уровень абстракции
47 Marathon – Distrubuted systems init – Принцип как у
systemd – Другой уровень абстракции – Health check приложений
47 Marathon – Distrubuted systems init – Принцип как у
systemd – Другой уровень абстракции – Health check приложений – Rolling deploy pattern
48 Marathon – Distrubuted systems init
48 Marathon – Distrubuted systems init – HA используя ZooKeeper
48 Marathon – Distrubuted systems init – HA используя ZooKeeper
– Нативная поддержка Docker
48 Marathon – Distrubuted systems init – HA используя ZooKeeper
– Нативная поддержка Docker – Web UI, REST API, Event API
48 Marathon – Distrubuted systems init – HA используя ZooKeeper
– Нативная поддержка Docker – Web UI, REST API, Event API – Декларативное описание приложений
None
None
None
None
None
None
None
56 Marathon – your-app.json .......... "id": "/test-group/python-look-and-feel", "instances": 2, "cpus":
0.2, "disk": 0, "mem": 128, "cmd": "python -m SimpleHTTPServer 8000” ..........
57 Marathon – your-app.json ............ "healthChecks": [{ "gracePeriodSeconds": 60, "intervalSeconds":
10, "maxConsecutiveFailures": 3, "path": "/", "portIndex": 0, "protocol": "HTTP", "timeoutSeconds": 10 }] ............
58 Marathon – Rolling Deploy pattern
59 Mesos Frameworks
60 Mesos Frameworks – Kafka
60 Mesos Frameworks – Kafka Старт kafka framework в marathon
(отдельное приложение)
60 Mesos Frameworks – Kafka Старт kafka framework в marathon
(отдельное приложение) kafka framework стартует брокеры
60 Mesos Frameworks – Kafka Старт kafka framework в marathon
(отдельное приложение) kafka framework стартует брокеры kafka framework управляет жизненным циклом брокеров:
60 Mesos Frameworks – Kafka Старт kafka framework в marathon
(отдельное приложение) kafka framework стартует брокеры kafka framework управляет жизненным циклом брокеров: создание/удаление топиков, брокеров, ребалансировка итд.
61 DC/OS Mesos Marathon, Сhronos, your app DC/OS Services YourApps
| Kafka | HDFS Llinux, BSD, Windows init, systemd, cron, … YourApps | Kafka | HDFS -GTPGN +PKVU[UVGO 5GTXKEGU #RRU Packages, DNS, Auth, Network, … &%15
62 DC/OS Dashboard DC/OS CLI Network & Service Discovery DC/OS
Dashboard Packages: Cosmos, Universe
None
None
None
None
None
68 DC/OS Packages DC/OS CLI Network & Service Discovery DC/OS
Dashboard Packages: Cosmos, Universe
None
None
None
None
73 DC/OS CLI Network & Service Discovery DC/OS Dashboard Packages:
Cosmos, Universe DC/OS CLI
74 DC/OS CLI
74 DC/OS CLI – Полное управление всем DC/OS стеком
74 DC/OS CLI – Полное управление всем DC/OS стеком –
Расширения для CLI
75 DC/OS CLI
75 DC/OS CLI dcos marathon app add ./python-look-and-feel.json
75 DC/OS CLI dcos marathon app add ./python-look-and-feel.json dcos package
install kafka --options=kafka-custom.json
75 DC/OS CLI dcos marathon app add ./python-look-and-feel.json dcos package
install kafka --options=kafka-custom.json dcos kafka topic create --replication 2 test-topic
76 DC/OS Service Discovery Network & Service Discovery DC/OS Dashboard
Packages: Cosmos, Universe DC/OS CLI
77 Network
77 Network Docker BRIDGE, HOST
77 Network Docker BRIDGE, HOST projectcalico.org, calico-mesos
78 MesosDNS
79 Service Discovery – Minuteman
79 Service Discovery – Minuteman Распределенный балансировщик для использования внутри
mesos
79 Service Discovery – Minuteman Распределенный балансировщик для использования внутри
mesos iptables NFQueue + erlang daemon
79 Service Discovery – Minuteman Распределенный балансировщик для использования внутри
mesos iptables NFQueue + erlang daemon Marathon network labels
79 Service Discovery – Minuteman Распределенный балансировщик для использования внутри
mesos iptables NFQueue + erlang daemon Marathon network labels Для постоянных подключений
80 Service Discovery – Minuteman service2 VIP: 10.10.0.10 meson-agent-host Minuteman
meson-agent-host Minuteman service1 service2 VIP: 10.10.0.10 service2 VIP: 10.10.0.10
81 Express 42 доставляет!
82 Traefik HTTP Балансировщик для микросервисов
82 Traefik – работает через Marathon Event API HTTP Балансировщик
для микросервисов
82 Traefik – работает через Marathon Event API – zerotime
rolling deployment pattern HTTP Балансировщик для микросервисов
82 Traefik – работает через Marathon Event API – zerotime
rolling deployment pattern – собственные метрики, API HTTP Балансировщик для микросервисов
82 Traefik – работает через Marathon Event API – zerotime
rolling deployment pattern – собственные метрики, API – TLS / Websockets / HTTP2 HTTP Балансировщик для микросервисов
83 %+ )+6 %+ 'PIKPG &QEMGTTGIKUVT[ CRR CRR CRR &%15
'PIKPG 5GTXKEG &KUEQXGT[ CRR CRR CRR CRR CRR CRR CRR CRRP Continuous Delivery
84 Jenkins CI
85 Jenkins CI node('jenkins-dnd') { docker.withRegistry('https://registry.demo.express42.net', '5ffddaa8-50f7-4b97-910d-dc476707e1dd') { stage 'Checkout
repository' git credentialsId: '19da5a63-278a-4664-a187-5a804d6e033a', url: '
[email protected]
:express42/microservices-demo-apps.git' stage 'Pull latest blog-ui image' docker.image('blog-ui:latest').pull() stage 'Build blog-ui image' image = docker.build('blog-ui', 'blog_ui') stage 'Push blog-ui image' image.push('latest') } }
86 Jenkins CI stage 'Make blog-ui docker image' build 'build-blog-ui'
stage 'Make blog-backend docker image' build 'build-blog-backend' stage 'Request for approval' input 'Ready to go?' node('jenkins-dnd') { stage 'Deploy to DEMO' git credentialsId: '19da5a63-278a-4664-a187-5a804d6e033a', url: '<URL>' dcos_image = docker.image('<URL>/dcos_cli:latest') marathonctl_image.inside() { sh 'dcos marathon group update /microservices-demo ./blog1.json' } }
87 Точки внимания – Мониторинг – prometheus & marathon labels?
– Централизованные логи – Продумайте вашу сеть
88 Docs http://dcos.io http://www.meetup.com/DC-OS-Online-Meetup DC/OS slack чатик – http://chat.mesosphere.com
89 Подкаст Сайт: http://devopsdeflope.ru Новости: https://telegram.me/devops_deflope
90 Meetup http://www.meetup.com/DevOps-Moscow-in-Russian/
91 @ex_sample http://telegram.me/minicon
[email protected]
Спасибо, вопросы