Cloud APIs are application programming interfaces (APIs) used to build applications in the cloud computing market. Cloud APIs allow software to request data and computations from one or more services through a direct or indirect interface. Cloud APIs most commonly expose their features via REST and/or SOAP. Vendor specific and cross-platform interfaces are available for specific functions. Cross-platform interfaces have the advantage of allowing applications to access services from multiple providers without rewriting, but may have less functionality or other limitations vs vendor-specific solutions.
Cloud APIs are segmented into infrastructure, service and application clusters.[according to whom?] Applications typically combine these APIs as needed.
Infrastructure APIs modify the resources available to operate the application. Functions include provisioning (creating, re-creating, moving, or deleting components - such as virtual machines) and configuration (assigning or changing attributes of the architecture such as security and network settings). These components and their common use is referred to as infrastructure as a service (IaaS).
Service APIs provide an interface into a specific capability provided by a service explicitly created to enable that capability. Database, messaging, web portals, mapping, e-commerce and storage are all examples of service APIs. These services are commonly referred to as platform as a service (PaaS).
Application APIs provide methods to interface and extend applications on the web. Application APIs connect to applications such as CRM, ERP, social media and help desk. These applications are delivered as software as a service (SaaS).
Cloud provider cloud APIs
Cloud provider cloud APIs provide abstractions over a specific provider cloud and usually have custom or unique provider calls that are designed to enhance the amount of control of that cloud by using the provider's API implementation. Cloud provider APIs are implemented to support HTTP and HTTPS based communications protocols. Cloud provider cloud APIs have authentication mechanisms put in place to ensure that only authorized API calls are made to their systems. Most cloud provider based APIs have an ID or Authentication Key which provides an authorization/authentication and is usually passed over HTTPS to ensure security. Cloud provider APIs also may use the ID or another Key to create a hash-based token or a password to authenticate provide additional security (similar to public key infrastructure).
Cross-platform cloud APIs
Cross-platform cloud APIs provide a higher level of abstraction than cloud provider based cloud APIs. This is accomplished by taking cloud provider specific cloud API calls and making them generic. The benefits of using a cross-platform based cloud API is the ability to use a single API call, to access or leverage cloud resources on more than one provider's cloud computing platform. This saves a considerable amount of time, reduces complexity of the code rather than implementing multiple cloud provider based cloud APIs.
Cross-platform cloud computing initiatives/organizations
Several organizations provide cross-platform based cloud APIs. The goal of these organizations is to bring uniformity and/or standardization to cloud APIs making it easier for developers to leverage cloud APIs.