47

Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

  • Upload
    yandex

  • View
    379

  • Download
    3

Embed Size (px)

DESCRIPTION

Инфраструктура любого сервиса со временем растёт. Внедряются новые технологии, становится больше серверов, растут затраты на рутинные технические операции. В первой части доклада я расскажу в общем о процессах роста, а во второй на конкретных примерах покажу, как мы с этим справляемся. В частности, мы поговорим про Salt — систему управления конфигурацией.

Citation preview

Page 1: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Page 2: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Как справляться с ростом инфраструктуры сервиса

Игорь Андреев, системный администратор Я.Субботник, Новосибирск, 18 октября 2014

Page 3: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

План доклада ▌ Развитие инфраструктуры сервиса ▌ Salt ▌ Reclass ▌ Интеграция с другими системами ▌ Hadoop

Page 4: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Развитие инфраструктуры сервиса

4

Page 5: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Как люди воспринимают сервис

5

Пользователи

Page 6: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Как люди воспринимают сервис

6

Пользователи Разработчики

Page 7: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Как люди воспринимают сервис

7

Пользователи Разработчики Администраторы

Page 8: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Какой путь проходит сервис

Proof of concept

Page 9: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Какой путь проходит сервис

Proof of concept

Стабильная система

Page 10: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Какой путь проходит сервис

Proof of concept

Стабильная система

Page 11: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Масштабы роста

11

1 103

104

10???

1997 2007 2010 2014

Page 12: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Задачи

12

Page 13: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Мониторинг

13

▌ Juggler

▌ Graphite

Page 14: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Управление изменениями конфигурации

14

▌ Зафиксировать изменения у разработчика ▌ Скопировать эти изменения ▌ Применить изменения на тестовую среду ▌ Перенести на production

Page 15: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Configuration management systems

Page 16: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Salt

Page 17: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

17

Python

Yaml

ZeroMQ

File server

Parallel execution

Top 10 on GitHub

Page 18: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Архитектура

18

Page 19: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Описание конфигурации

19

Page 20: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Файловая структура

20

Page 21: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Grains

21

Page 22: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Grains

22

Page 23: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Pillar

23

Page 24: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Pillar

24

Page 25: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Как применяются изменения

25

Page 26: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Недостатки

26

Page 27: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Reclass

27

Page 28: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Recursive external node classification

▌ http://reclass.pantsfullofunix.net › Node › Class › Application › Parameters

Page 29: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Использование reclass с salt

29

Page 30: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Использование reclass с salt

30

Page 31: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Использование reclass с salt

31

Page 32: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Top.sls

32

Page 33: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Top.sls vs class.yml & host.yml

33

Page 34: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Command Line

34

salt “*” test.ping

Page 35: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Command Line

35

salt “*” test.ping

Где

Page 36: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Command Line

36

salt “*” test.ping

Что

Page 37: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Command line

37

Page 38: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Демонстрация

38

Page 39: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Интеграция с другими системами

Page 40: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Возможности

40

▌ Вся конфигурация в одном месте ▌ Экспорт в другие системы ▌ Запросы к reclass ▌ OpenStack

Page 41: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

41

Page 42: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Hadoop

42

Page 43: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Сложность управления

43

▌ Большое количество сервисов ▌ Сервисы зависят друг от друга ▌ Строгий порядок запуска и выключения

Page 44: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Управление кластерами

44

▌ Bootstrap ▌ Несколько копий окружения ▌ Переиспользование кода ▌ Защита от выкладки старой версии ▌ Open-source ▌ Интеграция с инфраструктурой

Page 45: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Управление кластерами

45

Page 46: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Вопросы?

46

Page 47: Как справляться с ростом инфраструктуры сервиса — Игорь Андреев

Контакты

47

▌ Игорь Андреев ▌ системный администратор ▌ E-mail: [email protected]