Thursday, April 22, 2010
Enterprise Architecture: Missing Conversations about Cloud Computing
Elasticity: Cloud is sold as being able to grow and shrink capacity on demand. The challenge with this model is that much of the activities of shrinking and growing are somewhat manual in nature and involve putting a human in the middle. If my application is under severe load where it could benefit from having a few additional instances being spun up, what standards-based APIs would it use to communicate to the cloud to make the request? More importantly, since most applications are load-balanced, how would the cloud communicate to my load-balancing infrastructure that it should add new servers to the pool dynamically? Most of the conversation regarding cloud is about how to use APIs to reach into the cloud, but not about how the cloud can communicate back to critical infrastructure such as firewalls who could dynamically open access based on new IP addresses or even load balancers for that matter.
Compliance and Discovery: So, what happens if you have a running instance that just happens to be co-located on the same set of servers as an Al-queda application when the FBI decides to seize all the equipment? What happens if your backup is done in the cloud and it is on the same set of tapes as Bin-Laden's information when it is also seized by the FBI? What happens if you needed this backup because you live in Rhode Island where floods were occuring and you needed to recover but couldn't? Multi-tenancy isn't just a strict access-security concern, but could also pose discovery related challenges.
RefactoringOK, if you are in a large enterprise and are sick and tired of the software vendor community coming up with the latest approach to technology that requires you to rewrite enterprise applications from scratch for each new paradigm shift then raise your hand. We have already rewritten applications when we moved from mainframe to mini-computer to client-server to web-based to SOA and so on. The business is sick and tired of having to invest in this type of activity. While technologies such as Amazon Cloud, Azure and so on are cool for new applications, when will the conversation shift to refactoring? Who is noodling how I can incrementally take my mainframe COBOL application and move say just storage to the cloud without having to rewrite in a Java or .NET language? Are there any book authors noodling a manuscript entitled refactoring enterprise applications to the cloud? Can we have a healthy conversation on how to leverage many of the assets we already have invested millions in and figure out ways to harvest it? The cloud can be wildly successful if we put on our economic hats. The cloud needs to become less about technology and more about business value...
Links to this post: