Виртуализация как инструмент разработчика

577 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
577
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Виртуализация как инструмент разработчика

  1. 1. Виртуализация как инструмент разработчика Подготовлена специально для #openitpro Кириллов Александр, Web developer in UNDEV 1
  2. 2. Кому нужна виртуализация? • Датацентры и гибридные облака • Внутренняя инфраструктура • Просто инструмент • DevOps Engineer • Test Engineer • Developers 2
  3. 3. Зачем виртуализация разработчику? Если вы разработчик и... Несколько проектов + Зависимость от разных типов програмного обеспечения = Ваша машина просто напичкана мусором 3
  4. 4. Зачем виртуализация разработчику? Если вы разработчик и... Несколько проектов + Зависимость от разных версий програмного обеспечения = Ваша машина все еще напичкана мусором 4
  5. 5. Зачем виртуализация разработчику? Текущий разработчик (с частичной но не актуальной) информацией как воссоздать среду разработки + Новый разработчик в команде (с чистой машиной, или другой операционной системой) = Проблемы c установкой среды разработки, вплоть до невозможности работы на этой ОС 5
  6. 6. Зачем виртуализация разработчику? Development environment ≠ Production/Staging/CI environment = Синдром "Странно, а на моей машине работает!" 6
  7. 7. Идеальный вариант $> git clone git@github.com/user/project $> cd project $> $run_magic_command$ $> run_server -args 01. 02. 03. 04. 7
  8. 8. Идеальный вариант $> git clone git@github.com/user/project $> cd project $> vagrant up $> run_server -args 01. 02. 03. 04. 8
  9. 9. Vagrant Development environments made easy. http://vagrantup.com
  10. 10. Vagrant - это не только VirtualBox Vagrant providers: • VirtualBox • VMware • Hyper-V (Windows 8.1 only) • Parallels • Libvirt • AWS • DigitalOcean 10
  11. 11. Vagrant - это не только Chef Provisioning: • File, Shell • Ansible • Chef • Docker • Puppet • Salt • OpenShift 11
  12. 12. Vagrant. Дополнения, которые облегчат вам жизнь • vagrant-vbguest • vagrant-omnibus • vagrant-exec • vagrant-cachier • vagrant-hostmanager • vagrant-dns • vagrant-snap 12
  13. 13. 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
  14. 14. Vagrant. Стало гораздо проще! $> git clone git@github.com/user/project $> cd project $> vagrant up $> vagrant exec middleman server $> vagrant exec cap production deploy 01. 02. 03. 04. 05. 14
  15. 15. Vagrant. Ansible Основные архитектурные принципы 1. SIMPLY CLEAR 2. SIMPLY FAST 3. SIMPLY COMPLETE 4. SIMPLY EFFICIENT 5. SIMPLY SECURE 16
  16. 16. Vagrant. Ansible. Playbook: 17
  17. 17. Vagrant. Не все так безоблачно :-/ • Требователен к ресурсам машины • Довольно сложно дебажить из редактора/IDE • Shared folders (жить можно только через nfs) • ... 18
  18. 18. А вы пробовали Docker? 19
  19. 19. А вы пробовали Docker? • Application-centric • Automatic build • Versioning • Component re-use • Sharing • Tool ecosystem 20
  20. 20. И тут тоже проблемы • "Работает только в *nix • Общие ресурсы машины (сеть, диски, библиотеки, фс) • Работа через VirtualBox не тривиальна 21

×