Development resources for OpenStack clouds

This web page will walk you through the stages of learning to develop applications to run on OpenStack.

Development Environments Reference Architectures View SDKs View APIs View CLIs

Development Environments

Need a place to start learning OpenStack, or your own personal OpenStack development environment?

Public Environments

Private Installations

Reference Architectures

Think of these as curated playlists of OpenStack configurations. These Reference Architectures are based on real-world workloads. The Reference Architecture document will give you a good idea of which core and optional projects might be used by the workload. In addition, each Reference Architecture includes sample Heat and or Murano packages which will allow you to reproduce the workload in your own environment.

Reference Architectures

Heat Templates


A software development kit (SDK) contains code, examples, and documentation that you use to create OpenStack cloud applications in the language of your choice.

If one of the following SDKs do not support your language or use case, you can use the APIs or one of the other known SDKs.

OpenStack Specific SDKs

SDKs that specifically target OpenStack. These will give the deepest support for using OpenStack specific features, but won't help write applications that work on both OpenStack as well as other clouds.


Issues: gophercloud/gophercloud issues
IRC: #openstack-sdks on OFTC


Docs and resources
Release notes
IRC: #openstack-sdks on OFTC
Mailing list: Register | Archive
Issues: Issues

Multi-cloud SDKs

SDKs that provide a multi-cloud abstraction layer and include support for OpenStack. These SDKs are excellent for writing applications that need to consume more than one type of cloud provider, but may expose a more limited set of features.



  • A command-line interface (CLI) is a text-based client that helps you create scripts to interact with OpenStack clouds.
  • There's the common ``openstack-client`` client that covers most projects, see OpenStackClient documentation.
  • Each OpenStack project has a related client project that includes Python API bindings and a command-line interface (CLI). For details on these projects, see API Bindings.

Documentation treated like code, powered by the community - interested? Here's how to contribute .

The OpenStack project is provided under the Apache 2.0 license. is powered by Rackspace .