The new generation of cloud-development platforms
Initial Platform as a Service tools showed us the possibilities for moving development of Web and computational applications to the cloud. How are a new generation of tools building on those lessons?
Software development "in the cloud" has been one of the really interesting developments to come out of the cloud computing market so far. While many early players, such as Zimky and Coghead died on the vine, there is a pretty robust Platform as a Service (or "PaaS") market out there today, with Google App Engine taking the most visible lead, and a pretty solid stable of Ruby on Rails-based hosting providers telling a compelling story of their own.
Such success is driving some new players to seek the spotlight, however. I wanted to highlight two that I found most interesting. They are very different from one another, but those differences highlight the breadth of opportunity that remains in the PaaS market.
Take AppScale, for instance. From RACELab, the same computer science lab at the University of California, Santa Barbara that brought you EUCALYPTUS, comes a completely open-source implementation of Google AppEngine cloud interface. Much more than another client-side implementation of the development tools alone, AppScale is a complete platform that allows you to run your App Engine applications on a virtualized cluster in your own data center equipment, or--get this--on Amazon EC2.
AppScale is likely most useful for those who want to save a buck or two by using existing software development and testing labs to build, test, and stress App Engine applications before paying for the Google service, and for those wishing to get an idea of how the underlying platform might make decisions relative to their application's performance. The platform also promises to provide a "way out" of App Engine should the economics, performance, or existence of that platform come into question.
App Engine, though, is a framework generally limited to building high scale Web applications. What if you are trying to build out your complete enterprise architecture in a cloud centric fashion? In that case, you might want to take a look at TIBCO Silver. A complete development, integration, and operations platform for service-oriented enterprise architectures, Silver takes a very unusual tack towards providing development to the clouds.
First, it's a three-element architecture:
An Eclipse-based software development tools that you load onto your desktop (much like the App Engine developer tools) and use to write code, integrate systems, utilize governance, and so-on.
TIBCO's "secret sauce": the management systems and middleware that work together to coordinate composition and governance, integration and orchestration, and automated performance management for your application.
A third-party cloud provider (today limited to Amazon EC2), on which to deploy and run your application. What is really cool here is that you create the instances you want to use, but Silver will install the software agents and configurations that need to be in place for it to deploy and manage your application--automatically.
Did you get that last bit? Silver is a cloud development environment that automatically manages your applications in a cloud data center--just not TIBCO's data center. I still haven't decided if that qualifies as PaaS or not. Given that the automation systems do run in TIBCO's data centers, I'm tempted to say it is--what do you think?
If you choose the TIBCO route, you are certainly committing to their platform in some ways. However, everything is done entirely on open standards, so in theory (with significant work, I'm sure), you could port your systems (or components of a system) to another standards-based environment, should you so choose.
Both of these new options give me new hope for software development in the cloud, though each for a different reason. AppScale represents the power that open source has in creating options for what might otherwise be a "lock-in" risk. Silver, on the other hand, represents the first stab at a complete enterprise software architecture in the cloud that I've seen to date. I'd be interested in your reaction to either or both of these tools. Are either compelling to your situation?
Follow James Urquhart on Twitter.