Виртуализация как инструмент разработчика
TRANSCRIPT
![Page 1: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/1.jpg)
Виртуализация как инструментразработчикаПодготовлена специально для #openitpro
Кириллов Александр,
Web developer in UNDEV
1
![Page 2: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/2.jpg)
Кому нужна виртуализация?• Датацентры и гибридные облака
• Внутренняя инфраструктура
• Просто инструмент
• DevOps Engineer
• Test Engineer
• Developers
2
![Page 3: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/3.jpg)
Зачем виртуализация разработчику?Если вы разработчик и...
Несколько проектов
+
Зависимость от разных типов програмного обеспечения
=
Ваша машина просто напичкана мусором
3
![Page 4: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/4.jpg)
Зачем виртуализация разработчику?Если вы разработчик и...
Несколько проектов
+
Зависимость от разных версий програмного обеспечения
=
Ваша машина все еще напичкана мусором
4
![Page 5: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/5.jpg)
Зачем виртуализация разработчику?Текущий разработчик (с частичной но не актуальной) информацией
как воссоздать среду разработки
+
Новый разработчик в команде (с чистой машиной, или другой
операционной системой)
=
Проблемы c установкой среды разработки, вплоть до невозможности
работы на этой ОС
5
![Page 6: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/6.jpg)
Зачем виртуализация разработчику?Development environment
≠
Production/Staging/CI environment
=
Синдром "Странно, а на моей машине работает!"
6
![Page 7: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/7.jpg)
Идеальный вариант$> git clone [email protected]/user/project
$> cd project
$> $run_magic_command$
$> run_server -args
01.
02.
03.
04.
7
![Page 8: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/8.jpg)
Идеальный вариант$> git clone [email protected]/user/project
$> cd project
$> vagrant up
$> run_server -args
01.
02.
03.
04.
8
![Page 10: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/10.jpg)
Vagrant - это не только VirtualBoxVagrant providers:
• VirtualBox
• VMware
• Hyper-V (Windows 8.1 only)
• Parallels
• Libvirt
• AWS
• DigitalOcean
10
![Page 11: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/11.jpg)
Vagrant - это не только ChefProvisioning:
• File, Shell
• Ansible
• Chef
• Docker
• Puppet
• Salt
• OpenShift
11
![Page 12: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/12.jpg)
Vagrant. Дополнения, которые облегчатвам жизнь
• vagrant-vbguest
• vagrant-omnibus
• vagrant-exec
• vagrant-cachier
• vagrant-hostmanager
• vagrant-dns
• vagrant-snap
12
![Page 13: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/13.jpg)
Vagrant. Стало гораздо проще!...
# for vagrant-exec plugin
config.exec.root = "/vagrant"
config.exec.prepend_with "bundle exec", \
only: %w(rails rake unicorn sidekiq middleman)
config.exec.prepend_with "USER=Kirillov bundle exec",\
only: %w(cap)
...
01.
02.
03.
04.
05.
06.
07.
08.
13
![Page 14: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/14.jpg)
Vagrant. Стало гораздо проще!$> git clone [email protected]/user/project
$> cd project
$> vagrant up
$> vagrant exec middleman server
$> vagrant exec cap production deploy
01.
02.
03.
04.
05.
14
![Page 15: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/15.jpg)
![Page 16: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/16.jpg)
Vagrant. AnsibleОсновные архитектурные принципы
1. SIMPLY CLEAR
2. SIMPLY FAST
3. SIMPLY COMPLETE
4. SIMPLY EFFICIENT
5. SIMPLY SECURE
16
![Page 17: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/17.jpg)
Vagrant. Ansible. Playbook:
17
![Page 18: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/18.jpg)
Vagrant. Не все так безоблачно :-/• Требователен к ресурсам машины
• Довольно сложно дебажить из редактора/IDE
• Shared folders (жить можно только через nfs)
• ...
18
![Page 19: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/19.jpg)
А вы пробовали Docker?
19
![Page 20: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/20.jpg)
А вы пробовали Docker?• Application-centric
• Automatic build
• Versioning
• Component re-use
• Sharing
• Tool ecosystem
20
![Page 21: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/21.jpg)
И тут тоже проблемы• "Работает только в *nix
• Общие ресурсы машины (сеть, диски, библиотеки, фс)
• Работа через VirtualBox не тривиальна
21
![Page 22: Виртуализация как инструмент разработчика](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557624f3d8b42a4e1c8b4f88/html5/thumbnails/22.jpg)