At this point in the evolution of PaaS, we are starting to see an enormous diversity of innovation around CloudFoundry, as multiple vendors come to market with differentiated PaaS offerings. Uhuru Software, based in Seattle, is entering its second Beta phase with the Uhuru PaaS, with a major focus on .NET support.
For those unfamiliar with CloudFoundry, it is one of a new generation of PaaS infrastructure which aims to support any application in any language and deliver any set of services that any application might reasonably require. CloudFoundry is an Open Source PaaS from VMware that vendors can take under a permissive open source licence and which offers vendors opportunities for collaboration on a shared infrastructure, to which they can add their own particular enhancements and value proposition. There are currently between half a dozen and a dozen variants of CloudFoundry in various stages of commercialization, including of course, VMware’s own offering CloudFoundry.com.
Uhuru is differentiated from other CloudFoundry solutions in the following ways
- It offers Public Cloud, Private Cloud and Service provider licensing models. The Public Cloud implementation is based on VMware virtual infrastructure (not on third-party IaaS), although a broad range of underlying infrastructure and IaaS are supported.
- It has an additional roles-based team security model with external authentication (i.e openID)
- It has a native windows application tool for management of the cloud (as well as command line, IDE integration, and a web interface)
- It provides direct support for .NET applications by running them on Windows servers using a native port of the CloudFoundry Droplet Execution Engine
- It offers integration with Visual Studio for deployment.
As things stand there is no clear position on how .NET will be supported in CloudFoundry – variations include Linux Containers, Mono, and Iron Foundry. If you are porting a .NET application to a Cloud-Foundry-based PaaS, Uhuru’s approach is fairly low risk because the application is sitting inside a real Windows environment with IIS and standard database drivers, so it is likely to perform pretty-much the same as it would in an regular enterprise environment with all those technologies. Once the application is implemented in Uhuru there are opportunities for .NET applications to make use of the other application services that are present in the PaaS – for example MySQL and MongoDB. This allows .NET programmers to become productive with these technologies without setting up a Linux environment to support them. There’s no lock-in because if you want to take the application out of Uhuru, all you have to do is provide an environment where those services are present.
Of course the platform also supports open source applications written in all the major frameworks that would naturally leverage those Application Services, and these are run on Linux not on Windows, and can be built and deployed from Eclipse.
Two of the other differentiating features are worth noting. The use of application templates will be required to achieve a level of simplicity which could allow Universal PaaS is to completely supplant language-specific PaaS (like PHP Fog). The roles-based security model is important in allowing developers, operations etc. to manage the lifecycle of clouds through dev, test and into production, and it will become more important as more application lifecycle features become integrated with PaaS clouds.
For those of you still puzzling about the title of this post – it’s a reference to a Stanley Kubrik film from 1964.