Interoperability Elements of a Cloud Platform
Data
Portability
Standards Ease of Migration & Deployment Developer
Choice
How can I keep control over my data? What technology standards are important for Cloud Platforms? Will your Cloud Platforms help me migrate my existing technology investments to the cloud? How can I leverage my developers' and IT professionals' skills in the cloud?
Customers own their data and Cloud Platforms should make it easy and efficient to securely move customers data in and out. Cloud Platforms should reuse existing and commonly used standards when appropriate and may lead to the creation of new standards where existing standards are not sufficient. Cloud Platforms should provide, for existing technologies that are appropriate to the cloud, a migration path that preserves, in a secure way, existing investments in applications and IT resources. Cloud Platforms should enable developer choice in tools, languages and runtimes.

Cloud services have the potential to reduce IT costs, increase operating efficiencies and create new types of business opportunties. As in on-premises software, cloud services will be offered using a technology stack: a cloud applications layer that runs on an underlying cloud platform layer, which in turn runs on hardware platforms. Cloud platforms will facilitate adoption of cloud services because they support the development, testing, deployment and provisioning of cloud applications that customers will rely on to run their businesses.

Customers considering moving important IT resources to the cloud will demand the same level of performance,reliability, security and privacy that they demand of their on-premises software. We should expect, as well, that in an increasingly-connected world new scenarios will continually arise that require good interoperability among cloud services. Well-designed cloud platforms can help to achieve all of these goals.

Decisions about how best to enable interoperability should to be centered on the needs of customers and partners—those who depend on cloud platforms. In building its cloud platform, Microsoft has worked closely with customers and partners to understand their needs for interoperable solutions. Through this process, four key customer questions have emerged. These questions are likely relevant to any cloud platform that seeks to serve as a platform for running a range of cloud services. The questions, and how Microsoft is striving to address them, follow.


Data Portability

How can I keep control over my data?
Customers own their own data, whether stored on-premises or in the cloud. Therefore, cloud platforms should facilitate the movement of customers' data in and out of the cloud.

When customers create data in an on-premises application, they have a high level of confidence that they have control over the data stored in the on-premise environment. Customers should have a comparable level of control over their data when they are using cloud platforms.

Standards

What technology standards are important for cloud platforms?
Cloud platforms should support commonly used industry standards so as to facilitate interoperability with other software and services that support the same standards. New standards may be developed where existing standards are insufficient for emerging cloud platform scenarios.

In some cases, existing standards will not be a perfect fit for the cloud. Well-established standards that were developed for the guaranteed connectivity and relatively close connections of a datacenter may not work well over the public Internet and across the globe. In addition, cloud computing introduces new scenarios for management, monitoring, access and identity that are only partially addressed by existing standards. New cloud platform interfaces to support these scenarios should be built upon Web Services and REST-based approaches (which are themselves industry standards) that can be easily discovered and consumed by other platforms.

Ease of Migration & Deployment

Will your cloud platforms help me migrate my existing technology investments to the cloud and how do I use private clouds?
Cloud platforms should provide a secure migration path that preserves existing investments and enable the co-existence between on-premise software and cloud services. This enables customers to run "customer clouds" and partners (including hosters) to run "partner clouds".

Customers that have existing investments in on-premises computing capacity typically will want those investments to co-exist with the Cloud and may choose to migrate some or all of their computing needs at their own pace.

On-premise software enables customers with particular requirements relating to geo-location of their data, security or service level agreements to determine that their preferred cloud platform would best meet their needs if it were deployed by a third party (such as a local hoster), or deployed internally.

Cloud platforms should address this need by providing tools and services to ease migration, including support for virtual machine portability for cloud platforms that provide "infrastructure as a service" services. Further, cloud platforms should support appropriate and commonly used infrastructure services including identity and management. In the case of identity services, cloud platforms should promote federation between identity systems (e.g., Active Directory and LDAP) using web standards whenever possible.

Developer Choice

How can I leverage my developers' and IT professionals' skills in the cloud?
Cloud platforms should offer developers choice in software development tools, languages and runtimes.

Cloud platforms that enable multiple programming languages, runtimes and access to cloud resources through Web services will facilitate the development of interoperable customer solutions. This approach will also broaden the community of developers that write for a given cloud platform and therefore enhance the quality of services that the platform will offer to customers.

Engaging in the Conversation

Ultimately, what really matters is understanding what customer and partner scenarios will benefit from interoperability, and how best to meet those needs without compromising the performance, reliability, privacy, security and control customers have come to expect from business software. As a result of our discussions with customers and the community at large, we've identified these five interoperability elements of a cloud platform that we'd like to generate a broader conversation around over the coming weeks. We'd love to have your input: http://blogs.msdn.com/b/interoperability/