Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Mark Little on Aug 22, 2010
Unless you've been stuck on an island for the past few years you can't help to have noticed the amount of effort being expended in Cloud. Whether or not you believe Cloud to be a "fundamental shift" in software, it is clear that the next few years will be Cloudy indeed. Although it is still early for many standards, we are starting to see a few arise in areas such as security/identity and basic fabric.
Typically for this open source influenced century, there are an ever increasing number of cloud-related projects in full swing. In Apache these include Deltacloud and libCloud, which aim respectively to provide "an API that abstracts the differences between clouds" and "a unified interface to the cloud". So of course if one cloud project is good, two must be better, so what does that make three? We could find out soon, because the Nuvem project may well be going to the Apache incubator stage soon. According to the information available, it will:
- Define an open API that abstracts common cloud platform services to help decouple the application logic from the particulars of a specific proprietary cloud.
- Implement the Nuvem API for popular clouds such as Google AppEngine, Amazon EC2 and Microsoft Azure.
- Initially focus on User Authentication and Authorization, Distributed Cache, Data Store, Queuing; then extend to other services such as Chat, Logging, and Debugging.
The wiki page also talks about the need for a common API to help avoid vendor lock-in when moving between cloud implementations. As with Deltacloud and libCloud, it seems that Nuvem will target Infrastructure as a Service (IaaS). It is interesting to note that according to the submitters, there is a prototype under development which uses Tuscany, the Apache SCA implementation. So perhaps this effort will go some way to answering the questions around SOA and its relationship to Cloud.
Unfortunately the article has this to say about related projects in Apache:
There are currently no efforts to define a truly open-source API to abstract common cloud platform services. Nuvem strives to create a community around building an open-source cloud application programming interface in a manner that fully allows for tried-and-true open source mechanisms such as user-driven innovation.
It's possible that the submission of the libCloud and Deltacloud efforts to Apache superseded this Nuvem documentation, which hasn't been updated since June 2010. Regardless though, hopefully there will be some clarifications and unification before (and if) the Nuvem project starts officially so that everyone can agree on a single unification API in open source.
I'd love to see how they intend to define a common API for the different persistence paradigms of each platform.
Crippled, incompatible JPA(-ish) implementations don't count! :)
EC2 is infrastructure (lower level), and Azure supports SQL, so one can use GAE's Datastore as the lower common denominator...
I'd still love to see it working, though :)
what about Apache Whirr? is lead by Doug Cutting and Tom White, so i would expect something good
incubator.apache.org/projects/whirr.html
I tried to clarify how Apache Nuvem align with Apache Deltacloud and Apache libCloud in the following blog post.
lresende.blogspot.com/search/label/Apache%20Nuvem
In summary, from the Apache Nuvem project proposal :
"Nuvem complements Apache libCloud and Deltacloud projects (which both cover provisioning and elasticity in the cloud), providing portability of applications and application services across heterogeneous cloud environments."
Hopefully this helps clarify any confusion, and I hope to see you all helping on the Nuvem community.
Thanks for the information Luciano.
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
5 comments
Watch Thread Reply