Денис Зайцев "Как управлять облаками"

25
Денис Зайцев Я.Субботник в Санкт-Петербурге, 1 декабря 2012 Как управлять облаками Системный администратор

Upload: yandex

Post on 09-Jul-2015

942 views

Category:

Documents


5 download

DESCRIPTION

Построение высокопроизводительной отказоустойчивой системы невозможно без учета эксплуатационных требований. Администрирование, в особенности облаков, – весьма широкая тема, включающая в себя не только слежение за «прогнозами погоды», но и многое другое. Об этом рассказывается в докладе применительно к облачной платформе Яндекса.

TRANSCRIPT

Page 1: Денис Зайцев "Как управлять облаками"

Денис Зайцев

Я.Субботник в Санкт-Петербурге, 1 декабря 2012

Как управлять облаками

Системный администратор

Page 2: Денис Зайцев "Как управлять облаками"

2

• Деплой (выкладка и конфигурация исполняемого кода).

• Результаты тестов. • Конфигурация окружения.

Page 3: Денис Зайцев "Как управлять облаками"

3

Deployment

Page 4: Денис Зайцев "Как управлять облаками"

4

Rsync/scp

Page 5: Денис Зайцев "Как управлять облаками"

5

VCS (SVN, Git etc.)

Page 6: Денис Зайцев "Как управлять облаками"

6

Package(deb/rpm)

Page 7: Денис Зайцев "Как управлять облаками"

7

Continuous delivery

Page 8: Денис Зайцев "Как управлять облаками"

8

Rolling update

Page 9: Денис Зайцев "Как управлять облаками"

9

Page 10: Денис Зайцев "Как управлять облаками"

10

Page 11: Денис Зайцев "Как управлять облаками"

11

Page 12: Денис Зайцев "Как управлять облаками"

12

Dependency hell

Page 13: Денис Зайцев "Как управлять облаками"

13

Deploy in one click

Page 14: Денис Зайцев "Как управлять облаками"

14

Deploy

Page 15: Денис Зайцев "Как управлять облаками"

15

“get": {             "endpoint": "tcp://*:9300",             "type": "native-server",             "emit": "get"         }     },     "args": {         "elliptics": {             "logmask": 1,             "nodes": {                 "elisto01d.dev.yandex.net": 1025,#

Page 16: Денис Зайцев "Как управлять облаками"

16

github.com/yandex-load/yandex-tank

Page 17: Денис Зайцев "Как управлять облаками"

17

Page 18: Денис Зайцев "Как управлять облаками"

18

Page 19: Денис Зайцев "Как управлять облаками"
Page 20: Денис Зайцев "Как управлять облаками"

20

Page 21: Денис Зайцев "Как управлять облаками"

21

:~# ps fauxw | fgrep cocaine#/usr/bin/cocained \_ cocaine-slave --slave:app --slave:uuid# \_ cocaine-slave --slave:app --slave:uuid# \_ cocaine-slave --slave:app --slave:uuid####:~# strace -p 11002#Process 11002 attached - interrupt to quit clock_gettime(CLOCK_MONOTONIC, {13346723, 474289166}) = 0 poll([{fd=19, events=POLLIN}], 1, 0)    = 0 (Timeout) clock_gettime(CLOCK_MONOTONIC, {13346723, 474500319}) = 0 epoll_wait(16, {{EPOLLIN, {u32=19, u64=4294967315}}}, 64, 59743) = 1 clock_gettime(CLOCK_MONOTONIC, {13346723, 557426220}) = 0 poll([{fd=19, events=POLLIN}], 1, 0)    = 1 ([{fd=19, revents=POLLIN}])#:~# #

Page 22: Денис Зайцев "Как управлять облаками"

22

Page 23: Денис Зайцев "Как управлять облаками"

23

Page 24: Денис Зайцев "Как управлять облаками"
Page 25: Денис Зайцев "Как управлять облаками"

Денис Зайцев

[email protected] @oktocat

Системный администратор