SearchSOA.com Editor Jack Vaughan recently spoke with Chris Richardson, creator of Cloud Foundry, an enterprise Java cloud deployment platform. Cloud Foundry was recently purchased by SpringSource, which combined its own tools with Cloud Foundry to create SpringSource Cloud Foundry, which provides enterprise Java cloud deployment as well as a application life-cycle management. SpringSource was recently acquired by VMware.
SearchSOA.com: Spring and SpringSource have been in the news. A lot of people outside development are wondering what is the secret sauce of Spring. What makes it so popular?
Chris Richardson, SpringSource: What Spring Source has been doing is eliminating complexity from enterprise Java development. The Spring framework simplified applications. Tools such as Grails and Groovy simplify the development process. You can view Cloud Foundry as a way of simplifying and accelerating deployment of Java applications on the cloud. Literally, with just a few clicks of the mouse a developer can upload Java applications and deploy it on Amazon Elastic Cloud Compute (EC2).
Part of the complexity of Java has been about deployment. Does Cloud Foundry deal with the issue of JAR files and the like?
Not explicitly. What we address is, if you take something like EC2, it's actually great, but what it is providing you is a set of Linux boxes. To take those and turn them into a functioning Java production environment takes a lot of effort and specialized expertise. It's time consuming. Out of the box and behind the scenes, we set it all up for you so you as a Java developer don't have to know about Linux scripting and the intricacies of configuring Apache web server.
So folks upload their app, they deploy it, and within a matter of minutes it's up and running. We monitor and manage it on their behalf. We have an automated monitoring and management technology that builds on Hyperic technology.
SSOA: Hyperic has quickly emerged as an interesting addition to the SpringSource portfolio. Does it provide monitoring agents?
CR: Hyperic provides the monitoring agent technology. We leverage Hyperic technology within Cloud Foundry in the monitoring and management component. We gather metrics from the running Java application and from the running server, and if we detect a problem we can recover from that problem. If for example a virtual machine died because Amazon had a hiccup, we recover from that automatically. If the database server [needs to restart] we will automatically restart and reconfigure the database.
SSOA: Does Cloud Foundry roll up data the agents collect?
CR: When we deploy the customer's application we install agents on the machine to gather statistics. In a way the big story here is the combination of Cloud Foundry, which provides the cloud deployment technology, with the SpringSource products suite. If you look at what SpringSource provides--on the build side the tools such as Grails and the SpringSource Tool Suite. Then on the run side there's the SpringSource TC server, and on the management side the Hyperic technology. It is a combination of all of those technologies. To me it provides very compelling enterprise Java cloud.
The principle interface with Cloud Foundry is a web based management console. You just go to www.cloudfoundry.com and once you register you can log in and have a Web-based management counsel. Over time we're going to provide integration with various SpringSource tooling such as the SpringSource Tool Suite and Grails … so that the developer within that IDE is going to deploy their applications directly in the cloud. The IDE will talk via Web services to Cloud Foundry, which will then talk to the cloud. Today Cloud Foundry runs on EC2. Overtime it will support other cloud techs, like the technology that coming out from VMware.
SSOA: It seems that developers are gaining more ability to deploy these days with the cloud, with less reliance on sys-admins.
CR: Technologies like Cloud Foundry really do empower the developer to employ directly to the cloud without involving sys-admin. At the same time we facilitate cooperation between development and sys-admin.