ComputerWorld released Part Two of The Case Against Cloud Computing yesterday. In part two they take a close look primarily at the challenges meeting audit and compliance requirements when some of your infrastructure is outsourced to a Cloud SaaS provider.
I’m not convinced those challenges are that much greater with a Cloud architecture than any other.
Audit requirements (legal, financial, or otherwise) all boil down to being able to answer the same basic set of questions - "Who had access to the data?", "When did they have access?", "Who changed the data?", and "When did the data change?". The requirements are really about the DATA, not the architecture. So, can you answer those questions in a Cloud SaaS? Sure. Perhaps you will need to include the vendor, perhaps not. (Is the data encrypted while it is in the cloud?) Specific methodologies for answering audit questions will necessarily vary depending on the architecture. For example in a Cloud application you might now need to include proxy server or firewall logs.
Compliance analysis is differentiated from audit requirements in that sometimes you want real-time feedback if there are policy violations. In the case of data abuse or other unauthorized data access, such metrics and monitors would probably need to be designed along with the cloud application similar to any traditional application.
Data Backup and Disaster Recovery processes, which are sometimes driven (rightly or wrongly) by meeting audit requirements, could be serviced via a well negotiated SLA which would include contract mandated tests.
Change Management, is also sometimes driven in part by audit requirements (rightly or wrongly). By their very nature, Cloud insfrastructures are usually fairly dynamic. A rigid change micromanagement bureaucracy could quickly erode any advantage Clouds offer. Just like some of other processes supporting Cloud infrastructure, change management is going to have to adapt as well. Step back and consider the reasons for implementing Change Management in the first place. How can some of those same goals be achieved (can they be achieved?) when you are deploying in a Cloud? Rather than focusing initially on jamming your legacy processes into the new paradigm, focus on the real problem. If the Cloud is well engineered, then maybe changes within the Cloud, as long as they are within engineering tolerances, need not be subject to more process than simply logging the internal change. Grander activities, such as deploying new application releases and fundamental changes in the architecture would need bureaucratic oversight. Where do you draw that line? Certainly it is something else that will have evolve and require flexibility to succeed.