Tuesday, May 4, 2010

Benefits of Cloud Computing

Updated 8/24/2012
Let's review the benefits of cloud computing. The core focus here will mainly be on cloud application deployment (sometimes known as software as a service or SAAS), like SalesForce.com for customer relationship management or Google Apps, for Office productivity. Cloud computing can also provide tremendous benefit by serving as a "platform" for custom development, like Google App Engine, which I will address in future articles. Cloud computing is in an evolutionary period in business computing, much like the migration from mainframe computers to desktop then to PC LANs, cloud computing is a major disrupting technology in business. This isn’t a bad thing; it’s just different and brings tremendous benefit. Companies that can adapt will benefit and get the jump on their competitors by reaping the benefits earlier. If you want an intro to cloud computing read my article, “Primer on Cloud Computing”.



One of the big business benefits of cloud computing is "agility".  Cloud computing gives companies the ability to quickly launch business applications without the time, effort, and cost of local implementations.  This agility also stems from being able to not only turn-on services quickly, but grow that service as fast as you need, and in our emerging mobile connected workforce, be connected to our business from anywhere.

From an IT professional viewpoint, cloud computing will be, in my opinion, the fastest growing segment of computing for the next five years. The cost / benefit combined with inexpensive high speed networking are probably the two biggest reasons for this. I, like Nicholas Carr, see this as a major shift in computing where the story of power generation moving from the manufacturing plant to a central scaled facility is an apt example.

I’ll group the IT benefits into three major areas, infrastructure, people, and productivity.


Infrastructure Cost Savings

