The Semantic Web, Semantic Web Services and more…

Archive for the ‘Cloud Computing’ Category

Understanding The Virtualization Lifecycle In The Context Of Cloud Computing: A Beginner’s Approach

Posted by Aditya Thatte on June 9, 2011

The building blocks of Cloud Computing are Operating Systems, Virtualization, Principles of Networking, Information & Network Security and Storage. All of these areas combined, form the basis of the Infrastrucure as a Service (Iaas) model of Cloud Computing. In this article we shall take a brief look at the Virtualization lifecycle in the context of Cloud IaaS.

Virtualization is one of the key enablers of cloud computing. Virtualizing hardware, applications and consolidating them aims to reduce IT Infrastructure costs (which includes purchasing hardware and maintaining it), and allowing easier management of resources in the data center. The IaaS model of the cloud deals with provisioning of compute capacity, storage and networking resources. Infrastructure costs are reduced by virtualizing hardware, thereby avoiding under-utilization of resources. As a result, multiple applications can be virtualized over the same physical hardware ensuring optimal usage of resources. The other terms that we often hear w.r.t cloud computing are ‘on-demand’ and ‘elasticity’. These two terms go hand-in-hand; on-demand refers to a ‘pay-as-you-go’ model. You need to pay only for the resources you use, and elasticity refers to scaling up/down the resources at will. In the context of cloud computing, the virtualization lifecycle comprises a set of technical assessment activities which are governed by business and operational decisions. Technical assessment for virtualizing candidates revolves around meeting end-user Service Level Agreements (SLA’s), reducing IT costs, and designing an optimized data center. Every phase in the virtualization lifecycle for cloud computing is highly challenging with a wide variety of complex and open problems which are currently being tackled.

Analysis & Discovery: When migration from Physical environments to Virtualized environments (P2V), in-depth analysis of the virtualization candidates must be performed. This stage involves discovering the data center entities (servers, networks, storage devices), collecting utilization profile data of applications along the different dimensions (CPU, memory, network i/o, disk i/o). The main theme of P2V is to move applications from an under-utilized bare metal environment to a virtualized / hypervisor environment to enable optimal utilization of hardware. In addition to discovering the heavy artillery in the physical environment, it is important to assess the applications deployed on them. The OS characteristics, application performance footprints play a vital role in determining capacity in a virtualized environment. On completion of these assessments, capacity management models need to be developed for the virtual environments.

Implementing Capacity Models: Developing capacity models for a virtual environment is a tricky task since it is governed by other business and operational factors. Target SLA’s (performance, availability), power consumption levels are to be considered along with the possible impacts (side effects) of virtualization (hardware normalization, hypervisor overheads, IO interference etc). The idea is to come up with a ‘pre-VM placement’ strategy which describes the ‘footprints’ of VM’s. Capacity planning for virtualized data centers in the light of cloud computing has become a highly sought after topic.Determining capacity size of virtual machines apriori to migration becomes an extremely critical step. If done accurately it can result in optimal allocation and usage of resources, if over-cooked, can lead to resource wastage. Similarly if under-cooked, can result in poor performance and violation of SLAs. There are many useful P2V, V2V and capacity analysis tools that can help you achieve this, viz. Platespin Recon, Microsoft SCVMM, VMware P2V Assistant, to name a few. Also researchers are exploring intelligent ways of doing capacity sizing in Virtual environments.

VM Placement & Management: This is the most critical process from a data center administrator point of view. Academic and Industrial groups are grappling to identify ‘best-fit’ placement strategies to enable highly optimized virtual environments. This refers to the concept of ‘packing’ VMs appropriately. VMs need to be packed in such a way that perfomance of isolated (individual) VMs is not hampered due to interference, and to avoid fragmentation in the data center. The on-demand provisioning of virtual servers will eventually lead to a server sprawl, thus complicating management of virtual servers. Hence efficient techniques for placement and management hold key in having a greener and well maintained data center. Other issues may also involve cross data center migration, synchronization between different servers, enabling and managing hybrid clouds (a combination of public and private / in-house environments).

Thus, the virtualization life cycle poses many challenges in different areas. Leading Cloud providers and academicians are busy solving these problems, and we hope to see greener data centers soon !!

