Application programming interfaces (APIs) are a hot topic in cloud computing and will likely affect the decisions we will have to make as we deploy applications in the cloud. First a refresher—standard APIs are simple commands that are understood by both the sender and receiver to mean the same thing. For example, if I were to say in English, “sit,” “stay,” or “fetch,” to a well-trained dog we both understand what needs to happen next if the dog is going to earn a treat. It doesn’t matter if I say this to a French bulldog, a German shepherd, or an English mastiff—the command is always understood and executed.
In cloud systems, API standards are necessary so that we can use the same commands over and over again to talk to different systems. We write once (an automation tool, a data request, etc.) and we know that it will work with the many applications and web services we need to connect together for our application infrastructure. There are several API standards in use, but the Representational State Transfer (REST) standard is the most current API standard used in cloud computing. So when looking for cloud and web services, most users are looking for a RESTful API set—also called a RESTful web service—which is a web API implemented using HTTP and REST principles. REST uses the commands GET, PUT, POST, and DELETE.
In cloud computing most users find that RESTful APIs are a powerful toolset for server automation and creating robust ecosystems without having to sign into a management console. Some users create their own automation tools (perhaps in Ruby or Java) but most rely on tools like Opscode Chef and PuppetLabs’s Puppet. Systems administrators need these tools because a core principle of cloud computing is scaling quickly and using rented server instances efficiently. For example, you may have to spin up servers for peak retail loads or decommission servers that no longer needed or you may need to manage object file transfers in and out of storage. You may be testing a high performance application that is nearly ready for production. You may be rendering video with a looming deadline. You may want to use thousands of servers for an hour or two for a MapReduce batch job. Of course, you are likely to be managing several projects and many servers at once—all with different objectives.
Although we’ve just released Verizon Cloud Compute and Verizon Cloud Storage to public beta we have already built a robust set of RESTful APIs that customers can use to test their automation tools against our newest cloud services. As a core design goal for Verizon Cloud, we built APIs for most compute and storage needs and they are well documented with sample code, guidelines, and best practices. You can also find API discussions in the user forums. A key tenet of cloud computing is letting the systems administrators automate their best practices and we believe we’ve created the API tools to help.
– See more at: http://www.terremark.com/blog/2013/10/08/powerful-apis-leverage-cloud-computing/#sthash.V1uMhWvc.dpuf