Infrastructure benefits not only covers the cost savings in infrastructure associated with deploying an application in the cloud, but it also includes all of the costs that go along with running and maintaining an application infrastructure.
  • Reduced software and maintenance costs - The costs aren’t zero unless you are taking advantage of a free service, like consumer gMail. Many cloud applications will charge a monthly or yearly fee and could include a per seat cost or other form of usage charges. For the most part, the total cost can be much lower than deploying the entire service on your own infrastructure. Included in the software savings costs are licenses for things like middle-ware, databases and other software needed to actually deploy an application. If you use a vitalized environment, you can toss that cost avoidance in there as well.
      
  • Computer hardware - Another obvious cost savings is computer hardware and everything needed to deploy that hardware, like racks, cabling, accessories as well as operating systems. Like all the other devices in your data center, there are additional costs for maintenance contracts, patches, upgrades, and spare parts as well as the infrastructure needed to monitor all these systems.

  • Storage costs are typically lower - In some cases the storage is unlimited within the package offered. Because cloud vendors can leverage economies of scale, the cost to store your data plummets.  According to this research paper from Forrester, storage costs are lower in the cloud.

  • Low cost storage expansion - For many cloud services, expanding the amount of storage you need is very low. Forget the pain of adding disk drives or running out of space. If you are a company, this is a big deal because it's not just the cost of disk drives. Storage costs include the cost to manage it, back it up, the racks that it goes into, the power, air conditioning, and the space within a computing center for the storage. Some companies are just tapped out, no more power, space or air conditioning. When this happens, adding more gets very expensive because of all the infrastructure needs to be added in order to take that incremental step.

  • Elastic capacity - In addition to the advantages that cloud computing provides for scalability, it also allows you to quickly scale up when you buy another company or scale down when you don’t need the extra capacity. Companies that deploy their own services must plan for peak demand. If that demand doesn’t come or happens only for a short while, the company is stuck with all that capital investment for the duration of the application. Cloud vendors allow you to reduce costs by removing unneeded accounts or reducing the amount of raw CPU crunching power when you don’t need it.

  • Scalability - Although we will cover the ease of scaling up later, you get a lot of scale for the cost. Think about that what it takes to plug-in search to your application using Google's search. For example, when you do a very simple query in Google, hundreds or more computers leap into action to find your results and get them back to you in 3 seconds or less. It may take up to a half second to get your request to Google and a half second or more to get data back to you. That leaves only two seconds for Google to find what you are looking for, order it, merge it with advertising, and sometimes customize it based on your personalization settings and your security filters. Although you can build this level of scale in an Enterprise data center, it would be difficult to justify or afford even the costs of achieving this level of scale.

  • Backups - No problem, cloud computing normally does this for you. Backups are a significant, normally hidden, cost. The cost to backup a typical business application systems can get very expensive depending on the level of immediacy for recovery. Think of backups as a very expensive insurance policy that you may never need. The typical costs for a company to backup an application come from having to pay for media (tape or other storage), backup applications and or custom scripts to backup and recover that data. Depending on your disaster recovery plan it’s not just a single set of media that you need to pay for but normally hundreds of pieces that are rotated on some sort of schedule. In addition, there is the cost of the separate computers or tape robots that do the backup and the cost of off-site storage services for your media. Some companies have a need to back-up to a remote computer in order to reduce the time to recover adding still more costs in infrastructure for facilities, computers, storage and networking. Depending on your service provider, disaster recovery costs should be included in your contract. This doesn't mean you shouldn't backup your photos if you are a home user or backup your core operational data if you are a business. No company is infallible, or a vendor could go out of business or be hacked and have data destroyed. Your evaluation of your provider and its processes and capabilities will help guide your decision in that regard. I will say, it’s in a cloud vendor’s best interest not to lose your data because this IS big business. Imagine if Flickr lost a large set of photos or SalesForce.com lost your data. It could destroy their reputation and put them out of business within a year. I wouldn’t consider a consumer service like Flickr as Enterprise grade so I still backup everything that I have to two different places and sometimes three but many people don't, and services like Flickr are their only lifeline if their PC crashes or they have a fire. (See my article "Backup your PC to the NET, or just backup", aimed at home users for more info on this).  Also, take a look at Amazon's Glacier to see what the emerging long-term storage in the cloud looks like.

  • Data centers, cooling, power and more - Most people don't realize (or even care), that most cloud computing applications are using thousands of computers (hundreds of thousands in Google's case) to solve your problem. In many corporate data centers power is a very significant cost. There are a lot of fixed costs associated with providing power, security, and cooling in a data center. Transformers and all of the infrastructure that goes with power distribution, cooling, network equipment, racks, and all the maintenance for those items are avoided by using cloud computing. Companies that are looking to cloud computing to scale up operations or add new capabilities can sometimes find that just that the fixed costs associated with ramping-up data center capacity can be a deal breaker.

  • Networking - You might consider this part of a “data center”, but not only does cloud computing allow you to avoid the cost of all of the equipment needed for a reliable network to service external customers.  You may also be avoiding a lot of cost that goes into the Wide Area Network (WAN) charges that connects your application to the Internet. The size of cloud vendors allows them to negotiate better deals and many of them are connected to multiple carriers for redundancy.

  • Always on services - Many cloud vendors are able to achieve “four nines” availability (4.5 minutes of downtime per month) which is very expensive for a typical business to implement. I’ve had experience within a fortune 100 company just trying to achieve 99.9% up-time (42 minutes per month downtime) and it’s expensive. In many cases it requires multiple levels of redundancy at every level of the service hierarchy and a continuous improvement programs to maintain that. A three tier architecture that utilizes a front-end for web, a mid-tier for application services (like J2EE), and a database service. All of these layers need redundant infrastructure as well as all of the glue that automatically handles fail-over as well as special software and network services. All of this extra infrastructure needs data centers and networks to operate. Some enterprises spend additional money to fail-over to separate physical locations in-case of fire or say a general power or network melt-down at a particular site. It takes people that are experts in infrastructure architecture, operations and monitoring, networking and facilities to make this happen. In addition, it’s assumed that each of the data centers have continuous power and network services redundancy that can cover all the other points of failure. All of this is desperately critical because today's customers are located world-wide and use services during every minute of every day. Even if your company isn’t delivering product or services world-wide, there is now an expectation by customers that there is no down time. Zero. As you can see, there is tremendous cost savings by being able to have someone else do this.

Labor Cost Savings

