When it comes to writing applications based on APIs, such as AWS or VMware, there is a lot of confusion around whether there is more benefit to build them directly with the API or develop them separately. There is supporting arguments from both sides, so what should organizations looking at cloud know before creating applications?
When it comes to APIs, there are several key ones that are emerging as cloud platforms. Amazon and their AWS API has been around for years, and are said to be a mature platform that incorporates many best practices for APIs. Unfortunately, since the API code has been changing for years, there are a lot of legacy conventions and inconsistencies. The other key issue is that because so much already use them, it makes it slower to adapt them as a response to changing best practices and optimizations because the support required to maintain older version of itself.
VMware has taken a different approach with APIs by releasing them to vendors to create next-generation products that can support a wealth of different tools from security to management and development. The benefit in this case is that it is clear that VMware’s goal is to offer a stable platform that allows for integration with other development systems, while helping organizations avoid risk of vendor lock-in by making their APIs more flexible to work with other platforms.
With open source APIs such as those used for developing in the OpenStack open-source cloud model, there is a large development group made up of individuals from different organizations. This is good because of the wide variety of developers, and the independence from major vendor restrictions means that code can be updated quickly and take advantage of new technologies quicker. The downside is that with any type of open-source model there is a lot of risk of code that may not be secure or stable. There is also no true regulating agency to verify the code is recommended for implementation, but most importantly, as cloud develops there will be a revolving door of vendors that support the platform. This is evidenced by the recent dismissal of OpenStack by Citrix for Apache.
When it comes to cloud adoption, there are so many details that have a direct effect on the success of implementation and future business operations. It is too early to determine what is the best method of cloud adoption, but the more information we have, the better decisions we can make.