Virtualization Technology for Test Automation

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
November 12, 2011

Virtualization Technology for Test Automation

EXTENT Conference 2011 - Test Automation for Trading Systems

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

5206c19df417b8876825b5561344c1a0?s=128

Exactpro

November 12, 2011
Tweet

Transcript

  1. Mark Zhitomirski ITS-EXPERT LLC Virtualization Technology for Test Automation

  2. The purpose of computing is insight, not numbers. Richard Hamming,

    1915-1998 In preface to Numerical Methods for Scientists and Engineers, 1962
  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: 15th century. VM: see Virtual Memory; Virtual Machine VFS: ... VLAN: ... VNC: see VDI VPN: ... VPS: ... See also: Hyper-V, Cloud, AWS, GAE, Microsoft Azure
  4. VLAN: Virtual LAN  isolation, confidentiality  policy enforcement, authentication

    (optional)  partitioning (broadcast domains), equipment re-use = better ROI Alternatives?  less flexible  more expensive in terms of equipment and labor cost, space used
  5. VPN: Virtual Private Network  isolation (from i-net, from each

    other), confidentiality  policy enforcement, authentication  partitioning, authorization, private address spaces Alternatives?  yes, but .. let's face e.g. “IP authentication” shortcomings  It's “nice to have” public IP on each device, but what do you do with security?
  6. What else can be virtualized?  memory – VM and

    Paging pioneered by Ferranti Atlas in 1952 (with University of Manchester and Plessey)  runtime (library functions) or Virtual Machine – Java VM, .Net CLR, Dalvik (Android JVM)  filesystem - chroot in Unix – same kernel, network stack, CPU  filesystem (in user-mode) (SSHFS, Windows “share” mapping, here and above VFS is in game)  filesystem+network (sandbox, FreeBSD jail, Google Chrome sandbox)  sandbox + resource slice management/accounting – OpenVZ/Virtuozzo (specific shortcomings – no IPSec, memory management/accounting granularity); Solaris containers, AIX WPARs  OS – UML (StrongSWAN IPSec testing), colinux – same CPU  Desktop – VDI  Periphery – virtual CD / Printer / LAN adapter (common case for VPN)  Hardware – also called emulation or simulation  Running legacy OS/ Apps – Hercules – run VM/370 or zSystem Linux on PC, MAME, virtualII  modelling / verifying future hardware / system products  Full (system) virtualization  CPU  HDD, other storage e.g. CD, tape  Network  Graphics / video  Input – keyboard, mouse  USB, whatever is specific to emulated platform (HPET)
  7. What suggests System Virtualization?  desire for a well defined

    state  “clean”, “initial”, “fully configured” and ready to go etc.  necessity to run incompatible environments  legacy apps/OS  IE6/7/8/9  Unix/Windows/MacOS X  security concerns and security research (sandboxing)  computing as utility  manageability, accountability requirements  equipment / resource re-use to increase efficiency and reduce manual labor
  8. Notable system virtualization products  Early players:  Connectix: Virtual

    PC for (PowerPC) Mac 1997  VMware – founded 1998  Xen research project; public release 2003; offsprings: Sun xVM, Oracle VM, VirtualIron  Ascending  kvm (qemu-kvm) runs on Linux, also ported to Illumos (ex-OpenSolaris), FreeBSD  Hyper-V Caveat: “paravirtualization”, hypervisor type 1 vs 2 – skip it and forget
  9. VM and VDI – not unlike hand and glove 

    Precursors:  Text (and later “graphics”) terminals  X11 protocol and terminals  RFB: VNC – UK Olivetty (& Oracle) Research Lab ca. 1997, before that – Acorn, later AT&T  Teleconferencing systems (who knows TELEX? WRU?)  Current:  Xen – Citrix ICA  Hyper-V – RDP(+RemoteFX)  Sun xVM (Oracle VM) – ALP  AIP. Before Sun – IXI Ltd, Cambridge, UK + Visionware, Leads, UK; then SCO Tarantella, bought by Sun in 2005.  kvm – SPICE (and a legacy VNC)  VMware – PcoIP (Teradici)  Future:  HTML 5 ? or 6 ?
  10. What’s the catch? what can go wrong with system virtualization?

     Additional complexity, layer of indirection  Performance overhead  Licensing issues and costs (besides costs of VM Host solution and management tools, e.g. You are not allowed to run W7HB in VM)  Hard-to-virtualize architecture (PC and x86, high-speed systems)  i/o is always a bottleneck  Temporal characteristics (non-linear time in VM, TSC on Pentium+, timekeeping)  Not obvious, hard to track problems, e.g. snapshots vs. “rich state” - do not snapshot AD controller!
  11. Personal success story and a use case 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. Use case - demo:  fire two pre-configured VMs: Windows and Linux  deploy “new version of application” under test to both platforms  “test” them and display result
  12. Contacts Thank You Mark Zhitomirski Email: mz@its-expert.com EXTENT Conference –

    October 2011 Test Automation for Trading Systems Marriot Renaissance Moscow Hotel, 29-30 October Тел: +7 (495) 640 2460 Email: extent@exactprosystems.com