Slide 1

Slide 1 text

Mark Zhitomirski ITS-EXPERT LLC Virtualization Technology for Test Automation

Slide 2

Slide 2 text

The purpose of computing is insight, not numbers. Richard Hamming, 1915-1998 In preface to Numerical Methods for Scientists and Engineers, 1962

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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?

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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 ?

Slide 10

Slide 10 text

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!

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Contacts Thank You Mark Zhitomirski Email: [email protected] EXTENT Conference – October 2011 Test Automation for Trading Systems Marriot Renaissance Moscow Hotel, 29-30 October Тел: +7 (495) 640 2460 Email: [email protected]