It may sound cliché, but it takes people to deliver applications. Although some companies get by with just one person, others need entire departments of IT workers slaving away. People cost savings due to cloud computing are difficult to quantify because it really depends on the level of service that a company has decided is appropriate for their application. The list below are just a few areas where companies save real dollars using cloud computing.
  • Support - Support is a very broad term but in this case I’m talking about not only the people needed to support an application from a user perspective but also all of the people that it takes to setup and maintain the hardware, software, networks, and facilities. Depending on the service level desired, some companies will still have some end-user support responsibilities but all of the infrastructure support costs are owned by the vendor. For high capacity and high availability solutions, it takes double the people working all shifts, every day of the year to support applications in-house.

  • Application Fixes - Many companies move to off-the-shelf software just to reduce or eliminate the cost of application development and the cost to continuously improve or fix issues that crop up. This includes all of the overhead that comes with this like managers, design and usability experts, project managers, and other resources that are needed in a successful development organization. Cloud computing where you are buying an application service owns all of these costs.

  • Upgrades - I’m not talking about the cost saving by not having to buy the upgrade for your software package but the people it takes to implement upgrades. Companies that host applications still need people to apply upgrades and patches. Upgrades are not just for the application but also for the operating system and network devices and other pieces of infrastructure. Upgrades and patches are critical to continuously improve security, reliability and deliver additional capability but the people cost can be huge if you are serious about keeping everything current. Hidden from view are the people costs spent on scheduling, coordinating, and managing all the touch points that are part of this process. Furthermore, if you want upgrades to happen without service interruption then the costs are higher. When I use something like gMail or Google Apps, all of this activity (and cost) is hidden. The churn of patching and upgrading infrastructure and applications that I use and the people it takes to do that is completely hidden and cost to me seam free (nothing is free but you know what I mean). In addition, when a company scales up in storage and compute capacity, there’s no planning needed for the people end, this is owned by the vendor. Because vendors provide the service for multiple clients, they can take advantage of the economies of scale that come with that.

  • Operations - This is a catch all but you have to account for the people that just keep things running, integrated with the rest of the teams and business. These are the people that are needed to keep the lights on so to speak.

  • Management - Not typically thought of as a cost savings area, management is an area where you do save. Although management is a people cost, there is also a hidden costs, like managers of the mangers, hiring, HR and all the services and overhead that are needed to maintain an IT department.

  • Security - Although you still have a need for internal security, by moving applications hosting or platform delivery to a cloud provider should lower your cost of security professionals.

Improved Productivity

