1. The future of DevOps at Softlayer
● Goals
– One click reliable deployment
– Visibility into every line of configuration past and present
– Each person has their own isolated environment to learn and make
mistakes in
– Anyone on any team can contribute to the infrastructure
● Our Solutions
– Configuration management with Ansible
– Configuration as code with Ansible and Git
– Vagrant to set up local developer instances
– Anyone can make a pull request to the project since its just code.
2. Things best left in the past...
● That one person who knows the whole system and everyone
relies on. We should strive to eliminate human related single
points of failure and bottlenecks.
● Anything configured by hand. It doesn't scale. It leaves no
traces and is not reproducible. Even a single line changed by
hand is too much.
● Manual deployments. Every point in the process that requires a
human reduces reliability and causes massive bottlenecks.
3. Configuration management with Ansible
Why Ansible?
– Agentless: target systems just need SSH
– Powerful with a minimal learning curve
– Easy to understand code
Lets see a comparison with other configuration management
systems
6. Lets setup MariaDB and create a database in Ansible!
- name: install mariadb
yum: name={{item}} state=latest
with_items:
- mariadb
- mariadb-server
- MySQL-python
- name: setup mariadb config
template: src=my.cnf.j2 dest=/etc/my.cnf
- name: start and enable mariadb
service: name=mariadb state=started enabled=yes
- name: create nova database
mysql_db: name=nova state=present
- name: create nova database user
mysql_user:
name: nova
host: "{{ item }}"
password: "{{ nova_mysql_password }}"
priv: nova.*:ALL
state: present
with_items:
- "%"
- localhost
- "{{openstack_mariadb_host}}"
7. Vagrant + Virtualbox
● Reproducible development environments for the masses.
● The days of worrying about stepping on others feet in a shared
development environment are over.
● Clean slate whenever you need it. A good practice is to reset your
development environment once a day. Favor destruction over
halting.
● Quick and painless delivery of vm images.
● Becomes even more useful when you have to spin up multiple
machines.