1 |
By Reema Majumdar
September, 2012
Virtualization and Cloud Computing:
2 |
O
verview
The only certainty for businesses now is change. While there are more and more eminent fields of technologies entering the IT industry every day, the cost versus efficiency graph looks more like a slope to infinity.
The IT industry’s most invaluable tool of quality control is testing. The cost of testing is
increasing day by day. Apart from reducing cost, we need to improve data center productivity and benefits in utilization. This paper is an attempt to discuss, how we can combine the testing field with the most persistently growing new technology: virtualization and cloud computing. Objective
In today’s competitive world of IT, small cap companies need Testing solutions that are less expensive to set up, better utilize resources, and help to boost overall software quality. The concept of virtualization has been in and around the software industry since 2008 and is growing everyday. This will enable small cap companies to get more out of little hardware input. Some of the major companies like VMware, Microsoft, Sun etc. are the key companies that can provide us with a virtualization platform.
Working in an environment where resources are limited and a constant need to improve oneself, has been the key motivation factor for this paper.
The intended audience
This paper is written for decision makers who are responsible for building and supporting a highly functional, software testing environment. The ideal reader is looking to better
understand how virtualization and cloud computing can together affect the users’ testing experience.
3 |
The market
The target market could possibly include the following: Real estate
Pharmaceuticals
Legal & intellectual property Engineering
CRM & ERP
e-learning & education Healthcare
Enterprise Content Management How did we get here?
There have been a number of converging factors that have driven the need for stronger testing systems within the software industry. Many of these factors have happened over the past few years and continue to evolve today.
Such variables include
Need to increase testing efficiency
The advancement of more decentralized computing (i.e. “Cloud” computing) The emergence of mobile devices and platforms.
Companies who provide online applications are driven to provide systems and applications that are more robust and available from any place and at any time to satisfy today’s demanding users.
These combined factors have opened new opportunities and new risks. Virtualization and cloud computing provide a solution to make things simpler.
4 |
Introduction
Virtualized test labs can make it faster and less expensive to set up and tear down test
configurations, better utilize resources, and help to boost overall software quality. It serves as a boon for startups, as now cloud computing brings the promise of even less infrastructure to worry about, which can help to further alleviate quality assurance (QA) bottlenecks due to resource issues.
One of the barriers to QA is limited access to—and poor management of—physical
infrastructure for test labs, as well as the effort involved in setting up and managing systems configurations for the labs. Virtual test lab management can help address these kinds of issues, as well as cutting the cost of infrastructure by augmenting or replacing physical systems.
With the emergence of cloud-based offerings, the benefits of virtualization can be more immediate, because you don’t have to configure the software. For example for the startup Apptio, a provider of on-demand IT cost transparency solutions, a virtualized infrastructure provided both affordability and the capacity to test more broadly.
5 |
What is Virtualization?
According to the VMware white paper, “Virtualization Overview”,
Virtualization can be defined as – ‘The ability to run multiple operating systems on a single physical system and share the underlying hardware resources’
Figure A : Virtual Machine Monitor (VMM) layer between Guest OS and hardware
How does it work?
Virtual servers seek to encapsulate the server software away from the hardware. This includes the OS, the applications, and the storage for that server. Servers end up as mere files stored on a physical box, or in enterprise storage. A virtual server can be serviced by one or more hosts, and one host may house more than one virtual server.
Virtual servers can still be referred to by their function i.e. email server, database server, etc. If the environment is built correctly, virtual servers will not be affected by the loss of a host. Hosts may be removed and introduced almost at will to accommodate maintenance. Virtual servers can be scaled out easily. If the administrators find that the resources supporting a virtual server are being taxed too much, they can adjust the amount of resources allocated to that virtual server. Server templates can be created in a virtual environment to be used to create multiple, identical virtual servers. Virtual servers themselves can be migrated from host to host almost at will.
6 |
Why Virtualization?
While QA and testing organizations have been early adopters of virtualization, very few QA organizations are all virtual because large database servers and databases historically don’t work all that well in a virtualized environment. We have secure bidirectional VPN technology, so you can build part of your lab in the cloud and connect back to your own data center. The hybrid model can take advantage of the cloud as an extension of an in-house lab.
An Enterprise Strategy Group (ESG) research points out that IT organizations are capitalizing on virtualization technology by consolidating more servers on virtual platforms, improving backup/recovery on virtual servers, expanding the number of applications deployed on virtual servers, and using server virtualization technologies like VMware, VMotion to improve disaster recovery , refer figure below.
7 |
What is Cloud Computing?
According to Alan Williamson, as quoted in “Cloud BootCamp March 2009”, Cloud Computing can be defined as - ‘The provisioning of services in a timely (near on instant), on-demand manner, to allow the scaling up and down of resources’.
Quick and scalable infrastructure and an app store model could, for example, support rapid product development. It could also enable easier access to end customers and new markets. But regardless of the intention, a wholesale movement into the cloud would be painful for any organization. One needs to be clear why they want cloud: while it offers agility, it can come at a price. In some cases, particularly where greater flexibility is not an issue, it won’t be the right thing at all, refer figure 2 below.
8 |
Each phase can be described as follows:
Enterprise Phase:During the test/development phase, virtualization technology was mostly used by software development and engineering groups. In the consolidation phase,
virtualization technology was primarily utilized by system and application administrators. This isolation ends in the enterprise phase as virtualization becomes a strategic building block and impacts the entire IT organization—networks, management tools, and security enforcement safeguards must be able to distinguish between physical and virtual assets and respond
accordingly. To proceed gracefully through the enterprise phase, smart organizations will have to, assess the IT inventory, re-think the IT organization and push vendors on virtualization support.
Dynamic Phase : First, the enterprise phase builds a virtual/cloud computing technology where most of IT becomes virtual. With this foundation, large organizations can then create their own private clouds offering on-demand self-service, rapid elasticity, location
independent resource pooling, and pay-per-use accounting. As organizations transition to the dynamic phase, CIOs will need to plan for massive scale, VM mobility and new levels of automation.
Cloud Phase : In this final and ongoing phase, internal clouds will join others to form community clouds between partners or integrate with external service providers as hybrid clouds. The technology underpinnings will be in place to make this happen, but CIOs should also considerIT business decisions, Standards and Extending management tools into the cloud.
9 |
How does it work?
Various providers let you create virtual servers. Set up an account, perhaps just with a credit card. You create virtual servers ("virtualization"). Choose the OS and software each "instance" will have. It will run on a large server farm located somewhere. You can instantiate more on a few minutes' notice. You can shut down instances in a minute or so . They send you a bill for what you use!
For E.g. : Suppose you are Forbes.com. You offer on-line real time stock market data. Then why pay for capacity weekends, overnight?
Figure 3: Rate of Server Accesses
You could simply host the web site in Amazon's EC2 Elastic Compute Cloud, provision new servers every day, and deprovision them every night, Pay just $0.10 per server per hour, and let Amazon worry about the hardware!
9 AM - 5 PM, M-F
ALL OTHER TIMES
10 |
How can we combine these three to bring better results?
Cloud computing takes virtualization to the next step. You don’t have to own the hardware; it can simply be “rented” as needed from a cloud. You “rent” it as needed from a cloud. There are public clouds e.g. Amazon EC2, Microsoft, IBM, Sun etc. A company can create a private one, with more control over security, etc.
Such architecture brings about the following outcomes:
1) Reduce Cost : Many systems have variable demands eg : Batch processing , Web sites
with peaks , Startups with unknown demands
2) Reduce risk : Don't need to buy hardware until you need it
3) Increase business agility : There is elasticity. You can give back the servers once you are
done. Scaling back is as important as scaling up.
4) Concentrate on one’s own business : One can stick to their own business, without
having to do system admin.
Private clouds
Finding the time and allocating the resources for new initiatives that further the organization’s overall success can be quite taxing. Here enters the private cloud project that began a couple years ago which is now used by Cisco.
Reduced managerial overhead and other private cloud benefits have shrunk costs for routine maintenance to less than 50 percent of Cisco’s total IT budget, which represents companywide savings of hundreds of millions of dollars. Along with Cisco, many organizations are benefiting from private clouds. There is more security than the public clouds.
As outlined in a 2011 study by the Aberdeen Group, the private cloud saves a total of 12 percent combined annual costs savings over public clouds on a per-application basis. A cloud’s ability to deliver services on demand means IT shops can meet the needs of
organization managers more quickly than when new hardware must be purchased, tested and implemented. The traditional process can take weeks or months, while a well-functioning cloud can deliver additional capacity in minutes.
11 |
For example, if a virtual machine crashes while running on a blade server in the private cloud, automated management controls can quickly move the VM to a healthy hardware device.
12 |
Performance Experiments / Performance and Scale in Cloud Computing
Performance is generally tied to an application’s capabilities within the cloud infrastructure itself. Limited bandwidth, disk space, memory, CPU cycles, and network connections can all cause poor performance. Often, a combination of lack of resources causes poor application performance. Sometimes poor performance is the result of an application architecture that does not properly distribute its processes across available cloud resources.
Applications can be tested in cloud and non-cloud environments for base-level performance comparisons. Aspects of an application, such as disk I/O and RAM access, may cause
intermittent spikes in performance. However, as with traditional software architectures,
overall traffic patterns and peaks in system use account for the majority of performance issues in cloud computing.
Some of the common performance issues and the outcomes it has are as follows:
Companies lose customers: Due to performance issues, companies tend to lose customers. It reduces employee productivity, and reduces bottom line revenue. Because application
performance can vary significantly based on delivery environment, businesses must make certain that application performance is optimized when written for deployment on the cloud or moved from a data center to a cloud computing infrastructure.
Slow access to applications and data: Bandwidth is usually the cause, and the most common solution is to add faster network connections to the mix, increasing desktops from 10 Mbps NICs to 100 Mbps NICs, for example, or faster disk drives, such as SCSI over fiber channel. Throughput: The effective rate at which data is transferred from point A to point B on the cloud is throughput. In other words, throughput is a measurement of raw speed. While speed of moving or processing data can certainly improve system performance, the system is only as fast as its slowest element. A system that deploys ten gigabit Ethernet yet its server storage can access data at only one gigabit effectively has a one gigabit system.
Scalability: The search for continually improving system performance through hardware and software throughput gains is defeated when a system is swamped by multiple, simultaneous demands. That 10 gigabit pipe slows considerably when it serves hundreds of requests rather than a dozen. The only way to restore higher effective throughput (and performance) in such a “swamped resources” scenario is to scale —add more of the resource that is overloaded.
13 |
Conclusions: The Bigger Truth
A few things discussed in this paper are absolute certainties.
Virtualization technology is being widely embraced by organizations large and small and is delivering optimization, operational, and cost benefits across the board. This will continue as plenty of workloads and even desktops that can be virtualized in a fairly straightforward manner remain.
IT deployment will evolve through several phases of a maturity lifecycle as virtualization becomes a stepping stone on a journey to cloud computing. Each phase of cloud
computing can increase optimization and efficiency, as well as enhance security, as security technologies gain virtualization intelligence.
For virtualization to reach its potential, IT managers must also roll up their sleeves for the work ahead. Current technologies and security defenses must be assessed,
documented, and migrated to virtual alternatives. Staff must be educated, trained, and reorganized into more cohesive, cross-functional, project-based units.
Customers see value in solutions that improve efficiency, like server virtualization, but do not consider the entire impact a new technology will have across the data center. VMware, Cisco, and EMC are taking a holistic, customer-centric view of the current state of IT infrastructure and are uncovering new ways for virtualization to transform the data center and support the business with improved SLAs and the ability to quickly adapt to business requirements.
Technology leadership, combined with the expertise and services of the partner channel community, is what customers need to gain the confidence that investments made today will continue to deliver value as they journey into the future.
The initial wave of cloud computing has to be spearheaded by technology leaders to quickly demonstrate the value of a highly automated data center. A tightly coupled integrated solution, combined intelligence, and experience have an initial advantage to customers that want to rapidly adopt virtualization and transform the existing
computing environment into the private cloud. All companies, regardless of size or industry, will gain massive leaps in efficiency and control that enable the business to grow, meet compliance, mitigate risk, and leverage the ideal price/ performance model without the IT infrastructure being an anchor.
14 |
The Acknowledgements
I would like to thank my mentor, Mr. Abhishek Talwar, for guiding and inspiring me to write something that has interested me since a very long time. He has always been a constant motivation factor for this paper.