Virtualization Technology for Test Automation


Published on

EXTENT Conference 2011 - Test Automation for Trading Systems

Presentation by Mark Zhitomirski, Head of IT Infrastructure, Exactpro Systems LLC

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • How much labor goes into (re)-configuring, managing How big is return Is it manageable? Is it transparent? How close to the original? How many new concepts it introduces?
  • Virtualization Technology for Test Automation

    1. 1. Virtualization Technology for Test Automation Mark Zhitomirski ITS-EXPERT LLC
    2. 2. The purpose of computing is insight, not numbers. Richard Hamming, 1915-1998 In preface to Numerical Methods for Scientists and Engineers, 1962
    3. 3. Dictionary Virtual , adj: being such in essence or effect though not formally recognized or admitted. From Medieval Latin virtualis, from Latin virtus (virtue). First known use: 15 th century. VM : see Virtual Memory ; Virtual Machine VFS : ... VLAN : ... VNC : see VDI VPN : ... VPS : ... See also: Hyper-V, Cloud, AWS, GAE, Microsoft Azure
    4. 4. VLAN: Virtual LAN <ul><ul><ul><li>isolation, confidentiality </li></ul></ul></ul><ul><ul><ul><li>policy enforcement, authentication (optional) </li></ul></ul></ul><ul><ul><ul><li>partitioning (broadcast domains), equipment re-use = better ROI </li></ul></ul></ul><ul><li>Alternatives? </li></ul><ul><ul><ul><li>less flexible </li></ul></ul></ul><ul><ul><ul><li>more expensive in terms of equipment and labor cost, space used </li></ul></ul></ul>
    5. 5. VPN: Virtual Private Network <ul><ul><li>isolation (from i-net, from each other), confidentiality </li></ul></ul><ul><ul><li>policy enforcement, authentication </li></ul></ul><ul><ul><li>partitioning, authorization, private address spaces </li></ul></ul><ul><li>Alternatives? </li></ul><ul><ul><li>yes, but .. let's face e.g. “IP authentication” shortcomings </li></ul></ul><ul><ul><li>It's “nice to have” public IP on each device, but what do you do with security? </li></ul></ul>
    6. 6. What else can be virtualized? <ul><ul><li>memory – VM and Paging pioneered by Ferranti Atlas in 1952 (with University of Manchester and Plessey) </li></ul></ul><ul><ul><li>runtime (library functions) or Virtual Machine – Java VM, .Net CLR, Dalvik (Android JVM) </li></ul></ul><ul><ul><li>filesystem - chroot in Unix – same kernel, network stack, CPU </li></ul></ul><ul><ul><li>filesystem (in user-mode) (SSHFS, Windows “share” mapping, here and above VFS is in game) </li></ul></ul><ul><ul><li>filesystem+network (sandbox, FreeBSD jail , Google Chrome sandbox) </li></ul></ul><ul><ul><li>sandbox + resource slice management/accounting – OpenVZ/Virtuozzo (specific shortcomings – no IPSec, memory management/accounting granularity); Solaris containers, AIX WPARs </li></ul></ul><ul><ul><li>OS – UML (StrongSWAN IPSec testing), colinux – same CPU </li></ul></ul><ul><ul><li>Desktop – VDI </li></ul></ul><ul><ul><li>Periphery – virtual CD / Printer / LAN adapter (common case for VPN) </li></ul></ul><ul><ul><li>Hardware – also called emulation or simulation </li></ul></ul><ul><ul><ul><ul><li>Running legacy OS/ Apps – Hercules – run VM/370 or zSystem Linux on PC, MAME, virtualII </li></ul></ul></ul></ul><ul><ul><ul><ul><li>modelling / verifying future hardware / system products </li></ul></ul></ul></ul><ul><ul><li>Full (system) virtualization </li></ul></ul><ul><ul><ul><ul><li>CPU </li></ul></ul></ul></ul><ul><ul><ul><ul><li>HDD, other storage e.g. CD, tape </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Network </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Graphics / video </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Input – keyboard, mouse </li></ul></ul></ul></ul><ul><ul><ul><ul><li>USB, whatever is specific to emulated platform (HPET) </li></ul></ul></ul></ul>
    7. 7. What suggests System Virtualization? <ul><ul><li>desire for a well defined state </li></ul></ul><ul><ul><ul><li>“ clean”, “initial”, “fully configured” and ready to go etc. </li></ul></ul></ul><ul><ul><li>necessity to run incompatible environments </li></ul></ul><ul><ul><ul><li>legacy apps/OS </li></ul></ul></ul><ul><ul><ul><li>IE6/7/8/9 </li></ul></ul></ul><ul><ul><ul><li>Unix/Windows/MacOS X </li></ul></ul></ul><ul><ul><li>security concerns and security research (sandboxing) </li></ul></ul><ul><ul><li>computing as utility </li></ul></ul><ul><ul><li>manageability, accountability requirements </li></ul></ul><ul><ul><li>equipment / resource re-use to increase efficiency and reduce manual labor </li></ul></ul>
    8. 8. Notable system virtualization products <ul><ul><li>Early players: </li></ul></ul><ul><ul><ul><li>Connectix: Virtual PC for (PowerPC) Mac 1997 </li></ul></ul></ul><ul><ul><ul><li>VMware – founded 1998 </li></ul></ul></ul><ul><ul><ul><li>Xen research project; public release 2003; offsprings: Sun xVM, Oracle VM, VirtualIron </li></ul></ul></ul><ul><ul><li>Ascending </li></ul></ul><ul><ul><ul><li>kvm (qemu-kvm) runs on Linux, also ported to Illumos (ex-OpenSolaris), FreeBSD </li></ul></ul></ul><ul><ul><ul><li>Hyper-V </li></ul></ul></ul><ul><li>Caveat: “paravirtualization”, hypervisor type 1 vs 2 – skip it and forget </li></ul>
    9. 9. VM and VDI – not unlike hand and glove <ul><ul><li>Precursors : </li></ul></ul><ul><ul><ul><li>Text (and later “graphics”) terminals </li></ul></ul></ul><ul><ul><ul><li>X11 protocol and terminals </li></ul></ul></ul><ul><ul><ul><li>RFB: VNC – UK Olivetty (& Oracle) Research Lab ca. 1997, before that – Acorn, later AT&T </li></ul></ul></ul><ul><ul><ul><li>Teleconferencing systems (who knows TELEX? WRU?) </li></ul></ul></ul><ul><ul><li>Current: </li></ul></ul><ul><ul><ul><li>Xen – Citrix ICA </li></ul></ul></ul><ul><ul><ul><li>Hyper-V – RDP(+RemoteFX) </li></ul></ul></ul><ul><ul><ul><li>Sun xVM (Oracle VM) – ALP  AIP. Before Sun – IXI Ltd, Cambridge, UK + Visionware, Leads, UK; then SCO Tarantella, bought by Sun in 2005. </li></ul></ul></ul><ul><ul><ul><li>kvm – SPICE (and a legacy VNC) </li></ul></ul></ul><ul><ul><ul><li>VMware – PcoIP (Teradici) </li></ul></ul></ul><ul><ul><li>Future: </li></ul></ul><ul><ul><ul><li>HTML 5 ? or 6 ? </li></ul></ul></ul>
    10. 10. What’s the catch? what can go wrong with system virtualization? <ul><ul><li>Additional complexity, layer of indirection </li></ul></ul><ul><ul><li>Performance overhead </li></ul></ul><ul><ul><li>Licensing issues and costs (besides costs of VM Host solution and management tools, e.g. You are not allowed to run W7HB in VM) </li></ul></ul><ul><ul><li>Hard-to-virtualize architecture (PC and x86, high-speed systems) </li></ul></ul><ul><ul><li>i/o is always a bottleneck </li></ul></ul><ul><ul><li>Temporal characteristics (non-linear time in VM, TSC on Pentium+, timekeeping) </li></ul></ul><ul><ul><li>Not obvious, hard to track problems, e.g. snapshots vs. “rich state” - do not snapshot AD controller! </li></ul></ul>
    11. 11. Personal success story and a use case <ul><li>2009H2 Kind of cross-platform development – development machine - Windows XP, target – RHEL5. Work cycle: check-out code - rebuild C++ pre-requisites from XML templates - index code. Sun VirtualBox 3.0 chosen over Vmware Workstation 6 on performance points. Not to mention cost, acquisition/licensing concerns. Oops, that was not testing. </li></ul><ul><li>Use case - demo: </li></ul><ul><li>fire two pre-configured VMs: Windows and Linux </li></ul><ul><li>deploy “new version of application” under test to both platforms </li></ul><ul><li>“ test” them and display result </li></ul>
    12. 12. Contacts Thank You Mark Zhitomirski Email : [email_address] EXTENT Conference – October 2011 Test Automation for Trading Systems Marriot Renaissance Moscow Hotel, 29-30 October Тел: +7 (495) 640 2460 Email : [email_address]