Layering and the Cloud

The arrival of 'The Cloud' has somewhat changed the software development landscape. Not only it requires us to rethink the way we design and deploy our applications but it also opens up avenues for new business opportunities.

In preparing our applications for the cloud, we need to examine the architecture of our applications today. One of the commonly used application architecture today is the Layered Architecture, where code with similar responsibilities are being logically factored and separated into multiple layers. This design pattern is known for offering a high-degree of maintainability, extensibility, testability, deployment flexibility and ease of technology upgrade.



However, will the Layered Architecture be able to survive the cloud? The answer is Yes! While the physical distribution of code components now reside in virtual instances on the cloud instead of physical servers in our datacentres, the fundamentals of layering our applications should remain the same. The thing that we need to pay attention to now is how to distribute our layers (tiering) in the cloud.

Take note that the term layer refers to the logical separation of code and tier refers to the physical deployment of code components.

In my next post, I will explore one of the possible tiering deployment patterns in the Windows Azure Platform.

No comments:

Post a Comment

Popular Post