In this section we describe all of the other benefits that typically come with Cloud computing. Many of these things are hidden and / or assumed but they are costs you avoid if you don’t have to do it yourself.
  • Immediate access from anywhere, anytime - This is getting to be known as the "killer app" of cloud computing. With powerful mobile computers (also known as iPhones and other devices) you now have the power of a super-computer in the palm of your hand and access to your data from anywhere. Companies can now deploy capabilities to workers and or customers world-wide within seconds. If I were to form a new company I can have a complete infrastructure setup for office productivity that allows me to hire workers located on every continent and know they will have instant access to company tools. In addition, all of this access is dependable because it's always on.

  • Interoperability - It doesn't make any difference if you have a Mac, PC, netbook running LINUX, iPad, or iPhone. Many cloud computing services work on any platform as long as it's hooked to the net and has a compatible browser installed. It's important to note that having a compatible browser might look like a limitation, but most cloud computing vendors know that their customers use more than just one browser, so they normally ensure that multiple browsers will work. And if nothing else, they try to expose most functionality on all browsers. I’ve worked on corporate teams where supporting more than one browser is a real cost to the company. Supporting multiple browsers means double or triple the testing and in some cases having to design and implement a particular features three different ways to support three different browsers.

  • Instant publishing and sharing - This is one of the foundational benefits of cloud computing. Depending on your Flickr configuration, sharing your pictures is immediate. For business and home users using Google Docs, users can share content quickly and easily to people worldwide or a specific small set of people in just seconds. You can also set who can do what, like who is allowed to change content, comment on your content, and has who has the ability to use other features.

  • Upgrade your PC? No problem! - When users receive a new PC due to system failure or upgrade it can be a real productivity killer. Because data and applications are not stored on your PC, as soon as you turn on a new PC and hook it to the Internet, you are back in business. Nothing to re-install, nothing to upgrade. Not only is this a productivity boost, but it lowers costs for the IT group that manages end-user computing platforms.

  • Compatibility rocks - With typical PC programs, you not only have to worry if it's compatible with your PC (Mac or windows) but also the version of applications, drivers and operating systems on your PC (like Vista or Windows 7). As we've already touched on, most cloud computing solutions are platform agnostic and just need you to use a compatible browser. Although any company can deliver their internal apps applications via the web, this is an almost assumed benefit to cloud computing services.

  • Collaboration - This is another crown jewel of cloud computing because globally accessible applications enable easy collaboration. We can work together to tag your photos (if you allow) just like we can collaborate real time on a Google document or spreadsheet (actually watching a group of friends or coworkers all type at the same time). We can ask (and allow) the world or just our friends to collaborate. The ability to collaborate in place is not only powerful but expected by the next generation of workers. Shipping a document, spreadsheet, slide set or other content around via e-mail is old school and a real time waster. If you want to attract the next generating of talent you have to enable this incredibly powerful capability.

  • Social networking - Flickr, like other applications, allows you to keep tabs on what your friends are up to and comment on each others photos (you can allow just your friends, family, the world, or no one in the Flickr settings). Although not a core part of what I would consider cloud computing for enterprise applications, having everything else in this list enables this ability for companies that want to make this a feature. Many companies poo poo the social networking applicability to business applications or see that feature as unnecessary. I counter that with the fact that the new generation of workers expect the collaboration and social capabilities that they have in their private lives to be available in their work lives. The way people work and collaborate is changing and it’s important that business recognize this if they want to attract top talent.

  • The synergistic effects - The interoperability of most cloud services with other users using the same (or possibly different) service can bring huge benefits. Applications like Google Apps, allow you to integrate other peoples data into your calculations and content easily. The possibilities are endless.

  • Crowd sourcing - This is an extremely powerful concept. Crowd sourcing allows you to leverage millions of smart people to solve difficult problems, like finding photos. Sites that allow everyone to contribute to the effort of tagging can make finding photos easier. This is how Google makes finding stuff look so easy. Although most people don’t know it, when you use Google to find a web page on a particular topic or answer a question, one of the things that you are leveraging is the fact that millions of other people have asked the same question and normally chose the best answer. Google could look at what you chose to look at and possibly what you finally settled on to rank answers. They also use algorithms to look at what other web pages link to on other web pages to figure out who has similar or complimentary information. Over time, the quality of the results for that search just gets better and more relevant. Combine this with the fact that Google knows, in general, where you are. That means that a guy in Miami who searched for "dolphins" will see his favorite football team included near the top of the results where someone in San Diego would see the football reference a little farther down. Crowd sourcing is also how I think Google provides one of the best translation engines and speech to text services in the industry. They use millions of people to train their computers without users even knowing it. For business, companies are using the concept to generate new product ideas or improve existing products. A gold mining company used the concept to help them find gold on their properties, vaulting them to the number one gold mining company in the world.

  • Lower training via Improved usability - Companies like Google and Yahoo (the owners of Flickr), spend millions on top talent that are dedicated to figuring out how to make using their applications easy. They can afford to do that because of the economies of scale. That's why you don't need a 100 page manual to use their solutions. Trying to explain to my mom how to install software is a real task but I can quickly setup her e-mail and productivity applications on Google and explain how to use them. There’s almost no training on many cloud based applications. Think about that, your users no longer have to be computer geeks to do some very powerful things.

  • Scale - Cloud computing allows users and companies to quickly scale up by keeping reserve capacity to handle this. In order for a small or large companies to add computer capacity quickly, they think in months. This is a real factor (and expense) when your company is on a merger and acquisition spree. Cloud computing normally provides the ability to scale in minutes. This is one of the many reasons companies and universities are turning to Google for mail and Google Apps and SalesForce.com for CRM. You can setup an entire company and upload all of the company employees to a custom Google Apps Domain in one day. That means that you instantly are providing e-mail, calendaring, collaboration tools, web sites and a full office suite of applications without buying a single computer server or software license. To do this for a company of just 300 would could costs hundreds of thousands of dollars in equipment and people and if you wanted the same service levels that you get with cloud computing, possibly over a million.

  • Quality & Testing - Like off-the-shelf (OTS) software, most companies may have to do some testing to ensure that a new feature coming out on their cloud platform won’t impact the business but it’s very small compared to deploying your own server platform. If you compare cloud services to OTS apps on your own server, you still avoid a lot of testing for compatibility on your local platform (hardware, middle-ware, database and other components). In addition, OTS software on your own servers requires that you retest the entire application anytime you make a change to any of the components of your platform.

  • Tuning - Most of us forget, but it takes time to really get an application service running at peak efficiency. It’s time consuming and almost a black art in some respects. Each application is different and requires different approaches for WEB, application tier, and database. With this comes the expense and time spent to load test your application. And don’t forget, weeks or months after you tune an application so that it’s running at peak efficiency, something changes and you are back to square one. In the cloud computing world, all of this cost moves out of a company IT budget.

Business Continuity

