Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Twitter: @saratovsource

Alexander Kirillov

April 13, 2014
Tweet

More Decks by Alexander Kirillov

Other Decks in Technology

Transcript

  1. Кому нужна виртуализация? • Датацентры и гибридные облака • Внутренняя

    инфраструктура • Рабочий инструмент • DevOps Engineer • Test Engineer • Developers 2
  2. Зачем виртуализация разработчику? Если вы разработчик и... Несколько проектов +

    Зависимость от разных типов програмного обеспечения = Ваша машина просто напичкана мусором 3
  3. Зачем виртуализация разработчику? Если вы разработчик и... Несколько проектов +

    Зависимость от разных версий програмного обеспечения = Ваша машина все еще напичкана мусором 4
  4. Зачем виртуализация разработчику? Текущий разработчик + Новый разработчик = Проблемы

    c установкой среды разработки, вплоть до невозможности работы на этой ОС 5
  5. Идеальный вариант $ > g i t c l o

    n e g i t @ g i t h u b . c o m / u s e r / p r o j e c t $ > c d p r o j e c t $ > $ r u n _ m a g i c _ c o m m a n d $ $ > r u n _ s e r v e r - a r g s 0 1 . 0 2 . 0 3 . 0 4 . 7
  6. Идеальный вариант $ > g i t c l o

    n e g i t @ g i t h u b . c o m / u s e r / p r o j e c t $ > c d p r o j e c t $ > v a g r a n t u p $ > r u n _ s e r v e r - a r g s 0 1 . 0 2 . 0 3 . 0 4 . 8
  7. Vagrant - это не только VirtualBox Vagrant providers: • VirtualBox

    • VMware • Hyper-V (Windows 8.1 only) • Parallels • Libvirt • AWS • DigitalOcean 10
  8. Vagrant - это не только Chef Provisioning: • File, Shell

    • Ansible • Chef • Docker • Puppet • Salt • OpenShift 11
  9. Vagrant. Дополнения, которые облегчат вам жизнь • vagrant-vbguest • vagrant-omnibus

    • vagrant-exec • vagrant-cachier • vagrant-hostmanager • vagrant-dns • vagrant-snap 12
  10. Vagrant. Стало гораздо проще! . . . # f o

    r v a g r a n t - e x e c p l u g i n c o n f i g . e x e c . r o o t = " / v a g r a n t " c o n f i g . e x e c . p r e p e n d _ w i t h " b u n d l e e x e c " , \ o n l y : % w ( r a i l s r a k e u n i c o r n s i d e k i q m i d d l e m a n ) c o n f i g . e x e c . p r e p e n d _ w i t h " U S E R = K i r i l l o v b u n d l e e x e c " , \ o n l y : % w ( c a p ) . . . 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 13
  11. Vagrant. Стало гораздо проще! $ > g i t c

    l o n e g i t @ g i t h u b . c o m / u s e r / p r o j e c t $ > c d p r o j e c t $ > v a g r a n t u p $ > v a g r a n t e x e c m i d d l e m a n s e r v e r $ > v a g r a n t e x e c c a p p r o d u c t i o n d e p l o y 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 14
  12. Vagrant. Не все так безоблачно :-/ • Требователен к ресурсам

    машины • Довольно сложно дебажить из редактора/IDE • Shared folders (жить можно только через nfs) • ... 18
  13. А вы пробовали Docker? • Application-centric • Automatic build •

    Versioning • Component re-use • Sharing • Tool ecosystem 20
  14. И тут тоже проблемы • "Работает только в *nix •

    Общие ресурсы машины (сеть, диски, библиотеки, фс) • Работа через VirtualBox не тривиальна 21