Down-to-Earth Contracts that Keep the Cloud Aloft
A look at the basic interoperability requirements when communicating with the Cloud
Feb. 6, 2010 11:45 PM
In this article, we take a look at the basic interoperability requirements when communicating with the Cloud, and in particular at techniques and standards used to express and enforce wire-level contracts between communicating parties, as these parties are increasingly also contracting parties in a Cloud environment. Many standards already developed for Web services and service-oriented architectures provide to the communicating parties a good understanding and control of the expected quality of service at the most basic level of the interaction.
Using Web Services in Cloud Computing is not a new idea. Some vendors of Cloud platforms, which provide services necessary to run Cloud applications, supply these as Web services, especially for management functions of the Cloud (on the provider side) and for storage, versioning, upgrades, migrating and data transfer on the user side. But the Cloud will gradually bring the spotlights onto the "contractual features" of Web services, while the focus so far has been on the connectivity features of this technology.
One View of the Cloud
The Cloud is not a single amorphous blob; it is just as complex as data centers that exist today, except that this complexity is somehow opaque (hidden). (In fact, instead of a Cloud, we might envision a jellyfish - it is squishy and compliant, expanding and contracting when needed, and yet it still has a definite resilient structure - as well as a sting if you don't get it right.)
Communication with the Cloud is not going to be magically simplified compared to typical interactions today - it still has to resolve the same issues as conventional business-to-business activity, such as management and maintenance of distributed systems in a multi-owner environment, interoperability between different platforms, security and access control.
Clear partitioning of the Cloud is necessary, isolating one domain of control from another; interfaces will be needed to allow software in one domain to access another, along with business-to-business protocols for making calls or transferring data from one domain to another, just as it happens today. What is different from what we know today is that the boundaries are stretchable to allow the expansion of additional computing resources on demand. Plus, the barrier to entry is extremely low, since the cost of a small domain is very low, and that domain can stretch quickly to handle any load if needed. Thus, usage of such protocols and remote interfaces in the future is likely to be much greater than today, resulting in "federated" processes and deep integration of multiple levels of service.
It is safe to say that the complexity that follows results in increased challenges around issues of security, interoperability, availability, discovery, etc. This is on top of the challenges of distributed functionality and remote access, which are inherent in Cloud computing, not to mention the issues around user interfaces - human interactions with the Cloud - and workflow systems. Web services are increasingly employed in addressing these challenges.
Contracting with the Cloud at Wire Level
Wire-level contracts both at definition level (how to describe these) and execution level (how to enforce these) have already been used in such areas as B2B messaging and Web services. We investigate here how Web services help interfacing with the Cloud, and in particular how its contractual features will become increasingly valuable, while often overlooked today.
First, let's define our terms. A Web service can be described as a Web-accessible interface that is exposed and invoked using platform-independent technology. A Web service passes information between applications or processes using open, standards-based protocols regardless of applications' programming languages or platforms, using a machine-readable contract to describe how to pass and receive information.
To understand more about how Web services are relevant to the Cloud, it is important to realize that Web services are more than Web-mediated remote procedure calls. Web services define contracts that cover various aspects of a Web interaction between different parties that are actual contracting business partners. These contractual aspects are in turn supported by various Web services standards:
Such contracts can be defined as "technical contracts," as they focus on the communication infrastructure. As such, they can be seen as low level, down to the wire translation of SLAs or QoS agreements defined in higher-level business contracts. The above Web service standards are understood by most recent Web server platforms.
These contractual features become critical in a multi-owner environment such as the Cloud, where ensuring data interaction alone is not sufficient. Web services technology covers the various aspects of associated contract information: artifacts representing these contracts (XML schemas and document templates, policies, interface definitions) are themselves subject to exchange protocols specified by standards like WS-MetadataExchange and WS-ResourceAccess.
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week