vagrant + saltstack + django - ararat poghosyan - dm10

18
Ararat Poghosyan Backend Developer at Geno6 [email protected] Twitter: @araratpoghosyan Skype: ararat.poghosyan

Upload: ararat-poghosyan

Post on 13-Apr-2017

339 views

Category:

Engineering


4 download

TRANSCRIPT

Ararat Poghosyan

Backend Developer at Geno6

[email protected]: @araratpoghosyanSkype: ararat.poghosyan

Vagrant + SaltStack + Django

LIGHT AT THE END OF A TUNNEL

The Story

• There was a developer• And his team• And a project• And a server• AND THE DEPLOYMENT PROBLEM

Possible Solutions

• Setup Scripts• Readme• Manual Setup

Still Problems?

• Operating System (Windows, Mac OS X, Linux, etc.)

• Conflicts• Something is missing• Speed• Not Repeatable

What is Vagrant?

• VM in few steps• Easy to configure• Simple provision• Supports VirtualBox, VMWare, etc.• Fast

Vagrant is a portable development environment

Vagrant Concepts

• Boxes: Preinstalled templates• Vagrantfile• Vagrant CLI

$vagrant up

$vagrant halt

$vagrant ssh

Vagrant Features

• Networking• Synced folders• Port forwarding• Provisioning: Puppet, Chef, SaltStack,

Shell scripts, etc.

The Vagrantfile

Provisioning

Who is using?

What is SaltStack

• Easy to learn• Written in Python• Active community• Awesome

SaltStack is an orchestration and software configuration management tool

SaltStack Features

• Language agnostic• Simple and easy: YAML and Jinja

templates• Can work in masterless mode• Configure packages, services and files• More than 200 built-in states• Create your own modules

The State

nginx: pkg: - installed service: - running - enable: True - watch: - file: /etc/nginx/sites-enabled/* - require: - pkg: nginx

Configuration

mysql-base: mysql_database.present: - name: {{ pillar["mysql"]["database"] }} - require: - service: mysql

mysql:user: rootpassword: passworddatabase: symba

Who Is Using

Example))

Thank You!!!