With all that has been said of the cloud, you may well be asking yourself "where's the catch? Why hasn't everyone moved to the cloud?". The answer is that there still remain some barriers to cloud adoption, barriers we like to think about in terms of the four 'C's: capability, complexity, confidence, and cost.
Public clouds are perfect for those tasks that every business must complete, such as email filtering, as you can usually find a quick and easy solution to very significant yet boring problems. However, while certain IT tasks are similar across businesses, there are other IT tasks that help to separate a business from its competition.
With public cloud applications, you can only configure it as far as the cloud provider allows, leading to an external restriction on your business function and growth. For example, most law firms haven't taken their word-processing into the cloud yet, as the legal boiler-plates they use are not compatible with cloud word-processing services. This may change, but slowly and not under your control.
If you have simple needs and small businesses, using the cloud can be simple. However, as most businesses have more substantial needs such as combining multiple applications and data migration, cloud services, in turn, become a lot more complex and difficult to manage.
It should be remembered that as well as a good and complete cloud service, a business needs plenty of on-site resources to function as well. You will still need a local infrastructure, network, Internet, security, printers, etc. and cloud applications will need to be managed to ensure they abide by local regulation. Even then you will still need significant IT support to help manage all the non-cloud-based applications and hardware.
So buying-in to the cloud is not quite as simple as just buying a cloud service. Management of applications and hardware and the mix of local and cloud applications could actually prove more complex than hosting everything on-site.
The biggest barrier affecting most businesses right now is confidence: do you trust your cloud provider? Switching to a cloud-based system essentially means delegating the responsibility for some of your IT to a third-party - including potentially mission-critical data and applications. As such, you need to be very confident in the ability of your cloud provider to: defend your data from security breaches; protect their servers from environmental damage; continue providing a good quality service and not go out of business.
By the same token, you need to be confident in your own hardware and Internet connection, otherwise, you may find your whole office unable to do any work.
On the surface of it, cloud computing may seem far cheaper, or even free, compared to building your IT locally. However, once you have overcome the issues outlined above by installing your own IT infrastructure, support staff, applications, security, etc. you may well find that a cloud setup doesn't save you as much as you may have thought.