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

Ansible @ Scale Inside of Rackspace

Ansible @ Scale Inside of Rackspace

Walter Bentley

June 01, 2015
Tweet

More Decks by Walter Bentley

Other Decks in Technology

Transcript

  1. Ansible @ Scale Inside of Rackspace Walter Bentley, RPC Solutions

    Architect Twitter: @djstayflypro LinkedIn: http://goo.gl/r2p21i Github: wbentley15 Blog: hitchnyc.com
  2. 2 I started my 17-year IT career as an MS

    .ASP developer and transitioned into supporting web-based applications. The bulk of my time was spent providing production support as an on-call engineer. Who Am I?
  3. 3 What are we doing with Ansible? •  Deployment of

    our Private clouds (RPC) built on OpenStack! •  DevOps Automation and Advisory Service! •  Public/Private Cloud Administration/Upgrades! •  Deploying Hadoop for clouds"
  4. 4 www.rackspace.com Why Ansible? •  Clarity and ease of use!

    •  Creating playbooks is highly accessible for developers! •  Other groups in Rackspace already using Ansible, and Rackspace has a good relationship with them! •  Existing Ansible modules for overall Linux management and OpenStack! •  Ease of use in configuring hosts and containers! •  Only SSH and Python required on the target device, no clients/agents! •  Components and configurations can be upgraded or modified in isolation or combination"
  5. 7 www.rackspace.com Rackspace Private Cloud v9.0 Under the Covers To

    deploy the OpenStack Private Cloud, it was broken down into three main playbooks:! •  ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/setup/host-setup.yml! •  ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/infrastructure/haproxy-install.yml (optional)! •  ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/infrastructure/infrastructure- setup.yml! •  ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/openstack/openstack-setup.yml
 ! All playbooks are dependent on two configuration files:! •  rpc_user_config.yml" •  user_variables.yml"
  6. 8 www.rackspace.com OpenStack Community Adoption In the end of November,

    the community voted to accept our playbooks as a Stackforge repository, making them the basis of Ansible support for OpenStack going forward! •  https://review.openstack.org/#/c/132703 •  Community Page: https://review.openstack.org/#/admin/projects/stackforge/os-ansible-deployment •  Issues: https://bugs.launchpad.net/~openstack-ansible •  IRC on Freenode: #openstack-ansible •  Code Location: https://github.com/stackforge/os-ansible-deployment This means a lot to Rackspace and opens up the door for community contribution!
  7. 10 www.rackspace.com DevOps with Ansible •  The DevOps Automation Service

    is focused on providing customer solutions to automate application environments. ! •  From a high level, the DevOps Automation Service is responsible for helping to provide architecture recommendations based on Rackspace best known methods:! •  automating customer application environments with code" •  supporting customers with changes necessary to support their application" •  providing monitoring and application insight" •  providing testing to configuration changes via internal continuous integration testing pipelines."
  8. 11 www.rackspace.com Why not create some roles and playbooks to

    automate all those pre-configurations!
  9. 13 www.rackspace.com Why not automate it once and be done…

    Customer Scenario was:! •  Wanted to split their private cloud resources in half, isolating two core parts of the company." •  Since OpenStack is ‘special’ it only made sense to create a playbook to automate all steps needed to accomplish this." •  Outcome of that was:
 
 https://github.com/wbentley15/openstack-tenant-isolation"
  10. 15 www.rackspace.com Deploying Hadoop for clouds Customer Scenario was:! • 

    Needed the ability to deploy Hadoop clusters quickly on their bare metal servers." •  To accomplish this RAX created playbooks to accomplish this for our customer (of course selfish intentions existed too :D)." •  Outcome of that was the ability to deploy Hadoop stacks on the cloud, OnMetal (RAX) public cloud and bare metal gear:
 
 https://github.com/rackerlabs/ansible-hadoop"
  11. 16 www.rackspace.com What I Love About Ansible •  Open Source!!!

    •  Ansible’s goal first and foremost is simplicity and maximum ease of use •  Code is written in Python •  Playbooks are written in the YAML format •  Clearly defined best practices