Большая книга рецептов или часто задаваемые вопросы...

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

Transcript of Большая книга рецептов или часто задаваемые вопросы...

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

Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами

Титов Александр, Игорь КурочкинSkype

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

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

• 20 серверов - ?

Эволюция

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

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

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

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

Больше 20 машин - большая система

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

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

• Facebook

• Amazon

Чужой опыт

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

Своя платформа?

• система автоматической установки машин (IaaS)

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

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

• абстрактное управление

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

• Поддержка CentOS, RHEL, Debian, Ubuntu

• Физические и виртуальные машины• Удобные инструменты - CLI, Web, API

• Передача сервера в Chef

Cobbler. Автоматическая установка машин

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

Chef. Управление конфигурацией

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

• Cookbooks

• Roles

• Environments

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

Chef. Поиск

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

• Zabbix API

• Hosts, Groups, Templates

• Applications (Items, Triggers, Graphs)

Мониторинг

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

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

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

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

Бэкапы

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

• LVM

• Firewall

• Accounts

• Repos

Лего

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

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

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

Cервис

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

• Система контроля версий• Самодокументирование• Общий стиль, подход, правила

Chef как средство командной работы

Page 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"}'

Page 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/