TECHNOLOGIES AND TOOLS FOR CLOUD COMPUTING
- Cloud computing covers the entire computing stack from hardware infrastructure to end-user software applications.
- In this section we will concentrate mostly on the Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) implementations of the cloud computing model.
- Amazon is probably the major player for what concerns the infrastructure-as- a-Service solutions in the case of public clouds.
- Amazon Web Services deliver a set of services that, when composed together, form a reliable, scalable, and economically accessible cloud.
- Within the wide range of services offered, it is worth noting that Amazon Elastic Compute Cloud (EC2) and Simple Storage Service (S3) allow users to quickly obtain virtual compute resources and storage space, respectively.
- GoGrid provides customer to deploy their own distributed system on top of their virtual infrastructure.
- By using the GoGrid Web interface users can create their custom virtual images, deploy database and application servers, and mount new storage volumes for their applications.
- Both GoGrid and Amazon EC2 charge their customers on a pay-as-you-go basis, and resources are priced per hours of usage.
- 3Tera AppLogic lays at the foundation of many public clouds, it provides a grid operating system that includes workload distribution, metering, and management of applications.
- AppLogic takes care of deploying and scaling them on demand.
- AppLogic, which can also be used to manage and deploy private clouds,
- 3Tera also provides cloud hosting solutions and, because of its grid operating system, makes the transition from the private to the public virtual infrastructure simple and completely transparent.
- Solutions that are completely based on a PaaS approach for public clouds are Microsoft Azure and Google AppEngine.
- Azure allows developing scalable applications for the cloud. It is a cloud services operating system that serves as the development,runtime, and control environment for the Azure Services Platform.
- By using the Microsoft Azure SDK, developers can create services that leverage the .NET framework. These services are then uploaded to the Microsoft Azure portal and executed on top of Windows Azure.
- Additional services such as workflow management and execution, web services orchestration, and SQL data storage are provided to empower the hosted applications.
- Azure customers are billed on a pay-per-use basis and by taking into account the different services: compute, storage, bandwidth, and storage transactions.
- Google AppEngine is a development platform and a runtime environment focusing primarily on web applications that will be run on top of Google’s server infrastructure.
- Google AppEngine provides a set of APIs and an application model that allow developers to take advantage of additional services provided by Google such as Mail and others.
- Developers can create applications in Java, Python, and JRuby. These applications will be run within a sandbox, and Google AppEngine will take care of automatically scaling when needed.
- Google provides a free limited service and utilizes daily and per minute quotas to meter and price applications requiring professional service.
- Different options are available for deploying and managing private clouds.
- At the lowest level, virtual machine technologies such as Xen, KVM, and VMware can help building the foundations of a virtual infrastructure.
- On top of this, virtual machine managers such as VMWare vCloud and Eucalyptus allow the management of a virtual infrastructure and turning a cluster or a desktop grid into a private cloud.
- Eucalyptus provides a full compatibility with the Amazon Web Services interfaces and supports different virtual machine technologies such as Xen, VMWare, and KVM.
- By using Eucalyptus, users can test and deploy their cloud applications on the private premises and naturally move to the public virtual infrastructure provided by Amazon EC2 and S3 in a complete transparent manner.
- VMWare vCloud is the solution proposed by VMWare for deploying virtual infrastructure as either public or private clouds.
- It is built on top of the VMWare virtual machine technology and provides an easy way to migrate from the private premises to the public infrastructure that leverages VMWare for infrastructure virtualization.
- By relying on the VMWare, virtualization technology provides a flexible environment that converts a data center into a private cloud.
- Elastra cloud server is a platform for easily configuring and deploying distributed application infrastructures on clouds:
- By using Elastra a simple control panel, administrators can visually describe the distributed application in terms of components and connections and then deploying them on one or more cloud providers such Amazon EC2 or VMware ESX.
- Cloud server can provision resources from either private or public clouds, thus deploying application on hybrid infrastructures.
- Zimory , a spinoff company from Deutsche Telekom, provides a software infrastructure layer that automates the use of resource pools based on Xen, KVM, and VMware virtualization technologies.
- Zimory allows creating an internal cloud composed by private and public resources that both host the Zimory’s software agent and provides facilities for quickly migrating applications from one data center to another and utilizing at best the existing infrastructure.
- The wide range of commercial offerings for deploying and managing private and public clouds mostly rely on a few key virtualization technologies, on top of which additional services and features are provided.
- OpenNebula is a virtual infrastructure manager that can be used to deploy and manage virtual machines on local resources or on external public clouds, automating the setup of the virtual machines regardless of the underlying virtualization layer (Xen, KVM, or VMWare are currently supported) or external cloud such as Amazon EC2.
- Haizea is a resource lease manager providing leasing capabilities not found in other cloud systems, such as advance reservations and resource preemption.
- Integrated together, Open-Nebula and Haizea constitute a virtual management infrastructure providing flexible and advanced capabilities for resource management in hybrid clouds.
- OpenPEX, which allows users to provision resources ahead of time through advance reservations. It also incorporates a bilateral negotiation protocol that allows users and providers to come to an agreement by exchanging offers and counter offers.
- OpenPEX natively supports Xen as a virtual machine manager (VMM), but additional plug-ins can be integrated into the system to support other VMMs.
- Nimbus, formerly known as Globus Workspaces, is another framework that provides a wide range of extensibility points. It is essentially a framework that allows turning a cluster into an Infrastructure-as-a-Service cloud.
- Aneka, which is both a commercial solution and a research platform, positions itself as a Platform-as-a-Service implementation.
- Aneka provides not only a software infrastructure for scaling applications, but also a wide range of APIs that help developers to design and implement applications that can transparently run on a distributed infrastructure whether this be the local cluster or the cloud.
- Aneka, as OpenNebula and Nimbus, is characterized by a modular architecture that allows a high level of customization and integration with existing technologies, especially for what concerns resource provisioning.
- Like Zimory, the core feature of Aneka is represented by a configurable software agent that can be transparently deployed on both physical and virtual resources and constitutes the runtime environment for the cloud.
- This feature, together with the resource provisioning infrastructure, is at the heart of Aneka-based hybrid clouds.
Comments