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

OpenStack and Software Engineering - Questions,...

Pycon ZA
October 05, 2017

OpenStack and Software Engineering - Questions, Tricks and everything else about OpenStack. by Stephan Ludik and Thomas Lee

We will talk about the OpenStack program as a whole and what it consists of. We will also discuss some of the main projects in OpenStack and how they fit together to deliver IaaS and other services.

We discuss a few key aspects of the OpenStack project and community around it.

We will also give a little demonstration of what is possible with OpenStack.

* Start up a Django based application via an heat template, showing the progress.
* Show the environment is functioning on the cloud.
* Destroy the complete environment.

Pycon ZA

October 05, 2017
Tweet

More Decks by Pycon ZA

Other Decks in Programming

Transcript

  1. OpenStack and Software Engineering – Questions and everything else about

    OpenStack Thomas Lee – CEO @ Wingu Stephan Ludik – Programme Manager @ Wingu
  2. Background  Wingu operates an OpenStack powered Public Cloud 

    3 ½ years of OpenStack experience  Ubuntu Certified Cloud Partner  Operates a production cloud with customers for 2 ½ years  Started with OpenStack Juno, now on Mitaka release  Code improvements to OpenStack gets upstreamed via Canonical  Supports and develops the Tachyon Python open source web framework
  3. What is OpenStack? OpenStack is cloud control software, designed to

    control vast amounts of compute, storage and networking resources. OpenStack is not a product! OpenStack is an extendible framework that allows you to build the cloud platform you need.
  4. What can OpenStack automate?  Compute (Nova, Glance, Ironic, Magnum)

     Storage, backup and recovery (Swift, Cinder)  Networking and content delivery (Neutron, Designate)  Data and analytics (Trove)  Security, identity and compliance (Keystone, Barbican)  Management tools (Horizon, Rally, OpenStack CLI)  Deployment tools (Chef, Ansible, Charms, Puppet, Kolla)  Application services (Heat, Zaquar, Murano)  Monitoring and metering (Ceilometer, Monasca, Cloudkitty)
  5. OpenStack factoids  Currently 46 major projects with more in

    incubation  Largest open source project, 100% developed in Python  Code contributions from +- 7000 individuals and +- 300 companies per release  Mature technology – currently 16th release, Pike, available  Massive 3rd party technology ecosystem  Reference customers include PayPal, Walmart, BMW, Wingu, CERN, AT&T, Snapdeal, etc  Certification training is available  Well documented at http://docs.openstack.org
  6. OpenStack use cases Many use cases, but we’ll focus on

    this: Development cloud  Build on basic IaaS (storage, compute, networking)  Use the OpenStack Heat Orchestration Template (HOT – we’ll demo this later) engine or API’s to rapidly provision instances  Add container technology (Docker, Kubernetes, Terraform etc)  Bare metal provisioning available (Ironic)  DbaaS can be used for SQL or NoSQL  Simple Message Service for apps (Zaqar)  Use your favourite DevOps tools (Juju, Chef, Puppet, Ansible etc)  Build systems that deploy to OpenStack, Amazon, Google Compute and Azure
  7. OpenStack vs Traditional virtualization Cost structure  No license fees!

    Choose commercial support subscription if your platform is mission critical  Build on commodity x86 hardware – Capex savings  Software defined everything  Use low cost white label switches – build overlay networks in software Benefits  Fully API driven  Extensible  Rapid feature velocity  3rd party vendor ecosystem  Open source!  No vendor lock in
  8. How to build OpenStack Build models  Classic or Hyper-converged?

     Hyper converged with HA requires 12 servers with 2 sets of specs (great for your first cloud)  Classic requires 15 servers of 3 sets of specs (great if you need to scale compute and storage independently)  Choose your weapon (Juju, Salt, Ansible etc) Hardware  2 x 48 port 10GbE switches (can be low cost white label)  2 x 24 port 1 GbE switches from your old IT cabinet  OpenStack loves SuperMicro, Dell or HP for servers  Compute nodes typically has 768GB+ RAM, 2 x XEON E5 26xx CPU’s, 4 x 10 GbE and 2 x 1 GbE interfaces Roles  Control (OpenStack services)  Compute  Storage monitors  Storage OSD nodes
  9. OpenStack Demo Demo sequence Login to Horizon – show empty

    project. In the interest of time, run start.py (takes around 8 minutes to complete) Demo overview The demo script will provision an instance via the OpenStack Heat orchestration tool using a .hot template.  The hot template includes provisioning of a virtual server, public IP and Ansible on the instance.  Ansible is used to automatically install Django and all dependencies (Nginx etc) and a small web application (hello world) by running a playbook.  Prove we run Django by showing the admin page. Clone demo files from https://github.com/TachyonProject/wingu-demo. All integration of systems was done using OpenStack python clients on local machine, installed via requirements.txt (pip install -r requirements.txt)