Cloud Computing application architecture

Numerous advances in application architecture have helped to promote the adoption of cloud computing. These advances help to support the goal of efficient application development while helping applications to be elastic and scale gracefully and automatically. The overriding objective of good application architectures, however, has not changed at all: it is to support the same characteristics that have always been important:

• Scalability. This characteristic is just as important as it has ever been. Applications designed for cloud computing need to scale with workload demands so that performance and compliance with service levels remain on target. In order to achieve this, applications and their data must be loosely coupled to maximize scalability. The term elastic often applies to scaling cloud applications because they must not only be ready to scale up, but also scale down as workloads diminish in order to not run up the cost of deploying in the cloud.

• Availability. Whether the application serves the users of social networking sites, or it manages the supply chain for a large manufacturing company, users of Internet applications expect them to be up and running every minute of every day. Sun has been an industry leader in this area establishing early on its SunToneSM certification program that helped customers to certify that its applications and services would stand up to required availability levels.

• Reliability. The emphasis on reliability has shifted over time. When large applications meant large symmetric multiprocessing systems, reliability meant that system components rarely fail and can be replaced without disruption when they do. Today, reliability means that applications do not fail and most importantly they do not lose data. The way that architecture addresses this characteristic today is to design applications so that they continue to operate and their data remains intact despite the failure of one or more of the servers or virtual machines onto which they are decomposed. Where we once worried about the failure of individual server components, now we build applications so that entire servers can fail and not cause disruption.

• Security. Applications need to provide access only to authorized, authenticated users, and those users need to be able to trust that their data is secure. This is true whether the application helps individual users on the Internet prepare their tax returns, or whether the application exchanges confidential information between a company and its suppliers. Security in today’s environments is established using strong authentication, authorization, and accounting procedures, establishing security of data at rest and in transit, locking down networks, and hardening operating systems, middleware, and application software. It is such a systemic property that we no longer call it out as its own principle — security must be integrated into every aspect of an application and its deployment and operational architecture and processes.

• Flexibility and agility. These characteristics are increasingly important, as business organizations find themselves having to adapt even more rapidly to changing business conditions by increasing the velocity at which applications are delivered into customer hands. Cloud computing stresses getting applications to market very quickly by using the most appropriate building blocks to get the job done rapidly.

• Serviceability. Once an application is deployed, it needs to be maintained. In the past this meant using servers that could be repaired without, or with minimal, downtime. Today it means that an application’s underlying infrastructure components can be updated or even replaced without disrupting its characteristics including availability and security.

• Efficiency. This is the new characteristic on the list, and it is perhaps one that most differentiates the cloud computing style from others. Efficiency is the point of cloud computing, and if an application can’t be deployed in the cloud quickly and easily, while benefitting from the pay-by-the-sip model, it may not be a good candidate. Enterprise resource planning applications, for example, may be best suited to vertically scaled systems and provided through SaaS in the near term. Applications that extract, manipulate, and present data derived from these systems, however, may be well suited to deployment in the cloud.

Source of Information : Introduction to Cloud Computing architecture White Paper 1st Edition, June 2009


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner