ActiveState Software's Stackato is a private PaaS platform vying for the attention of IT architects. ActiveState's latest PaaS offering, Stackato 2.0, adds support for Microsoft's .NET programming language and Linux containers to maintain process isolation of multiple apps running on the same system. Stackato is built on VMware's open source version of Cloud Foundry. (VMware also has a commercial PaaS service named Cloud Foundry.) Stackato leverages many of the features available in the open source PaaS, including support for more programming languages, such as PHP, Python and .NET, as well as other application services not available in VMware's service, like MySQL and MongoDB.
The addition of .NET support opens Stackato to organizations that use it as their programming environment, and offers an alternative to an all-open-source PaaS such as CloudFoundry.org. Stackato provides .NET support in a Windows virtual machine through the incorporation of the open source Iron Foundry project and the Mono project on Linux. Applications developed for Stackato's .NET may or may not run unmodified in other .NET PaaS offerings, simply because the platforms offer different services for object storage and I/O.
In PaaS offerings, programming language support is the critical feature. Porting existing applications to a new language just to run it in a PaaS is costly, so most organizations are better off selecting a PaaS that already supports their chosen language. Stackato becomes one of the few commercial private PaaS offerings that can run .NET applications. Other examples of .NET-capable private PaaS products are Microsoft's Azure Private Cloud, Tier 3 Web Fabric and Apprenda.
ActiveState has also added container support, which provides OS-level environment isolation between applications. Unlike server virtualization, which uses hypervisors to isolate processes from each other, a Linux Container (LXC) is a kernel modification that creates multiple, isolated instances for processes and is similar to Solaris Zones and BSD Jails. The limitation is that all processes must support the same OS version, but the advantage is less overhead than with server virtualization.
Applications running in an LXC are isolated from one another, and system resources can be portioned out to each container as a control for excessive resource usage. In some cases, commonly used OS resources like shared libraries can be instantiated once by the kernel and shared among all instances, further reducing process overhead.
Compared with Microsoft's Azure, which uses hypervisor-based virtualization by bringing up a new Windows Server 2008 for each application or application component (and incurring a new OS license fee), LXC typically allows more PaaS applications to run simultaneously, versus a hypervisor-based PaaS.
Stackato can run in a data center as a PaaS in IaaS public clouds, including Amazon's AWS and HP Cloud Services. Running the same PaaS software in both the data center and the public cloud eases the build out of hybrid applications and allows workloads to be moved easily between them. The Network Computing Reports survey revealed that 61% of IT organizations plan to use a hybrid cloud.
While much of the focus on private cloud has been on IaaS-style implementations that leverage IT's experience with server virtualization, PaaS offers IT an opportunity to further abstract applications from the underlying infrastructure, much in the same way that Apple's OSX or Microsoft Windows abstracts the various hardware components on desktops and laptops. In many ways, the PaaS market is evolving faster than the IaaS market, as software vendors and service providers try to define their services and gain market share. Supporting .NET and containerized process isolation are two PaaS features worth checking out.
Stackato is available today with no word on what seems like an overly complex pricing scheme. According to Toph Whitmore, VP of marketing at ActiveState, "Stackato is sold as part of a complete enterprise solution, and pricing varies significantly by customer. The final price of a Stackato implementation is a function of several variables, including number of VMs, support required, support level (VM or component), IaaS/hypervisor, indemnification, customization, security, etc. Though we do price on a subscription model per VM per year, there is no price list for Stackato (nor for any of ActiveState's enterprise products)." Bottom line: If you like Stackato's technology, be ready to negotiate.