According to Wikipedia, Cloud Computing refers to Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.
In a nutshell, it means a company requiring a certain service (eg. Email) will engage the services of an Email services provider who will provide the company with email services using the provider's servers located with the provider.
Cloud-Computing's the IN-THING now, every IT Solutions company out there is talking about moving to the CLOUD.... Cloud, Cloud and MORE Cloud. But exactly what's the big deal with clouds?
Here's the benefits :
- Agility improves with users' ability to rapidly and inexpensively re-provision technological infrastructure resources.
- Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure. This ostensibly lowers barriers to entry, as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options and fewer IT skills are required for implementation (in-house).
- Device and location independence enable users to access systems using a web browser regardless of their location or what device they are using (e.g., PC, mobile). As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, users can connect from anywhere.
- Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for:
- Centralization of infrastructure in locations with lower costs (such as real estate, electricity, etc.)
- Peak-load capacity increases (users need not engineer for highest possible load-levels)
- Utilization and efficiency improvements for systems that are often only 10–20% utilized.
- Reliability is improved if multiple redundant sites are used, which makes well designed cloud computing suitable for business continuity and disaster recovery. Nonetheless, many major cloud computing services have suffered outages, and IT and business managers can at times do little when they are affected.
- Scalability via dynamic ("on-demand") provisioning of resources on a fine-grained, self-service basis near real-time, without users having to engineer for peak loads. Performance is monitored, and consistent and loosely coupled architectures are constructed using web services as the system interface. One of the most important new methods for overcoming performance bottlenecks for a large class of applications is data parallel programming on a distributed data grid.
- Security could improve due to centralization of data, increased security-focused resources, etc., but concerns can persist about loss of control over certain sensitive data, and the lack of security for stored kernels. Security is often as good as or better than under traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford. Providers typically log accesses, but accessing the audit logs themselves can be difficult or impossible. Furthermore, the complexity of security is greatly increased when data is distributed over a wider area and / or number of devices.
- Maintenance cloud computing applications are easier to maintain, since they don't have to be installed on each user's computer. They are easier to support and to improve since the changes reach the clients instantly.
- Metering cloud computing resources usage should be measurable and should be metered per client and application on daily, weekly, monthly, and annual basis. This will enable clients on choosing the vendor cloud on cost and reliability (QoS).
Wow, a whole lot of Pros for Cloud Computing.... but what about the Cons?
- Data Security : while there will surely be a Non-Disclosure Agreement in place, would you place complete trust in the provider to be able to safe-keep your data? Remember, with your data on the cloud (aka Internet), anyone with the right tools/expertise will have a chance of hacking into the server which houses those data.
- Lost of Control : with services hosted in-house, you have control over the configurations of the application. However, with outsourcing, you are surrendering these controls to your provider. Getting them to customise the application will only incur additional cost.
- Service Outage : you are at the mercy of your provider should the services be down. And you'd have no idea how long it will take for services to resume. However, having said so, the provider should have enough common-sense to cater for backup servers to minimise service downtime.
To sum up, whether or not to embrace The Cloud depends entirely on the nature of your business.... Just remember to consider the fallout should your sensitive data be compromised by your provider.