Flexibility is a key characteristic of cloud computing. This refers not only to the cloud’s scalability—its ability to add processing power, storage capacity, and users quickly and on-demand. The flexibility of the cloud also incorporates its underlying hardware, platforms, operating systems, and applications. A given cloud can be made up of any number of different types and brands of hardware and software. Any application that can be installed on a hard drive or a shared local server can also be hosted in the cloud. In addition, clouds and cloud-based solutions can communicate with each other. Integrating a Facebook account with a Flickr album is an example of an overt and well-known form inter-cloud communication. But most cloud-to-cloud (i.e., software-to-software) transmissions take place behind the scenes and involve much more important processes. This means that clouds not only have unlimited capacity (scalability) and unlimited customization but they can also combine with other clouds to create an infinitely powerful and useful web-based solution.
The cloud’s impressive flexibility is mostly a result of application programming interfaces (APIs). In the most basic terms, an API is what allows two separate software programs to integrate or interact with one another. It is a list of software codes that correspond with certain actions in a given application (software A). In order to get a different application to interact with software A, programmers only have to design their applications to generate and send the API codes of the actions they want software A to perform. Any kind of software-to-software communication, including application-to-operating-system, will be mediated by an API.
Cloud APIs are special for a couple reasons. First, a lot of major cloud service providers such as Twitter and Facebook will release APIs to the public (a so-called Open API). Not only for-profit software developers but also amateur programmers will have the opportunity to build modules and standalone applications that extensively interact with cloud-based services. This leads to higher creativity and better functionality for the software on either end of the API. Second, it is more valuable for applications to be able to interact with cloud-based solutions than with software and operating systems on the same hard drive. Cloud-based applications can be accessed from anywhere, do not require local installation, and are often much cheaper than on-premise software (pay-per-use versus expensive and long-term licenses). Applications that interact with cloud solutions via APIs also do not need much hardware support because cloud-based applications take care of their own processing. Finally, cloud computing is mainly a software-driven technology. Its infrastructure depends on database and virtualization applications that connect and coordinate with each other via APIs. The titles of the articles “The API is everything for cloud computing” and “Without APIs, there is no cloud computing” demonstrate the extent to which APIs account for the cloud’s flexibility and functionality.
Also underlining the importance of application programming interfaces for the technical world were the controversies over the Oracle-Google patent case and Twitter’s recent adjustments to its API. The Oracle-Google legal battle concerned 37 Java APIs that Google allegedly stole for its Android mobile operating system. Commenting on the case, the Electronic Frontier Foundation warned, “Treating APIs as copyrightable would have a profound negative impact on interoperability, and, therefore, innovation. APIs are ubiquitous and fundamental to all kinds of program development. It is safe to say that all software developers use APIs to make their software work with other software.” The Oracle v. Google judge ended up ruling that APIs were not copyrightable material. Meanwhile, Twitter announced changes to its API that would increase the maximum amount of “data grab” requests of third-party applications such as Hootsuite from 350 to 720 per hour. However, the new API would also limit the number of total users of third-party applications to 100,000 or 200% of their current user base. Thomas Claburn of InformationWeek criticized this and other changes to the Twitter API, saying, “Many third-party Twitter apps will disappear or be forced to remove the functionality that differentiates them from official Twitter software. Twitter has in effect outlawed innovation, except in a narrow, approved range of activity.”
Like any hosting company, IronOrbit utilizes APIs as connections between applications, database systems, virtualization platforms, and private and hybrid clouds. However, our talented engineers fine-tune the interactions between all the components of our solutions to maximize performance, reliability, and security. And more than any other hosting provider, we take advantage of APIs in building fully customized clouds (any hardware, any application, any virtual desktop) that match the IT requirements and preferences of our customers exactly. With other hosting companies, APIs are the equivalent of wires and cables—basic connections—running between different hardware units. But with IronOrbit, APIs are the key to infinitely flexible and customizable clouds.