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

Post on 22-Jun-2015

180 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Vagrant - поднимаем проект на рабочей машине Vagrant может быть еще проще (Vagrant plugins) Как Ansible упрощает разворачивание проекта в Vagrant А вы пробовали Docker?

TRANSCRIPT

Виртуализация как инструментразработчикаПодготовлена специально для #openitpro

Кириллов Александр,

Web developer in UNDEV

1

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

• Внутренняя инфраструктура

• Просто инструмент

• DevOps Engineer

• Test Engineer

• Developers

2

Зачем виртуализация разработчику?Если вы разработчик и...

Несколько проектов

+

Зависимость от разных типов програмного обеспечения

=

Ваша машина просто напичкана мусором

3

Зачем виртуализация разработчику?Если вы разработчик и...

Несколько проектов

+

Зависимость от разных версий програмного обеспечения

=

Ваша машина все еще напичкана мусором

4

Зачем виртуализация разработчику?Текущий разработчик (с частичной но не актуальной) информацией

как воссоздать среду разработки

+

Новый разработчик в команде (с чистой машиной, или другой

операционной системой)

=

Проблемы c установкой среды разработки, вплоть до невозможности

работы на этой ОС

5

Зачем виртуализация разработчику?Development environment

Production/Staging/CI environment

=

Синдром "Странно, а на моей машине работает!"

6

Идеальный вариант$> git clone git@github.com/user/project

$> cd project

$> $run_magic_command$

$> run_server -args

01.

02.

03.

04.

7

Идеальный вариант$> git clone git@github.com/user/project

$> cd project

$> vagrant up

$> run_server -args

01.

02.

03.

04.

8

Vagrant

Development environments made easy.

http://vagrantup.com

Vagrant - это не только VirtualBoxVagrant providers:

• VirtualBox

• VMware

• Hyper-V (Windows 8.1 only)

• Parallels

• Libvirt

• AWS

• DigitalOcean

10

Vagrant - это не только ChefProvisioning:

• File, Shell

• Ansible

• Chef

• Docker

• Puppet

• Salt

• OpenShift

11

Vagrant. Дополнения, которые облегчатвам жизнь

• vagrant-vbguest

• vagrant-omnibus

• vagrant-exec

• vagrant-cachier

• vagrant-hostmanager

• vagrant-dns

• vagrant-snap

12

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

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

Vagrant. AnsibleОсновные архитектурные принципы

1. SIMPLY CLEAR

2. SIMPLY FAST

3. SIMPLY COMPLETE

4. SIMPLY EFFICIENT

5. SIMPLY SECURE

16

Vagrant. Ansible. Playbook:

17

Vagrant. Не все так безоблачно :-/• Требователен к ресурсам машины

• Довольно сложно дебажить из редактора/IDE

• Shared folders (жить можно только через nfs)

• ...

18

А вы пробовали Docker?

19

А вы пробовали Docker?• Application-centric

• Automatic build

• Versioning

• Component re-use

• Sharing

• Tool ecosystem

20

И тут тоже проблемы• "Работает только в *nix

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

• Работа через VirtualBox не тривиальна

21

top related