Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Virtualization Technology for Test Automation

1,864 views

Published on

EXTENT Conference 2011 - Test Automation for Trading Systems

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

Published in: Technology
  • Login to see the comments

  • Be the first to like this

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]

×