time. Clearly, containers are a critical foundational ele- ment for building and running cloud-enabled applica- tions. The role of APIs Of course, in a highly distributed environment composed of microservices, the ability to communicate between services is critical if the benefits of the cloud are to be fully realized. Application programming interfaces (APIs) serve this purpose and have special applicability to the cloud. In fact, they are the mode of communication among microservices and containers using inter-process communication mechanisms. APIs have been used extensively in the past for communi- cating with and connecting various IT assets. They are an important connectivity mechanism for the way services are combined to create an application. In addition, at the Infrastructure as a Service (IaaS) level, APIs are used to provide control and distribution mechanisms for re- sources such as provisioning, for example. At the appli- cation level Software as a Service (SaaS) APIs furnish the ability to connect applications with the underlying infra- structure and, when applicable, cloud resources. APIs become even more critical when one or more cloud providers are involved. In these multi-cloud cases, your API strategy needs to consider the APIs provided by the cloud providers themselves to allow connectivity and communication with their clouds. Many cloud providers are offering more generic (e.g., HTTP) integration capa- bilities to make it easy for their customers to integrate and access resources. 39
