Understanding Cloud APIs, and Why They Matter
As cloud computing continues to gain momentum, system administrators are looking for more ways to integrate with their cloud model. There are now more direct use cases for cloud computing, which require greater levels of customization. The ability to enhance the cloud experience and have cross-cloud compatibility has helped form the Cloud API (Application Programming Interface) environment. Now, administrators can integrate applications and other workloads into the cloud using these APIs.
But which model is the right one, and how can you incorporate an API into your cloud?
Understanding the cloud API model isn’t always easy. There are many ways to integrate into an infrastructure, and each methodology has its own underlying components. To get a better understanding of cloud computing and how APIs fit into the process, it’s important to break down the conversation at a high level. There are four major areas where cloud computing will need to integrate with another platform (or even another cloud provider).
- PaaS APIs (Service-level): Also known as Platform-as-a-Service, these service APIs are designed to provide access and functionality for a cloud environment. This means integration with databases, messaging systems, portals, and even storage components.
- SaaS APIs (Application-level): These APIs are also referred to as Software-as-a-Service APIs. Their goal is to help connect the application-layer with the cloud and underlying IT infrastructure. So, CRM and ERP applications are examples of where application APIs can be used to create a cloud application extension for your environment.
- IaaS APIs (Infrastructure-level): Commonly referred to as Infrastructure-as-a-Service, these APIs help control specific cloud resources and their distribution. For example, the rapid provisioning or de-provisioning of cloud resources is something that an infrastructure API can help with. Furthermore, network configurations and workload (VM) management can also be an area where these APIs are used.
- Cloud provider and cross-platform APIs: Many environments today don’t use only one cloud provider or even platform. Now, there is a need for greater cross-platform compatibility. More providers are offering generic HTTP and HTTPS API integration to allow their customers greater cloud versatility. Furthermore, cross-platform APIs allow cloud tenants the ability to access resources not just from their primary cloud provider, but from others as well. This can save a lot of time and development energy since organizations can now access the resources and workloads of different cloud providers and platforms.
Picking A Platform
It’s important to select the right API platform for your organization. Be aware that there may be a need for multiple different API models for your environment to function well. Also, be aware that this cloud service model is very new and there are still some challenges to be ironed out. Specifically, platform and infrastructure compatibility have been an issue. There are times when applications just won’t work with a cloud-based API platform. In these cases, it’s important to plan out the deployment and ensure that prior to any development, all pieces can interoperate and perform compatibly.
Take note: Not all cloud providers and APIs are created equal!
This means that depending upon your environment, you’ll have to thoroughly ensure that the platform you are seeking to deploy will work on the provider cloud model. In addition to software-layer compatibility, the API model offered by a cloud provider must scale and support different regions for geographic redunancy of operations. In some cases, traversing an entire nation with snapshots or backups may be required. Look for providers who unify their network infrastructure and allow both workloads and APIs to function across the WAN.
Who’s In The API Race?
The need to integrate with multiple services and platforms has generated a new cloud API market. Now, leading technological innovators are striving to meet this market demand. The ability to integrate platforms and applications by using APIs is a growing demand as more data and IT environments become distributed.
In the race to create a solid platform, several market leaders have emerged in the cloud API push. Just to name a few:
- Apache (Citrix) CloudStack
- Amazon Web Services API and Eucalyptus
- Google Compute Engine
- Simple Cloud
- OpenStack API
- VMware vCloud API
Each solution and platform has its own benefits and challenges. However, many of them have something in common: Interoperability. For example, The CloudStack model (although backed by Citrix) still integrates with any underlying hypervisor and supports other common cloud API models including AWS API, OpenStack API and even VMware vCloud API.
Other solutions, such as Simple Cloud API, are developed and funded by a number of organizations to create a true cross-platform cloud environment. In this example, Simple Cloud APIs are able to integrate with services from Amazon and Microsoft. The solution that you chose to work with will depend on the infrastructure that you are trying to deliver. If storage connectivity is a concern, look for a platform that easily integrates with various storage models across a WAN.
The cloud API model will only continue to grow as more organizations look for efficient ways to connect their environments together. The ability to have secure, multi-tenant, cloud environments helps create a robust infrastructure capable of growth and expansion. Whether there is a need to effectively distribute data across the WAN, or granularly control virtual disk images residing on different platforms, cloud APIs can help achieve greater cloud elasticity for many organizations.
Bill Kleyman is a Virtualization and Cloud Architect, MTM Technologies, who enjoys writing about technology and cloud.
Cloud, APIs, multi-level integration… it’s all part of a great puzzle that’s shaping out to be highly beneficial for productivity within companies, both large and small, as well as for the consumers. Thanks for this thorough explanation!
Great comment Brad — it certainly is a puzzle where everyone tries to integrate with everyone else. It gets even more interesting as competing organizations fund the same Cloud API projects. Still, it bodes well for the future of cloud interoperability.
Great post. OpenNebula has not been mentioned, and is quite interesting.
However I would like to ask about middleware applications like RighScale, this is the future for Cloud Brokers I assume, they might offer expertise and own multi-cloud tools to provide a better service to SMB.
what do you think?
Great mention Paco! You’re right, RightScale is a great product that helps integrate various types of cloud computing models — Hybrid, Public and Private. It’ll let you directly connect with cloud services from AWS, RackSpace, etc. Definitely a solid multi-cloud management tool.
[...] migrating data between systems to achieve goals – such as data analytics and optimization. As Data Center Knowledge writer Bill Kleyman noted, IT professionals are looking for interoperability as a way to customize [...]
JúniorPosted April 7th, 2013
Hi Bill, I’m doing a college work, about cloud APIs. It’s what we call “completion of course work”. In this work, I’m going to study APIs, test and compare them. For now, I need a way to classify the APIs, like characteristics, so later I’ll be able to make a comparison. Could you help me with any tip, or maybe any characteristic to classify or compare cloud APIs? Thank you for any help.
José Wanderlei Costa Júnior
UDESC (in english, University of Santa Catarina State)
Bill KleymanPosted April 21st, 2013
Junior – First of all, thank you so much for reading! As for API classifications, it can get pretty broad.
One of the first things to establish is what are the systems that you are trying to connect. Since APIs help applications, services, programs and platforms connect and communicate, you need to know what systems you’re working with. For example, the API structure around OpenStack will be different than a web services API trying to connect into a remote database.
Feel free to reach out directly to me for some more details. Best of luck in your courses!
Mohamed MostafaPosted April 24th, 2013
I am doing a PhD in cloud computing, my field of study is developing “cross platform” API , to allow application developed in this API to work in any of the listed cloud providers.
Can I contact for more details?