Back in the early 2000s, Amazon may have been the progenitor of today’s API economy, when the company CEO issued a mandate that all teams must expose their data and functionality through service interfaces. While Intel IT’s executives have not issued such a directive, we make sure that every layer in our enterprise private cloud exposes and consumes web services through APIs. In fact, this a key component of our overall hybrid cloud strategy, as described in the enterprise private cloud white paper we recently published. As the IT Principal Engineer for Intel’s cloud efforts, I’ve taken APIs’ important role to heart and have integrated this concept into our architecture.
Why is this so important?
First, as Amazon foresaw, you cannot scale fast enough unless you automate and to do so you need APIs. Intel IT, acting as its own cloud provider, requires automation and self-service. If all you have is a GUI with no scripting capabilities, you cannot automate. For example, you cannot scale out and add more applications, and—just as importantly—scale back as business needs change. Therefore, we strive to provide an API and a command-line interface for every layer in our private cloud—including IaaS, PaaS, and DBaaS.
Automation, enabled by APIs, also helps IT keep our costs down and do more with less—the IT mantra of the century. Current industry data suggests that in a highly automated environment, a single system admin can manage 1,000 servers or more. While we haven’t reached that point yet, we have made significant strides in increasing automation and providing more services without increasing cost. More importantly, automation is critical for business agility supported by self-service capabilities. As the speed of business increases, users need tools and automation to “do it themselves” as opposed to waiting for specialized personnel to act on their behalf.
Finally, exposing APIs is a critical part of our move to a hybrid cloud model, where workloads can be balanced among clouds by using policies. Without consistent API exposure, such a hybrid cloud model would be impossible.
How have we implemented API exposure at Intel?
We strongly encourage our application developers to create cloud-aware applications—even the cloud itself should incorporate cloud-aware principles. Part of being cloud-aware is implementing small, stateless components designed to scale out and using web services to interact among components. We are heavily promoting the use of RESTful APIs for web services, for several reasons:
- The RESTful model is easy for developers to use in terms of methodology with specific methods (GET, POST, PUT, and DELETE).
- REST is based on HTTP, which is designed to scale and is tolerant of network latency—very important in the cloud.
- If you call an API multiple times with the same data, the calls return the same result, which facilitates retry and error-handling scenarios.
We’re adamant about API exposure at every layer of our private cloud for one reason: automation supports a highly agile environment and is essential to the success of our hybrid cloud strategy. Please check out the paper and tell us what you are doing in this space. I would love to read about everyone’s ideas.
Catherine Spence is an Enterprise Architect and PaaS Lead for the Intel IT Cloud program.