As recently as four years ago developers, IT Managers and Business Technology leaders were not sold on “The Cloud.” There were concerns about reliability, security and cost. The cloud offerings themselves hadn’t reached a point where the features, flexibility and economy of scale made the cloud a more compelling option than home grown and self-hosted solutions. Fast forward to 2014 and the Cloud is here to stay. An August 2013 report from Gartner says that 38% of business are using some form of cloud services today while 80% intend to use the cloud in the next 12 months.
There’s no question, the cloud can make your application easier to develop and less expensive to build and maintain. But, like all things in technology, there are pros and cons to the user of cloud services. One that has only recently gotten the attention of the IT industry is management of cloud services. This concept falls into two areas:
· Automation - The ability to automate certain repetitive management functions that don’t require extensive human interaction or complex decision making.
· Management Overhead - How to deal with the plethora of cloud service management portals that are necessary to manage the cloud service offerings from different providers.
Most cloud providers have been working to offer scripting and automation services to address the first point. The second issue has persisted as consumers continue want to move more and more backend components and functions to the cloud, yet few cloud service providers offer a “complete package” of everything business need to meet their needs.
A strength of cloud is modularity. Most cloud services providers who offer multiple service have some sort of a la carte pricing model and support APIs which enable clients to use only as much as they want to use. This not only helps clients assemble a “best of breed” collection of cloud services, but it also helps make up for gaps in the offerings from provider to provider.
Again, the benefits of modularity do come with some cost. The one that most people think of is integration. Certainly, integration can be a headache. In situations where an open standard does not already exits (like OAuth), most provider’s stance is that they provide you with the APIs and it’s up to you to make to calls to the individual providers and manage the integration on your end.
But there is another cost that many don’t take into account until they are neck-deep in dealing with it. Using several different cloud service vendors to provide your services requires the use of a variety of service management portals. Generally speaking, you will have at least on management portal per vendor. But it’s not unrealistic that in some cases depending on which combination of services you have selected from a provider, you could have several.
On the surface this may not seem to be a dire issue. But each of these portal will likely work differently. All new management portals will have some manner of learning curve associated with them. In all likelihood they will have very a different look and feel between them, which limits the ability to leverage knowledge of one portal in learning the others. This means that it will take your developers longer to become proficient with each vendor portal that is added. If you are using file storage from vendor A, user authentication from vendor B and a cloud-based data storage service from vendor C you have tripled the learning curve for the developers and IT Pros responsible for managing these services.
The effect of having multiple vendor portals goes deeper than just the initial learning curve. Different vendors provide different levels or depth of control of the services they are associated with. Users have to remember what’s available as far as level of control in each vendor’s management portal. Add to that the fact that each vendor will roll out changes and enhancements on a schedule that may not coincide with other vendors. Now your users need to keep track of changes across all the vendor portals you require. This stretches the learning curve out even farther.
Most cloud services are billed based on usage. Vendors handle overages differently; some will automatically bump you up to the next plan level. Others will charge you per minute/byte/file/etc. Others will simply cut off services leaving you high and dry. This makes it important to understand where you set with the usages statistics and quotas for the various cloud services you employ. Again, multiple management portals mean several places to go to gather the information you need to manage you applications back end. This makes it difficult to get a holistic view of your applications health.
Reducing the Burden
One way that businesses have been able to help mitigate the multiple vendor portal issue is to take advantage of the management APIs offered by many vendors. This works to a degree; many common and simple tasks can be automated. Complex interaction can’t really be handled with scripts.
Some clever developers have attempted to leverage the API’s by writing their own common unified management portal. This seems appealing as you can manage the learning curve with your own staff and expose just the features and functionality that are important to your business. If all you need is a very basic level of interaction this can be a workable solution. It raises other issues now as this portal will need to be maintained. APIs change and are extended as the service offerings change. As the business needs evolve the “composite portal” will need to be updated. Unless this composite portal is being developed as a product, it’s likely not a good use of development resources.
As cloud services have matured vendors have expanded their offerings. Larger vendors have started offering a more complete slate of services that encompass almost everything a business could need to developer cloud enabled applications. In addition to some more obvious advantages (easy integration, consistent APIs and SDKs, package discounts) having a suite of cloud services provided by a single vendor (in most cases) affords the business to ability to manage all the services with one management portal (Figure one).
A value add from companies is the ability to integrate their portal with services from other vendors, thus allowing the business to consume services from wherever they like, but allowing developers and IT Pros to continue to use the same portal they have already have experience and knowledge in. This enables developers and IT Pros to leverage one learning curve over multiple services. This integration can take the form of being able to control services from other provides or tracking usage metrics from other vendors or both. It also enables business to have one place to track their resource usage and understand the health of their application.
The Telerik Platform – A Unified Solution
Figure 1 – The Telerik Backend Services portal enables you to manage several types of services from one place
Telerik Backend Services (part of the Telerik Platform) provides a great solution to your cloud service management needs. As a complete platform, Telerik Backend Services provides a collection of services that traditionally you would have to go to may different vendors to find. Utilizing one vendor for your services makes management easier by providing one common place to control them. Telerik Backend Services also provide many management features as part of its API, enabling you to control your services from anywhere you like. Finally, through the use of “cloud code” you can augment your Telerik Backend Services to call APIs on other services providers when actions are taken on your portal to help control and manage services from these other vendors.
Cloud services have been a boon to software development. However there are also hidden costs that should be addressed when selecting a cloud provider or providers. Management of cloud based services can be a costly and inefficient prospect when services are spread across multiple vendors. There are many ways to mitigate these risks and costs including home grown solutions, selecting one vendor for all cloud based needs or selecting a vendor that provides a portal capable of integrating with other vendors services. Each of these have benefits and drawbacks