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.
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.
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
Now 10,227!!
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}}"
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.

Softlayer devops

  • 1.
    The future ofDevOps 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 leftin 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 withAnsible 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
  • 4.
  • 6.
    Lets setup MariaDBand 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.