Python in the Cloud: Stackato, Cloud Foundry and vSphere
by Diane Mueller

Diane Mueller, August 25, 2011

With today's announcement of our Python contribution to the Cloud Foundry community,   I wanted take this opportunity to expand more on what we've done with Python in Stackato, ActiveState's new cloud platform and how we've taken the Cloud Foundry open source project and made it Enterprise ready and optimized it to run on vSphere.

Python Support

ActiveState has long been at the forefront of helping enterprises to develop and deploy Python applications on production servers and in their mission-critical applications. Our Python distributions are used by millions of developers around the world and by companies like Bloomberg and Boeing.

When we developed Stackato, ActiveState's new cloud platform for creating a private platform-as-a-service ("PaaS"), the first thing we added from the Cloud Foundry base was our world-class Python distributions along with access to our Python code repositories and Python Package Manager (PyPM). Python is a growing in popularity as a web and cloud application language, and with our expertise, this was a natural extension for us. Python is available in our Micro Cloud and Private PaaS offerings, and has been contributed back to the Cloud Foundry open source project.

We added Python 2.7 and 3, full Django deployment and adminstration support, full dbshell support for PostgreSQL, MySQL, Redis and MongoDB databases, enhanced security with https, and delivered it in secure containers. Stackato deploys each application to virtual servers, automatically setting up everything an application requires to run - web servers, databases, web frameworks, language  - virtually eliminating IT configuration time.  

Optimized to run on vSphere

ActiveState has added a full feature set required for enterprise production deployment, added a secure containization mechanism and rigourously tested Stackato on VMWare's Cloud Infrastructure: running it on our own internal vSphere deployment and continously monitoring performance with vCenter.

Beyond the MicroCloud: Stackato vSphere cluster deployment

The Stackato micro cloud VM, which is used easily on developer desktops, can be easily cloned, then assigned to various roles to make a Stackato vSphere cluster. Role assignment is done using the stackato-admin utility.  vSphere has tools to help with the cloning of virtual machines. Instead of manually configuring the hostname for each Stackato VM, you can create a Customization Specification

Stackato VMs can take one or more of the following roles:  Cloud Controller, Router, Droplet Execution Agent, or Data Services for mysql, postgresql, redis, or mongodb. The key is that every component in this system is horizontally scalable and de-coupled.  You can add as many copies of each component as needed in order to support the load of your application on the cloud.

For example, a typical Stackato cluster deployment might look like this:
one controller and router VM
10 DEA VMs
1 data service VM
The controller VM should be set up first, as all other components must be able to connect to it.  For all but the largest deployments, the router can be run on the same VM as the controller to minimize complexity.
Get Started Today
WIth Stackato, enterprise IT departments can give developers the freedom of choice in languages, data services and deployment clouds like in a public PaaS. But on their own terms, behind corporate firewalls. And developers no longer have to rely on IT every time they need a new environment for a new application. Instead, they get on-demand self-service access to get their code to the cloud faster.
Get started today by signing up to the Beta and downloading your own Stackato Micro Cloud, a full instance of Stackato that runs in a virtual machine that provides the flexibility of local development.

The Stackato client will run on Windows, Mac OS X or Linux. If you have ActivePython or ActivePerl installed, you can install it with pypm or ppm.  If not, you can download a stand-alone executable. There's no Ruby dependency as there is with vmc (from Cloud Foundry).

The Stackato MicroCloud can be run on VMware Player, VMware Fusion or VirtualBox. For multi-server implementations, we recommend using vSphere.

You will find all the sample applications and techncial guides on our Stackato community site as soon as you login. We look forward to your feedback!


Subscribe to ActiveState Blogs by Email

Share this post:

Category: python, stackato
About the Author: RSS

Diane Mueller is a Cloud Evangelist at ActiveState. She has been designing & implementing financial applications at Fortune 500 corporations for over 20 years. Diane has been actively involved in development efforts of XBRL Open Standard ( since 1999.


1 comments for Python in the Cloud: Stackato, Cloud Foundry and vSphere

I guess the answer is that you do support vSphere 5.0. I already found a blog of someone who created a multi-node cluster using Stackato and vSphere 5.0.