Deploying a Web Application
When people discuss cloud computing, what involves mind? First people take into consideration the worth they wish out of clouds, like speedy deployment, self-service, elastic resources and pay-as-you-go cost models.
Second, people begin to give some thought to the technology of cloud, like virtualization, image libraries, storage and network configuration. But if you step back, what people actually need to do is administered their applications at the cloud. They need those applications to run well. They need the cloud to assist you deploy and manage their applications.
For this to happen you will have technology that goes beyond basic virtualization and photographs. You will have technology so that it will express the components of your application and the connection between those components. I call this description a virtual application pattern. Using a pattern, the cloud can automate the deployment and management of the applying more fully. Let us take a look at an example.
This pattern describes a JEE web application that implements the applying logic. That web application talks to a relational database with a undeniable schema. The web application is annotated with a collection of policies the describe the specified scaling behavior. The scaling policy might look something like this:
You can see from the policy that this is a basic description of the specified response time and elastic scaling behavior for the appliance. On this example, the appliance desires to have a response time between 1-5 seconds.
The patterns based solution to cloud allows a miles richer method for describing our environment you will want created at the cloud. It goes beyond images to a whole description of the appliance and its relationships. It allows a simplification by moving far from the deployment of software and allowing a cloud user to explain the applying directly. In case you look closely on the example above, you spot it doesn’t discuss application servers or database server, clusters, storage or network. It would not describe the software environment. It simply describes the applying itself.
Now, what happens when this pattern is deployed? First the pattern must be converted right into a software topology. a fixed of middleware, equivalent to application servers and database servers, must be deployed and configured with the applying components. On this example you would possibly get a topology like this:
An application server cluster supports the online application with the scaling behavior that was requested, including proxy and caching functions. Below the pattern is a hard and fast of workmanship about tips on how to deploy the applying components onto the cloud effectively. The pattern surfaces an easy thanks to describe the applying and encodes the automation required to put in and configure application servers and database servers, to configure storage and network, to glue the components together, to put in monitoring agents and to configure security. In an ordinary cloud environment it’s all work that might be done by the cloud user, either manually or via user-written automation libraries.
There is an additional layer to this picture worth examining. How does the topology generated above map directly to the physical infrastructure? In a cloud environment, we frequently ignore the physical layer that exists below the virtualization. Generally that could be a great point and one of the most characteristics that makes cloud powerful. However the physical infrastructure layer matters. It has a profound effect at the execution and quality of service that may be achieved by the applying because it runs at the cloud.
Take something simple like failure recovery. If i’ve got an application that may be deployed right into a cluster for the point of active-active failure recovery, what happens if the nodes of the cluster are assigned to a similar physical compute node within the infrastructure? A physical hardware failure of that node would take out the complete cluster and defeat the worth of the software cluster design. So the cloud management system must push in the course of the virtualization layer into the physical layer and decide about where to position the software components onto the physical hardware to realize the supply described within the pattern.
One method of accomplishing this integration of the physical and virtual layers is to exploit knowledgeable integrated system, akin to IBM PureApplication System. A professional integrated system has a selected infrastructure design that may be in demand and deeply integrated with the cloud management stack. In the sort of system the cloud layer it’s accountable for the deployment and management of the appliance described by a pattern has knowledge of the infrastructure (compute, storage and network) and has control over that infrastructure.
When it’s time to deploy an application, the pattern gives the system knowledge of the connection between components of the appliance. Using that knowledge the system can optimize the deployment of the applying at the infrastructure without breaking the abstraction provided within the virtualized layer above. The components of the applying may well be put on different nodes to make sure high availability. Even as, the components may be spread around the infrastructure to balance load and supply higher performance. The storage and network requirements of the applying could be pushed right down to the SAN and network switches.
Basic infrastructure clouds provide foundational capabilities like virtualization and deployment. However the addition of patterns and expert integrated infrastructure bring cloud environments in the direction of their full potential. Ultimately you’ll want to use a cloud to get productive work done, to run and manage your applications faster and more easily. A vertically integrated stack of infrastructure and cloud management combined with an easy modeling system in patterns provides a cloud it is way more powerful than basic shared infrastructure.
To learn more about expert integrated systems and the cloud, register for Internet Evolution’s “7 Days of Executive Education,” a chain of online interactive tutorials, at: http://www.internetevolution.com/lecture-calendar.asp?cid=IBM1