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

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

  • Upload
    ontico

  • View
    1.376

  • Download
    1

Embed Size (px)

Citation preview

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/