 and some mechanism for scaling- both up and down. Many key modern innovations address these areas. For example, OpenStack's Congress for policy (Chapter 7 discusses ONAP's policy engine), or predictability-related innova- tions (Chef, Puppet, CFEngine, etc.), and the OpenStack Heat project for dynamic scalability. 17.8 Web 2.0, RESTful API EXPOSURE, AND INTEROPERABILITY One of the integral aspects of modern software is the API. An API is an interface used when 1. One part of a system wants to talk to another part of the same system 2. One system wants to talk to another system over a network 3. "Client" software, like a web browser, wants to talk to a "Server" software, like a web server 4. Multiple "clients" want to subscribe to a service An interesting use of APIs is when they expose the underlying data of a system to the outside world. As an example, when the SaaS entity, Salesforce.com, began in 2000, they immediately provided not just a web presentation layer but also the entire database via an exposed eXtensible Markup Language (XML) API over Hypertext Transfer Protocol (HTTP). This API "exposure" was one of the first examples of the use of "Web APIs" and what eventually became an integral definition of cloud computing. This API "exposure" allowed customers and third parties to integrate Salesforce data within their applications. Generally, APIs are technically valuable because APIs drive more modular and scalable designs that allow components to be interchangeable-let the best component win. APIs also allow for multiple presentation layers to be created on top of the same source of data-let the best presenta- tion layer win. As an example, in 2002, when Amazon launched Amazon Web Services (AWSs), it started solely in allowing third parties to integrate Amazon.com content and products behind their presentation layers, into their applications or services. During the era of Web 2.0, the con- cept of "API mashups" came to the forefront-where an application could be an amalgamation of Building the Network of t