SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Большая книга рецептов или часто задаваемые вопросы по
           управлению сложными системами

                   Титов Александр, Игорь Курочкин
                                Skype
Эволюция
•   Один сервер - ручное администрирование

•   5 серверов - набор скриптов, спагетти из shell кода

•   20 серверов - ?
Больше 20 машин - большая
         система
•   Начинают возникать проблемы из-за разницы
    конфигураций

•   Требуется большое количество документации

•   Стоимость поддержки сильно превышает стоимость
    внесения изменения

•   Надо управлять не отдельной машиной, а кластером
Чужой опыт

•   Суперкомпьютеры

•   Google

•   Facebook

•   Amazon
Своя платформа?
•   система автоматической установки машин (IaaS)

•   система управления конфигурацией (PaaS)

•   абстрактные сервисы - мониторинг, бэкапы (SaaS)

•   абстрактное управление
Cobbler. Автоматическая
          установка машин
•   Поддержка CentOS, RHEL, Debian, Ubuntu

•   Физические и виртуальные машины

•   Удобные инструменты - CLI, Web, API

•   Передача сервера в Chef
Chef. Управление
                 конфигурацией

•   Ohai (база данных о хостах)

•   Cookbooks

•   Roles

•   Environments
Chef. Поиск
Мониторинг

    •   Zabbix API

    •   Hosts, Groups, Templates

    •   Applications (Items, Triggers, Graphs)
Бэкапы

•   Конфигурация в Chef

•   Бэкапим статику, БД и репозитории

•   Автоматизируем
Лего

       •   LVM

       •   Firewall

       •   Accounts

       •   Repos
Cервис
•   создание разделов и директорий

•   создание пользователей и групп

•   поиск других хостов

•   установка пакетов, создание конфигов и стартовых
    скриптов

•   открытие портов, добавление проверок и задач для бэкапа

•   настройка системы деплоя
Chef как средство командной
           работы

              •   Система контроля версий

              •   Самодокументирование

              •   Общий стиль, подход, правила
Knife. Абстрактное управление
•   knife search node 'role:mysql' -r

•   knife ssh "role:ruby" "sudo /etc/init.d/nginx-passenger status"

•   knife ssh "role:ruby" interactive

•   knife ssh "role:ruby" tmux

•   knife ec2 server create -r "role[ruby]"

•   knife exec -E 'nodes.all {|n| puts "#{n.name} has #
    {n.memory.total} free memory"}'
Полезные ссылки
•   http://wiki.opscode.com/display/chef/Home

•   http://jtimberman.posterous.com/

•   http://vagrantup.com/

•   https://github.com/jedi4ever/veewee

•   http://blog.frameos.org/

•   http://blog.cyclecomputing.com/

•   http://www.jedi.be/blog/
Вопросы?
                   контакты:
mail: titoff.a@gmail.com, igor.itl@gmail.com
         twitter: @osminog, @ igoritl

Contenu connexe

Tendances

По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в Docker
Gonchik Tsymzhitov
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
pgdayrussia
 
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, MarilynСекреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
it-people
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
Timur Batyrshin
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Ontico
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
Provectus
 
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyleЗачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Yandex
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
ITCrowd Almaty
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Ontico
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
Yandex
 

Tendances (19)

HSE{Consult}: DevOps – новая методология разработки
HSE{Consult}: DevOps – новая методология разработкиHSE{Consult}: DevOps – новая методология разработки
HSE{Consult}: DevOps – новая методология разработки
 
По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в Docker
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
 
DevOps или исскуство ухода за Интернет-проектом
DevOps или исскуство ухода за Интернет-проектомDevOps или исскуство ухода за Интернет-проектом
DevOps или исскуство ухода за Интернет-проектом
 
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, MarilynСекреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
High Availability в жизни обычного разработчика
High Availability в жизни обычного разработчикаHigh Availability в жизни обычного разработчика
High Availability в жизни обычного разработчика
 
MySQL 101
MySQL 101MySQL 101
MySQL 101
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
 
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyleЗачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
Ansible on a great Moscow DevOps CM battle
Ansible on a great Moscow DevOps CM battleAnsible on a great Moscow DevOps CM battle
Ansible on a great Moscow DevOps CM battle
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 

Similaire à Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами (Александр Титов, Игорь Курочкин)

DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
Alexander Titov
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Ontico
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
Andrey Rebrov
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
Nikita Borzykh
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
Andrey Tokarchuk
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
IT-Portfolio
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Ontico
 

Similaire à Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами (Александр Титов, Игорь Курочкин) (20)

Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
 
Cobbler
CobblerCobbler
Cobbler
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Sivko
SivkoSivko
Sivko
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как код
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Workflows в Express 42
Workflows в Express 42Workflows в Express 42
Workflows в Express 42
 
PHP
PHPPHP
PHP
 
Chef @DevWeb
Chef @DevWebChef @DevWeb
Chef @DevWeb
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 

Plus de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Plus de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами (Александр Титов, Игорь Курочкин)

  • 1. Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами Титов Александр, Игорь Курочкин Skype
  • 2. Эволюция • Один сервер - ручное администрирование • 5 серверов - набор скриптов, спагетти из shell кода • 20 серверов - ?
  • 3. Больше 20 машин - большая система • Начинают возникать проблемы из-за разницы конфигураций • Требуется большое количество документации • Стоимость поддержки сильно превышает стоимость внесения изменения • Надо управлять не отдельной машиной, а кластером
  • 4. Чужой опыт • Суперкомпьютеры • Google • Facebook • Amazon
  • 5. Своя платформа? • система автоматической установки машин (IaaS) • система управления конфигурацией (PaaS) • абстрактные сервисы - мониторинг, бэкапы (SaaS) • абстрактное управление
  • 6. Cobbler. Автоматическая установка машин • Поддержка CentOS, RHEL, Debian, Ubuntu • Физические и виртуальные машины • Удобные инструменты - CLI, Web, API • Передача сервера в Chef
  • 7. Chef. Управление конфигурацией • Ohai (база данных о хостах) • Cookbooks • Roles • Environments
  • 9. Мониторинг • Zabbix API • Hosts, Groups, Templates • Applications (Items, Triggers, Graphs)
  • 10. Бэкапы • Конфигурация в Chef • Бэкапим статику, БД и репозитории • Автоматизируем
  • 11. Лего • LVM • Firewall • Accounts • Repos
  • 12. Cервис • создание разделов и директорий • создание пользователей и групп • поиск других хостов • установка пакетов, создание конфигов и стартовых скриптов • открытие портов, добавление проверок и задач для бэкапа • настройка системы деплоя
  • 13. Chef как средство командной работы • Система контроля версий • Самодокументирование • Общий стиль, подход, правила
  • 14. Knife. Абстрактное управление • knife search node 'role:mysql' -r • knife ssh "role:ruby" "sudo /etc/init.d/nginx-passenger status" • knife ssh "role:ruby" interactive • knife ssh "role:ruby" tmux • knife ec2 server create -r "role[ruby]" • knife exec -E 'nodes.all {|n| puts "#{n.name} has # {n.memory.total} free memory"}'
  • 15. Полезные ссылки • http://wiki.opscode.com/display/chef/Home • http://jtimberman.posterous.com/ • http://vagrantup.com/ • https://github.com/jedi4ever/veewee • http://blog.frameos.org/ • http://blog.cyclecomputing.com/ • http://www.jedi.be/blog/
  • 16. Вопросы? контакты: mail: titoff.a@gmail.com, igor.itl@gmail.com twitter: @osminog, @ igoritl