Big news from Sun Microsystems today on several fronts, first there is talk of an IBM / Sun merger and second Sun has offically unveiled their Open Cloud Platform & API. Exciting news on both fronts.
As a member of the Sun Cloud Computing Strategic Advisory Council, I have been working closely with Sun since last year in an effort to guide their direction in terms of openness, portability and interoperability on their cloud efforts. These are areas I believe Sun has done a tramendous job of addressing in their latest cloud offering. Lew Tucker, Tim Bray, Craig McClanahan and the rest of the team at Sun have clearly spent a lot of time developing the most feature rich, powerful and open cloud on the market.
One of the first things I'd like to point out is their open source API. What you will immediately observe is that they've taken an open, extensible approach towards developing a cloud computing API. While fully RESTful, the consumer of the service only needs to know the starting URI. Everything else is discoverable through retrieving the representations of the various entities. This, along with it being "free of any restrictions," and made available under The Creative Commons Attribution 3.0 License are excellent components. My concern about this particular license is its Attribution requirement : "You must attribute the work in the manner specified by the author or licensor". I would prefer to see a less restrictive license. That being said, my first impression is that the API is very easy to understand and Sun has applied the RESTful principles beautifully.
The Sun Cloud API uses the concept of a use center for launching virtual machines, assigning public IP addresses, attaching storage volumes, etc. Lew Tucker, CTO, Cloud Computing had this to say "When looking at what would be needed to run Sun.com, eBay.com, or other large web properties, we learned that it was important to introduce abstractions for grouping machines, creating subnetworks, isolating resources, and support for teams in the virtual cloud environment. This is the basis of a Virtual Data Center, that every user gets upon joining Sun's cloud".
It's a perfect example of unified computing in action. Simply stated, when someone signs up with the Sun Cloud, they are given a Virtual Data Center or what I like to call a "Virtual Private Cloud". According to Sun, it was important to make it possible for people to build the equivalent of a physical datacenter in the cloud. That way customers are able to more effectively treat their cloud computing resources much as they would a traditional data center. Sun's Virtual Data Centers represent the collection of virtual machines, networks, and storage associated with each customer, isolated from others sharing the cloud computing service. Within a customer's data center, there may be teams of users fulfilling different roles, as well as multiple spaces, partitions, or clusters which can be created to house the resources applied to different applications or groups. This facilitates the dynamic creation and control over multi-instance applications and the formation of different environments for different teams such as production, staging, and test environments.
As an additional benefit they outlined that customers should be able to quickly clone or copy an application running on multiple instances, creating opportunities for new approaches to manage software releases and dynamically changing loads. This ability to model the system architecture of a real world application and its often complex set of instances, makes it possible for developers to explicitly describe and share entire architectural design patterns. They may then add others to this Virtual Data Center, or begin to architect their application.
To make it easy for even the individual developer to get started, everyone starts with a Virtual Data Center containing a single default cluster or partition. Using the GUI, they can simply drag and drop virtual machines, virtual subnets, and storage devices. Once an application is developed, the entire set of virtual machines can be stored, copied, or cloned to meet an myriad set of needs.
I know that some of you may point of that Sun is late to the game, a game that is probably still in its first inning. What Sun has done with their Cloud is taken steps to create one of the first truely open cloud infrastructure offerings on the market geared specifically with the needs of enterprise users in mind.They may not be first, but they certainly are now among the best cloud providers.
--
If you're interested in discussing the inner works of Sun's Cloud API, there is a message thread I started on Sun's kenai developer portal > http://kenai.com/projects/suncloudapis/forums/forum/topics/524-API-Discussion?
Also, read Sun’s official announcement here.
Sun has also released A Guide to Getting Started with Cloud Computing, which offers a useful overview of the basic issues whilst relegating most of the Sun pitch to a separate section.