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 Michael Floyd on Apr 25, 2011
The OpenStack project gathered late last week, and amidst the Amazon EBS debacle, held a webinar to both elaborate on new features introduced in Cactus and describe anticipated elements of the upcoming Diablo release. While the Cactus release is not likely to solve the problems experienced by EC2 customers, Diablo’s multi-zone support and federation across data centers will likely be hot topics for this week’s Diablo summit to be held in Santa Clara, California.
OpenStack, which started as a collaboration between Rackspace and NASA to support the agency’s Nebula cloud, is an open-source cloud operating system built up from multiple clusters of redundant commodity servers. The design allows OpenStack to be vendor neutral while being massively scalable to any size with no point of failure. Three components make up the OpenStack solution: OpenStack Compute; OpenStack Object Storage; and Glance.
OpenStack Compute, codenamed “Nova,” provides the software, control panels and API's for managing a cloud. According to Vish Ishaya, the Technical Lead for the project, Nova is a:
cloud fabric controller, meaning it controls virtual machines, networks and block-storage devices, and gives you access to them through an API. The API is written in Python and supports live migration, allowing developers to migrate live virtual machines on the fly.
There are two versions of the API: Compute 1.0 which encompasses the stable portions of the Cactus release and Compute 1.1, which comprises new API features considered “experimental,” but are planned interfaces for the upcoming Diablo release. Other Nova features for the Cactus release include support for distributed zones, ESX hypervisor support, OpenStack API extensions and integration with the interrelated Glance project.
Glance itself includes an image registry and delivery service for viewing disk images. Virtual disk images can be stored in various storage systems, making it highly flexible. Images can be stored at any URI and it is no longer limited to 2GB file sizes. According to Jay Pipes, the Technical Lead for Glance, "Backing support determines size limit." Glance includes a new command-line tool that provides direct access to disk image storage services. Glance also offers a RESTful API to access services from any HTTP client, and adds a client class so that developers can extend the command-line tool.
Swift is the software component used to create redundant, scalable object storage using clusters of standardized servers. According to project lead John Dickenson
Swift is scalable storage, and is what’s running in Rackspace. A key feature is that (Swift) is designed to run on commodity hardware, and therefore there is no point of failure.
New in the Cactus release is staticweb, a middleware solution that allows customers to host static web sites from Swift. There is also a checksum on GET to ensure data integrity, proxy refactoring and improved indexing.
According to Ishaya, the open-source project has grown from just 5 developers to over 60 in less than a year. That growth has to led to an acceleration in OpenStack’s development. It has also led to “growing pains,” forcing the team leads to standardize methodologies amongst the various development groups that specialize in specific services. This week OpenStack developers are gathering for the Diablo summit to address both the proposed features of the next release and the reorganization of development teams into smaller groups. Aside from finalizing the Compute 1.1 API, other topics up for discussion include addressing Network as a Service (NaaS), Volumes as a Service (VaaS) and multi-cluster container syncing.
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.
No comments
Watch Thread Reply