Is cloud computing mature enough to alleviate some of the pains of maintaining the IT infrastructure on site? If so, what are some of the drawbacks of adopting it? Is security and privacy a big concern?
It's not just privacy and security. Those are big enough concerns, while we wait for Craig Gentry to hurry up and make homomorphic encryption practical.
There's also the matter of making your business dependent on something outside your control.
Example, and this doesn't even need cloud computing: I inherited a client who runs its business off a website. It's great... until the ISP has a routing loop, or the local exchange breaks, or the datacentre hosting the website breaks something local to it. (These have all happened in the last six months.)
If your business is entirely dependent on things on the far side of the network, you run the risk of your business coming to a standstill every time something in the network goes wrong. It's not only a single point of failure; it's like a string of single points of failure.
Yes, cloud computing's supposed to protect exactly against some of the problems I describe above. But if a backhoe goes through your exchange's cable, you're potentially in big trouble.
In my experience, there is still some code to be written to tie things together in some cases. Where I've worked we had a couple of different cases of using services from the cloud and in each case there are a few things to consider like how well do things connect in this as those cloud services may upgrade and break something or go down for a few minutes and cause all kinds of panic.
Security and availability are a couple of the big concerns but there are other issues as well. Does an upgrade break existing functionality? How far back does one go for backward compatibility? How well does this plug in with other systems as very few things run in isolation? For example, a content management system may have to interact with a customer relationship management system, a translation management system, an enterprise resource planning system among others. The cloud can be useful for some things but it is still maturing to my mind.