Remember, our simplified definition of cloud computing consists of shared computing resources that are virtualized and accessed as a service through an APL.
The Pros
1- Costs/capital expenditures
If cloud computing is right for your company, then major cost savings can be seen in buying and maintaining the needed infrastructure, support equipment, and communication costs. The vendors and/or service providers, who charge the users a utility or user type fee, own these costs.
2- Scalability
One of IT's biggest problems is the constant need to add more equipment to keep up with the growing demand for accessing, storing, and analyzing information by both internal and external users. One example is in the data center where adding servers is a major cost issue (actual power for the data center is the number one issue, but it is related to the growing need for items like servers). Since cloud computing is virtual, one can expand or contract equipment/infrastructure as demands change. Do Cloud Computing Write for Us blog is a great method to share your knowledge and experience with others.
3- Start-up
Since the cloud (theoretically) contains the infrastructure and applications, all one just needs to do is "dial" into the cloud. One can start using applications immediately versus a customary installation, testing, and then providing access to the appropriate user community. (Training is assumed to be a constant.)
4- Business Applications
Again, the cloud (actually the vendors and/or service providers) through contracts (Service Level Agreements -SLAs) provides numerous business applications for any user who is their client. Again like scale, enterprises only need to know which applications they need to run their business and understand what is actually provided to have access to various business applications. (Training is assumed to be a constant.)
5- Flexibility
Since cloud computing is a virtual offering, a user has the flexibility to choose, on a regular basis, the applications, amount of bandwidth or the number of users by basically modifying his user contract and increasing or decreasing costs at a known rate or factor.
The Cons
1-SLA Agreements
This is the tricky and most important one. SLAs can be very involved and it really leaves the onus on the user to understand and define all requirements in specific detail, and more importantly understand what one is getting in the terms of support, performance, security, etc. A good example is quality of service; one should understand what is offered and what the recourses are if the specified quality is not maintained.
2-Performance
Performance guarantees are usually part of the SLA document, but I have singled this one out because it is critical to maintain the performance (uptime) one needs both for internal AND external users. Understand if the performance guarantee is defined as an average or just during peak times versus a "uniform" performance. If performance is compromised, it can impact many things including revenue and your company's goodwill.
3-Vendors
Not all vendors are created equally! Many vendors are claiming to provide cloud computing, but in reality, they are just providing a specific service, or a specific application or worst they are a middleman and provide no value-add at all. As I sated in my previous posting, one needs to understand the difference between cloud computing and hosted services or managed services or seemingly some form of virtualization. My best advice is to definitely get with reference customers and see if they model what you would like from the cloud.
4-Security
We all know that the internet has some security issues and since the cloud utilizes the internet coupled with applications infrastructure and support, users should be aware of the potential for new threats and increased risk exposure. It is important to include your firm's risk tolerance in any decision to move to cloud computing, as not all the security issues are understood, and new ones will arise.
5-IT Staffing
If one does utilize the cloud, then make sure one understands the vendor staffing that is available to support your needs and hundreds of others using their cloud. A number of vendors out-source staffing and some of the personnel may not be as good as your own internal organization. Ask the potential service provider if they have trained personnel to support the applications you request.