SlideShare a Scribd company logo
1 of 15
Download to read offline
Fabric
для управления серверами
Alex Zaitsev, Chief Cloud Architectat
Какая возникла проблема
* человек, работающий с большим
количеством серверов, не станет играть в эту
игру
1
Что нужно?
• Первоначальная настройка сервера
• Деплой софта
• Управление парком серверов
2
Тут нам помогут:
Puppet
Chef
Fabric
* лого нет, но есть картинка по запросу в гугле
3
Почему Fabric?
• Легкий и простой
• Гибкий
• Не требует клиентской части
4
Fabric - для айтишников,
которые любят порядок
* В ICQ вряд ли используют fabric
5
Fab, fab, fab...
пишем первый fabfile - упорядоченный набор методов
from fabric.api import env, run
env.hosts = [‘localhost’]
def my_task():
run('rm -rf /*')
6
А если много серверов?
* датацентр SUN мог бы не стать заброшенным,
если бы они использовали автоматизацию на Python 7
А если много серверов?
from fabric.api import env, run
env.roledefs = {
'web': [‘server1’, ‘server2’, ‘server3’],
‘dev’: [‘server3’, ‘server4’],
}
@roles(‘web’)
def my_task():
run('rm -rf /*')
8
Михалыч, запускай!
from fabric.api import execute
from fabfile import my_task
execute(my_task)
Из кода:
# fab my_task
Из консоли:
9
Не меняйте привычки
# fab my_task -i /path/to/key.pem
# fab my_task -H server3 -u dev -p passwd
# fab my_task --hosts=server1,server5
10
Конфигурирование
* Кадр из какого-то фильма ужасов 11
Конфигурирование
env.user = 'dev'
env.parallel = True
env.linewise = True
env.skip_bad_hosts = True
env.connection_attempts = 3
env.key_filename = ssh_key_path
env.warn_only = True
12
Не только запуск команд
def copy_to_remote_server():
put(‘/local/path’, ‘/remote/path’)
def copy_from_remote_server():
get('/remote/path', '/local/path)
13
Буду рад пообщаться
Саша Зайцев
me@azaitsev.com
twitter.com/adeby
14

More Related Content

What's hot

Зачем программистам Ansible
Зачем программистам AnsibleЗачем программистам Ansible
Зачем программистам AnsibleDenis Honig
 
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человекаNETFest
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_rumcroitor
 
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшнаCI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшнаMail.ru Group
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"Provectus
 
Ec2 Startups Hackday09
Ec2 Startups Hackday09Ec2 Startups Hackday09
Ec2 Startups Hackday09guest967991f2
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)AvitoTech
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
Дмитрий Семенов "Архитектура Upwork"
Дмитрий Семенов "Архитектура Upwork"Дмитрий Семенов "Архитектура Upwork"
Дмитрий Семенов "Архитектура Upwork"Fwdays
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_rumcroitor
 
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 battleAlex Chistyakov
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр КолесеньIT Share
 
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»DataArt
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.DrupalSib
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр АдриановYana Kazantseva
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.NTR Lab
 

What's hot (19)

Зачем программистам Ansible
Зачем программистам AnsibleЗачем программистам Ansible
Зачем программистам Ansible
 
Применяем Ansible
Применяем AnsibleПрименяем Ansible
Применяем Ansible
 
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человека
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшнаCI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Chef (Rus)
Chef (Rus)Chef (Rus)
Chef (Rus)
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
 
Ec2 Startups Hackday09
Ec2 Startups Hackday09Ec2 Startups Hackday09
Ec2 Startups Hackday09
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Дмитрий Семенов "Архитектура Upwork"
Дмитрий Семенов "Архитектура Upwork"Дмитрий Семенов "Архитектура Upwork"
Дмитрий Семенов "Архитектура Upwork"
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_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
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
 
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр Адрианов
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.
 

Viewers also liked

Physical is the new digital
Physical is the new digitalPhysical is the new digital
Physical is the new digitalkgbmurphy
 
Breakfast forward2013kevinmurphy
Breakfast forward2013kevinmurphyBreakfast forward2013kevinmurphy
Breakfast forward2013kevinmurphykgbmurphy
 
Python легко и просто. Красиво решаем повседневные задачи
Python легко и просто. Красиво решаем повседневные задачиPython легко и просто. Красиво решаем повседневные задачи
Python легко и просто. Красиво решаем повседневные задачиMaxim Kulsha
 
World tourism asia&europe
World tourism   asia&europeWorld tourism   asia&europe
World tourism asia&europeHealth & Beauty
 
Branded Entertainment in Asia
Branded Entertainment in AsiaBranded Entertainment in Asia
Branded Entertainment in AsiaIan Stewart
 
Asia Entertainment & Resorts Nov. 2009 Investor Presentation
Asia Entertainment & Resorts Nov. 2009 Investor PresentationAsia Entertainment & Resorts Nov. 2009 Investor Presentation
Asia Entertainment & Resorts Nov. 2009 Investor PresentationGeoInvesting LLC
 

Viewers also liked (6)

Physical is the new digital
Physical is the new digitalPhysical is the new digital
Physical is the new digital
 
Breakfast forward2013kevinmurphy
Breakfast forward2013kevinmurphyBreakfast forward2013kevinmurphy
Breakfast forward2013kevinmurphy
 
Python легко и просто. Красиво решаем повседневные задачи
Python легко и просто. Красиво решаем повседневные задачиPython легко и просто. Красиво решаем повседневные задачи
Python легко и просто. Красиво решаем повседневные задачи
 
World tourism asia&europe
World tourism   asia&europeWorld tourism   asia&europe
World tourism asia&europe
 
Branded Entertainment in Asia
Branded Entertainment in AsiaBranded Entertainment in Asia
Branded Entertainment in Asia
 
Asia Entertainment & Resorts Nov. 2009 Investor Presentation
Asia Entertainment & Resorts Nov. 2009 Investor PresentationAsia Entertainment & Resorts Nov. 2009 Investor Presentation
Asia Entertainment & Resorts Nov. 2009 Investor Presentation
 

Similar to Fabric для управления серверами

Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
presentation_r00t_conf
presentation_r00t_confpresentation_r00t_conf
presentation_r00t_confMax Glekov
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»FDConf
 
Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)Ontico
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013Alex Chistyakov
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Serguei Gitinsky
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...DevGAMM Conference
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected loadGrid Dynamics
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами7bits
 
Ec2 Startups Hackday09
Ec2 Startups Hackday09Ec2 Startups Hackday09
Ec2 Startups Hackday09guesta016ac6
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Badoo Development
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Ontico
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploykuchinskaya
 
HighLoad++ 2019: iptables + consul = :3
HighLoad++ 2019: iptables + consul = :3HighLoad++ 2019: iptables + consul = :3
HighLoad++ 2019: iptables + consul = :3Ivan Agarkov
 
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва  Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва it-people
 

Similar to Fabric для управления серверами (20)

Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
presentation_r00t_conf
presentation_r00t_confpresentation_r00t_conf
presentation_r00t_conf
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
 
Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...
CI/CD в Playrix: Как собирать тысячи билдов в день для разных платформ / Юрий...
 
Sivko
SivkoSivko
Sivko
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
 
Ec2 Startups Hackday09
Ec2 Startups Hackday09Ec2 Startups Hackday09
Ec2 Startups Hackday09
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploy
 
HighLoad++ 2019: iptables + consul = :3
HighLoad++ 2019: iptables + consul = :3HighLoad++ 2019: iptables + consul = :3
HighLoad++ 2019: iptables + consul = :3
 
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва  Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 

Fabric для управления серверами