Cloud Computing Architecture Breaks Down

z-createwritten by gunther gerlach-2009

Cloud computing increase the velocity with which applications are deployed, and lower costs, but it doesn’t increase systems performance over the traditional architecture. Cloud computing compile different facets, including the server, storage, network, and virtualization technology that drives cloud computing environments to the software that runs in virtual appliances that can be used to assemble applications in minimal time. Cloud Computing definitely transforms the way we design, build, and deliver applications, and the architectural considerations that enterprises must make when adopting and using cloud computing technology.

Introduction: Cloud computing. It gives the ability to run a geophysical modeling application on the most powerful systems available anywhere. It can be the ability to rent a virtual server, load software on it, turn it on and off at will, or clone it ten times to meet a sudden workload demand. It can be storing and securing immense amounts of data that is accessible only by authorized applications and users. It can be supported by a cloud provider that sets up a platform that includes the OS, Apache, a MySQL™ database, Perl, Python, and PHP with the ability to scale automatically in response to changing workloads. Cloud computing can be the ability to use applications on the Internet that store and protect data while providing a service.

 

Cloud computing can be provided using an enterprise datacenter’s own servers, or it can be provided by a cloud provider that takes all of the capital risk of owning the infrastructure.

Cloud Computing Architecture model is taking the information technology world by storm. The predominant model for cloud computing today is called infrastructure as a service, or IaaS.

 

The Trends

Cloud computing builds on established trends for driving the cost out of the delivery of services while increasing the speed and agility with which services are deployed. Cloud computing incorporates virtualization, on-demand deployment, Internet delivery of services, and open source software. From one perspective, cloud computing is nothing new because it uses approaches, concepts, and best practices that have already been established.

 

Virtual machines, the standard deployment object

Virtual machines have become a standard deployment object. Virtualization further enhances flexibility because it abstracts the hardware to the point where software stacks can be deployed and redeployed without being tied to a specific physical server. Virtualization enables a dynamic datacenter where servers provide a pool of resources that are harnessed as needed, and where the relationship of applications to compute, storage, and network resources changes dynamically in order to meet both workload and business demands. With application deployment decoupled from server deployment, applications can be deployed and scaled rapidly, without having to first procure physical servers.

Appliances, virtual machines that include software that is partially or fully configured to perform a specific task such as a Web or database server, further enhance the ability to create and deploy applications rapidly. The combination of virtual machines and appliances as standard deployment objects is one of the key features of cloud computing.

Compute clouds are usually complemented by storage clouds that provide virtualized storage through APIs that facilitate storing virtual machine images, source files for components such as Web servers, application state data, and general business data.

 

The Model

The on-demand, self-service, pay-by-use nature of cloud computing is also an extension of established trends. The on-demand nature of cloud computing helps to support the performance and capacity aspects of service-level objectives. The self-service nature of cloud computing allows organizations to create elastic environments that expand and contract based on the workload and target performance parameters. And the pay-by-use nature of cloud computing may take the form of equipment leases that guarantee a minimum level of service from a cloud provider.

Virtualization is a key feature of this model, allowing to quickly and easily create copies of existing environments —sometimes involving multiple virtual machines — to support test, development, and staging activities. The cost of these environments is minimal because they can coexist on the same servers as production environments because they use few resources.

Likewise, new applications can be developed and deployed in new virtual machines  on existing servers, opened up for use on the Internet, and scaled if the application is successful in the marketplace.

Cloud computing extends this trend through automation. Instead of negotiating with an IT organization for resources on which to deploy an application, a compute cloud is a self-service proposition where a credit card can purchase compute cycles, and a Web interface or API is used to create virtual machines and establish network relationships between them. Instead of requiring a long-term contract for services with an IT organization or a service provider, clouds work on a pay-by-use, or pay-by-the-sip model where an application may exist to run a job for a few minutes or hours, or it may exist to provide services to customers on a long-term basis. Compute clouds are built as if applications are temporary, and billing is based on resource consumption: CPU hours used, volumes of data moved, or gigabytes of data stored.

 

Applications are built to be Composable

Applications are composed by assembling and configuring appliances and open-source software as much as they are programmed. Applications and architectures that can be refactored in order to make the most use of standard components are those that will be the most successful in leveraging the benefits of cloud computing.

Tools such as Hadoop, an open-source MapReduce implementation, can be used in a wide range of contexts in which a problem and its data can be refactored so that many parts of it can execute in parallel. When The New York Times wished to convert 11 million articles and images in its archive to PDF format, their internal IT organization said that it would take seven weeks. In the mean time, one developer using 100 Amazon EC2 simple Web service interface instances running Hadoop completed the job in 24 hours for less than $300.

 

Example Web application deployment for the cloud

As an example of how the combination of virtualization and self service facilitate application deployment, consider a two-tier Web application deployment into a cloud:

1.    A developer might choose a load balancer, Web server, and database server appliances from a library of preconfigured virtual machine images.

2.    The developer would configure each component to make a custom image. The load balancer would be configured, the Web server populated with its static content by uploading it to the storage cloud, and the database server appliances populated with dynamic content for the site.

3.    The developer layers custom code into the new architecture, making the components meet specific application requirements.

4.    The developer chooses a pattern that takes the images for each layer and deploys them, handling networking, security, and scalability issues.

2tiers 

5.    The secure, high-availability Web application is up and running. When the application needs to be updated, the virtual machine images can be updated, versioned, copied across the development-test-production chain, and the entire infrastructure redeployed. Cloud computing assumes that everything is temporary, and it’s just as easy to redeploy an entire application than it is to manually patch a set of individual virtual machines.

note In this example, the abstract nature of virtual machine images supports a composition-based approach to application development. By refactoring the problem, a standard set of components can be used to quickly deploy an application. With this model, enterprise business needs can be met quickly, without the need for the time-consuming, manual purchase, installation, cabling, and configuration of servers, storage, and network infrastructure.

 

Services are delivered over the network

It almost goes without saying that cloud computing extends the existing trend of making services available over the network. Virtually every business organization has recognized the value of Web-based interfaces to their applications, whether they are made available to customers over the Internet, or whether they are internal applications that are made available to authorized employees, partners, suppliers, and consultants. The beauty of Internet-based service delivery, of course, is that applications can be made available anywhere, and at any time.

While enterprises are well aware of the ability to secure communications using Secure Socket Layer (SSL) encryption along with strong authentication, bootstrapping trust in a cloud computing environment requires carefully considering the differences between enterprise computing and cloud computing. When properly architected, Internet service delivery can provide the flexibility and security required by enterprises of all sizes.

 posted by www.scribd.com

Gunther Gerlach

  1. No comments yet.
  1. No trackbacks yet.