Platform-as-a-Service is where the most complex work in the cloud is happening. Increasingly mission-critical applications are being ported to the cloud. This is bringing the emphasis back to the basic principles of computer science and software engineering. In many cases, operators may only be interested in getting the application up and running, but it is important to realize that any shortcuts taken in the early stages will cause major problems if the application is to expand later and connect to other applications – many of whom may be residing in clouds belonging to customers, clients (and maybe competitors?).
The importance of Service Oriented Architecture (SOA) cannot be over-emphasized. Implementing SOA will lead to applications that are well governed, can be shared, can grow and expand and are language independent. Such an application stack will be stable and more secure. Implementing SOA also ensures that you do not create silos in your application stack. Silos lead to wasted effort, duplication of data and restrict the growth of your applications. I have chosen to harp on the importance of good governance of your cloud based applications because of several reasons –
- If you were using Software-as-a-Service (SaaS), you would be using well made application programs made by professionals. However, on the PaaS model, there is scope for improperly constructed applications.
- Following the PaaS model, you get a ready-to-use server platform of the configuration you want. After hiring such an instance, you still need to create the programs that will be used on this platform. Therefore, there is a need to write application programs.
- With a large number of tools being available, creating applications that reside on platforms you hire on the cloud is becoming easy. Just as a large number of visual programming languages created a breed of amateur programmers who could automate basic tasks with ease, it is becoming possible to create programs for use in the cloud that would perform most common functions with ease. Hiring of servers with specified configurations is not difficult at all. Therefore we are beginning to see many applications that do not follow strict rules of cloud-based application engineering and SOA.
Another important issue to be considered is the calculation of the Return on Investment (ROI). This is an important figure if you wish to expand your presence on the cloud. Once again, the PaaS model gives you certain responsibilities in this regard. Using the SaaS model will give you fairly well documented ROI figures. However, this is something that needs to be calculated for PaaS application stacks. Remember also that you would use Platform as a Service only if existing applications do not meet your requirements. Therefore you are faced with the problem of calculating the ROI of niche programs.
Cloud ROI is composed of 3 major benefit areas:
- Cost Reduction
- Productivity Enhancement
- Revenue Transformation
Cost reduction - in a typical case, the transition to a cloud resulted in the reduction of servers from 82 to 11. Racks reduced from 11 to 1, there were 50% savings in capital expenditure and 80% savings in operating expenditure. There is an immediate reduction in savings on personnel. This can be huge if you consider that more than two thirds of the IT budget is typically spent on manpower. There are significant savings in power and cooling requirements as well.
Productivity enhancement – the cloud gives far greater stability as compared to on-premise hosted systems. The stability of applications improves and work gets done better. An extreme example is provided by super storm Sandy. While traditional, on-premise systems in affected areas had to shut down leading to major revenue loss, cloud based systems merely shifted their entire application stacks to data centers in other zones and continues operations without a glitch.
Revenue transformation – prior to cloud computing, most of your IT expenditure (less the manpower costs) was capital expenditure. In the cloud model, this is generally operating expenditure. In addition to this, the pay as you go model fits very well into the operating expenditure mold.
To summarize, using PaaS gives you the flexibility to create applications that fit your niche area perfectly. However, this flexibility gives you scope to make mistakes and create inefficient code and silos.
Finally, calculation of RoI is a critical factor in the governance of your PaaS application stack. It brings in a more structured approach to writing applications.
Be Part of Our Cloud Conversation
About the Guest Author:
Sanjay Srivastava has been active in computing infrastructure and has participated in major projects on cloud computing, networking, VoIP and in creation of applications running over distributed databases. Due to a military background, his focus has always been on stability and availability of infrastructure. Sanjay was the Director of Information Technology in a major enterprise and managed the transition from legacy software to fully networked operations using private cloud infrastructure. He now writes extensively on cloud computing and networking and is about to move to his farm in Central India where he plans to use cloud computing and modern technology to improve the lives of rural folk in India.