From the Outside Looking In: Probing Web APIs to Build Detailed Workload Profiles

Nan Deng, Zichen Xu, Christopher Stewart, Xiaorui Wang · 2014

Cloud applications depend on third party services for features ranging from networked storage to maps. Webbased application programming interfaces (web APIs) make it easy to use these third party services but hide details about their structure and resource needs. However, due to the lack of implementation-level knowledge, cloud applications have little information when these third party services break or even unproperly implemented. This paper outlines research to extract workload details from data collected by probing web APIs. The resulting workload profiles will provide early warning signs when web APIs have broken component. Such information could be used to build feedback loops to deal with possible high response times of web APIs. It will also help developers choose between competing web APIs. The challenge is to extract profiles by assuming that the systems underlying web APIs use common cloud computing practices, e.g., auto scaling. In early results, we have used blind source separation to extract per-tier delays in multi-tier storage services using response times collected from API probes. We modeled median and 95 percentile delay within 10% error at each tier. Finally, we set up two competing storage services, one of which used a slow key-value store. We probed their APIs and used our profiles to choose between the two. We showed that looking at response times alone could lead to the wrong choice and that detailed workload profiles provided helpful data.

Read the paper · More papers on PaperTik