Posted in Capacity Planning, Cloud Computing, IaaS, Virtualization | Leave a Comment »

Research papers on ‘Modeling/Provisioning/Profiling Virtual machine resources in Virtualized Environments’

Posted by Aditya Thatte on August 27, 2010

Hi, here I will be pointing you to some important literature related to dynamic provisioning of VM resources, profiling VMs, modeling Virtual environments , capacity planning and so on.

Performance Models / Modeling

1. Performance Models for Virtualized Applications

2.Profiling and modeling resource usage of virtualized applications

3. Black-box performance models for virtualized web service applications

4. Probabilistic performance modeling of virtualized resource allocation

5. Automatic virtual machine configuration for database workloads

6. Towards Modeling & Analysis of Consolidated CMP Servers

7. Modeling Virtual Machine Performance


1. Autonomic virtual resource management for service hosting platforms

2. Virtual Putty

3. Efficient resource provisioning in compute clouds via VM multiplexing

4. On Dynamic Resource Provisioning for Consolidated Servers in Virtualized Data Centers

5. Resource Provisioning with Budget Constraints for Adaptive Applications in Cloud Environments

6. Utility Analysis of Internet Oriented Server Consolidation in VM BasedData Centers

Profiling / Interference

1. XenMon: QoS Monitoring and Performance Profiling Tool

2. An Analysis of Performance Interference Effects in Virtual Environments

3. VrtProf

Posted in Capacity Planning, Cloud Computing, IaaS, Virtualization | Leave a Comment »

Capacity Planning for Virtual Environments : Part 1

Posted by Aditya Thatte on August 18, 2010

Capacity planning for virtualized data centers in the light of cloud computing has become a highly sought after topic. Capacity planning for traditional data centers includes development of performance models of stand-alone applications residing on bare-metal architectures, as opposed to a hypervised environment which hosts multiple applications across a shared resource pool in an isolated fashion. Sizing capacity for virtualized environments adds new dimensions in terms of constraint variables and dependencies which are to be considered while developing models.

As we all know by now, the motivation behind Virtualizing applications is to ‘do more with less’, increase ROI, reduce TCO, create a greener environment and so on, planning the size of virtual machines hosting these applications becomes a key aspect. Server consolidation is a means to achieve higher utilization of servers, which may be under-utilized in a dedicated physical environment. Placing multiple VM’s across a shared resource pool is governed by target SLA’s, optimizing power consumption, optimally sharing physical resources, workload type (database, web server)of the application. Sizing and managing capacity of these virtual entities becomes an important factor during the virtualization lifecycle in the context of cloud computing. Understanding issues of VM interference (cache interference, i/o interference), hypervisor overheads should be helpful in sizing VMs.

Analysis could be done for P2V, V2V migrations, thereby estimating VM size and adapting according to existing (current) bottlenecks and future trends. There are many useful P2V tools and capacity analyzers made available by vendors.

– PlateSpin Recon

– Microsoft SCVMM

– Oracle VM Manager

– VMware P2V Assistant

– HP Capacity Advisor

– Vkernel Capacity Optimization

In this article we just scratched the surface of  ‘Capacity Planning for Virtual Environments’ . In the next part we shall see detailed aspects related to interference and performance of applications in a hypervised setup.  Here’s one of my favorite literature on capacity planning

Posted in Capacity Planning, Cloud Computing, IaaS, Virtualization | Tagged: , , , | Leave a Comment »

Virtualization / Cloud Computing Blogs, Websites, Resources, Articles

Posted by Aditya Thatte on July 5, 2010

With the increasing hype and excitement of Cloud Computing, Enterprises and Academic groups are paying close attention to this new paradigm of computing. This has spurred the availability of information on topics like virtualization, cloud computing, service oriented architectures. There are innumerable sources on virtualization and cloud computing out there, and I would like to list a few of my favorites in this post.

David Linthcium’s blog

Cloud Switch

Software Design & Construction


TIBCO Silver

Thomas Bittman ( Gartner )

AMD Blog





Posted in Cloud Computing, Virtualization | Leave a Comment »