I consider "always on" to be an out of the box feature of a cloud provider. Many times, cloud providers offer better business continuity than you can afford to implement yourself. The term “business continuity” is a fancy way of saying that the application will be available to run your business on a day to day basis and mitigates factors that mean to do otherwise. The telephone was the 19th century business critical system. The telephone has been replaced by the network and e-business computing systems that run today's companies.

System backups are one of the first things that people think of when they hear this term. Daily backups mitigate the effects of system crashes or errant programs as well as hackers that destroy data that you need to run your business. But backups are “old school”. In today’s business, some IT systems absolutely require higher availability than just allowing a restore from backups on failure. Restoration from backups are now becoming considered a last resort. The time it takes to restore critical systems is just too long. E-commerce and other business critical systems rely on redundant solutions that have automatic fail-over should any one of the components fail. Like a commercial airliner with redundant systems - engines, electrical, pumps, radios, pilots and more

- high-availability 
IT systems have redundant power, cooling, web servers, database servers, networking equipment, network routes and other services so that if any one fails, another can take over. It's common for cloud providers to have redundant facilities in order to mitigate any possible issue with the facility itself (earthquake, hurricanes, and twisters to name a few). Real-time replication of data to fail-over or standby sites are continuous streams of data to redundant systems, ready to bring you out of disaster within minutes. 
When large grocery supermarket chains became popular, health officials saw a decline of bad food and associated disease caused by unclean conditions and sub-optimal suppliers. One of the reasons is in part, the impact it would have on the larger supermarket chain organization as a whole. Bad publicity of a single store could affect a multi-billion dollar, nation-wide supermarket chain. Therefore the supermarket chains put a lot of focus on clean stores and clean suppliers. This analogy can be applied to business continuity provided by cloud computing vendors. If one customer of a large cloud computing provider looses business continuity due to the provider’s platform, it puts at risk the entire cloud company organization. Because of this risk, and due to the efficiencies of scale, we are likely to see up-time numbers that are economically infeasible for most business to achieve on their own. 
Always on, up and running services is not only a productivity boost to workers but if it's core to your business architecture, it means more profits from sales. When e-commerse systems or systems that support sales are down, you not only loose business but you may not see that customer come back. In addition, customer loyalty plummets if it's easier to go to another source for her to buy similar products. Bad customer experience also damages your image and reputation, possibly affecting sales to other customers as well.

Improved Security

Deploying an application that is accessible via the Internet is a security nightmare. Depending on your company security policy, it can take a team of people to plan, monitor and continually mitigate security threats. Cloud vendors are good at this, they have to be. Like the supermarket analogy above, the measures and capabilities a cloud provider has taken exceed anything feasible for your own company. I agree with Roger Grimes article in InfoWorld that Cloud computing is going to be more secure than most small and medium businesses and some large ones. Small companies just can’t afford the overhead that may be needed to run a secure data center on top of the ability to replicate each transaction to multiple secure backup sites. (read my article "Comparing Local to Cloud Security")Although it depends on the vendor, cloud vendors cover security from every angle, including physical, people, process, monitoring, networking, risk assessment, mitigation teams, and more. I also agree with Roger’s statement that you hear the press prattle on about any small issue related to security on cloud providers but you rarely will read an article about five nines up time, disaster preparedness, or anything else that could be taken in a positive light. That’s because bad news sells. Although it varies by vendor, Roger's study found that cloud providers did markedly better on security audits than for non-cloud companies. Although we will cover this in my "Challenges & Risks" article, you need to asses the security of your potential cloud provider and compare it with your own needs and abilities to secure an application in-house.
I think you’ll agree, there’s a real value proposition to cloud computing. Think about what you are getting to take advantage of and then look at the cost. Sometimes you are getting all of the above for free. The beauty of cloud computing is that this expense or cost of computers, power, storage, people, management, software, facilities, network, business continuity, security, and more is spread sometimes over millions of users. In today’s cloud computing space it takes just minutes for a small company to create a new .com address along with company email, calendaring, office suite of applications, all of which come complete with instant collaboration. Company services are available anytime anywhere on almost any computing device and without all the costs of doing this yourself.

As I’ve mentioned before, not all costs are mitigated, it’s not free, and there are risks and real issues to consider. I’ll explorer those in my "Challenges & Risks" article and talk about how risks can be mitigated in order to reap the value of cloud computing.

See Also

- Chris Claborne

No comments:

Post a Comment