Virtualisation for Developers - The .NET Developer Network

Document Sample
Virtualisation for Developers - The .NET Developer Network Powered By Docstoc
    where professional software development comes naturally

Virtualisation for Developers

What, Why, Where?

Liam Westley                    
  Who ?

  • Liam Westley; owner of Tiger
    Computer Services Ltd
  • Broadcast Television and Healthcare
  • A user of virtual machines ever since
    Connectix was bought by Microsoft
    and Virtual PC 2004 was included in
    the MSDN subscription
  • Doesn’t believe virtualisation contains
    the letter ‘z’

  • In general terms, a virtual machine is
    software that emulates another
    computer, including all the basic
    hardware components
  • Some even emulate the actual CPU
  • Can either run as a standalone
    program (Virtual PC, VMWare Player,
    Virtual Box) or a set of services
    (Virtual Server) or as the base host
    o/s (VMWare ESX, Hyper-V)
  You may have used a VM before ...
  What? – some jargon

  • ‘Host’ operating system

  • ‘Guest’ operating system

  • Virtual Machine (‘VM’)

  • ‘Additions’ software
  What? – ‘Free’ tools

  • Virtual PC 2007 (XP, Vista)
  • Virtual Server 2005 R2 (Server 2003)
  • Hyper-V (Server 2008, x64 CPU with
    hardware virtualisation support)
  • VMWare Player 2.5 (lots, see notes)
  • Virtual Box 2.0.2 (XP, Vista, Server
  • 64-bit guest support; Hyper-V,
    VMWare Player, Virtual Box
  Why? – for developers

  • Reduce hardware dependencies

  • Creation of flexible development

  • Support legacy environments

  • The ultimate undo tool
  How far back can you go ?
  Where? – ‘Clean’ images

  • Clean operating systems with
    minimal service packs and
    selected Windows Updates

  • Test your setup programs and/or
    installation scripts

  • Great for system and user
    guides, including screen captures
  Where? – Legacy applications

  • Legacy operating systems; Win
    9x, NT4, Windows 2000
  • Legacy service packs; XP SP1
  • Legacy languages; VB6, VS2003!
  • Browser compatibility; testing
    against IE6, IE7, IE8 beta 2
  • Windows Media player; older
    versions, older codecs
  Legacy XP / VS2003 in action ...
  Where? – Hardware consolidation

  • Multiple build servers on the
    same physical hardware
  • Development servers to both test
    and provide demo software for
    agile development
  • Reduced hardware requirement
    for IIS Network Load Balancing
    and SQL Server mirroring
  Where? – ... and much more.

  • Internationalisation – ability to
    test on multiple locales
  • Breaking the 3Gb memory barrier
    by using a 64-bit host
  • Scale and test distributed
    processing (i.e. Selenium Grid)
  • Safer testing of beta/RC software
  • Replicate client configurations
  Testing new software ...
  Tips and tricks 1

  • Keep your host and guest on
    different discs
  • Install additions
  • BIOS – make sure you enable
    hardware virtualisation
  • Specify large partition sizes, they
    auto grow anyway
  • Disable hibernation - it’s a big file
  Tips and tricks 2

  • Use NewSID (sysinternals) or
    SysPrep (Microsoft) when
    duplicating o/s images
  • Disable screen savers, no really!
  • Multi monitors, use remote
    connection with /span setting
  • VMWare -
    to create VM files for VM player
  Dual CPU – no problems ...
  Final thoughts and gotchas

  • Don’t abuse VMs, i.e. don’t create
    entire development PC images to
    avoid configuration scripts
  • You can’t run competing virtual
    systems simultaneously ...
  • ... that includes the Smart Device
    (PocketPC) emulator
  • Hyper-V server just released

    where professional software development comes naturally

Virtualisation for Developers

What, Why, Where?

Liam Westley                    

Shared By: