content_image/682978.jpg
Say you’re developing and testing an application in the cloud using a public PaaS. However, all your databases reside in your on-premises data center. That can get complicated. Or, say you’re building an application using a private PaaS, which needs to access your CRM system that is in the cloud. There needs to be a way for the two environments to share information. The question becomes, how do you manage workloads across potentially incompatible environments? 

## The importance of APIs 

Application programming interfaces  (APIs) allow communication to occur between products and/or services. For example, if you’ve developed a gaming application you can write an API that allows other developers to write to your application. The API specifies how one application can work together with another one. It provides the rules and the interfaces. The developer doesn’t need to know the nitty-gritty of your application because the API abstracts the way these programs can work together. 

APIs are important for managing workloads in a cloud environment. For example, APIs allow a developer to build an application that runs on top of a public IaaS service. In fact, every company that offers foundational cloud services, such as IaaS, PaaS, and SaaS, provides APIs for its customers. 

<img src='content_image/682978.jpg'>

The sticky point with APIs and the cloud is that different APIs aren’t always compatible. For example, you may build an application on top of an IaaS offered by one vendor, but if you want to move it to another cloud provider, it may require extensive re-programming. 

## A standard workload layer 

No standard API exists that enables the developer to work in different cloud models provided by different cloud vendors. What is actually needed is a standard layer that creates compatibility among cloud workloads. Of course, you can always find ways to work around complicated problems. 

