With the development community becoming increasingly familiar with the self-service public cloud, your hybrid cloud has to be just as easy to use. Platform9 is designed to do just this, while allowing IT to manage resource allocation policies:
Dedicated Roles
Platform9 ships with out-of-the-box roles that are optimized for a development audience. Your developers can be onboarded and given just the right role to get productive right away.
Quotas
Development teams can be allocated capacity with a quota, giving them freedom to get work done within a reasonable bound on capacity. Quota and usage information is conveyed self-service users, so they are both aware and mindful of usage. If there’s ever a reason for a higher quota, it only takes a minute for an IT admin to make the change.
Developers are likely to use the Platform9 user interface to get started and for ad hoc operations. But what they are really likely to use are APIs that allow them to automate the development, test and release pipeline. Platform9 makes this really natural with intuitive DevOps test automation:
OpenStack REST APIs
All Platform9 functionality is available via OpenStack’s REST APIs, which are documented here.
Libraries
Being based on OpenStack means your teams can use libraries such as jclouds or Libcloud to integrate their development pipeline with your Platform9 hybrid cloud.
Automation Frameworks
Again, thanks to OpenStack, your development teams can reuse existing support in virtually any major automation framework to integrate the development pipeline with your Platform9 hybrid cloud. These include Puppet OpenStack Provisioner, Chef’s knife cli, Ansible’s Nova Compute Module and SaltStack’s OpenStack Module.
Today’s software developers increasingly use a variety of DevOps tools to integrate their development workflow with the underlying infrastructure. Because most of these tools integrate with the OpenStack API, Platform9 is fully compatible with them. For example:
Platform9 and Vagrant
A developer may easily “checkout” a consistent sandbox environment using the Vagrant tool:
$git checkout platform9.rc
$source platform9.rc
$vagrant init acme/app
$vagrant up
In this example, Vagrant is working on top of the OpenStack API to deploy a VM instance in OpenStack and customize it to fully resolve application dependencies and provide a truly consistent, yet disposable environment.
Platform9 and Packer
A continuous integration workflow can publish an application as a fully baked, ready-to-deploy VM image in the OpenStack cloud platform:
$git checkout platform9.rc
$source platform9.rc
$packer build app.json
In this example, the packer tool leverages a “base image” in OpenStack to deploy a new instance, and customize that new instance so it is ready to run the application. The tool then publishes a new image that has this customization in place, so it is ready to be used by an operator or another deployment workflow.
Platform9 and Terraform
An operations engineer can consistently apply resource configurations via OpenStack doing this:
$git checkout platform9.rc
$source platform9.rc
$terraform apply
To illustrate, Terraform can be used in this manner to orchestrate the configuration of a complex multi-tier application by deploying individual instances and “wiring them up” using OpenStack APIs.