Best Practices For Using Virtualization In Development Environments
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Best Practices For Using Virtualization In Development Environments



.net User Group presentation from Liz Hatch & Chris McNulty on best practices for using virtualization in development environments

.net User Group presentation from Liz Hatch & Chris McNulty on best practices for using virtualization in development environments



Total Views
Views on SlideShare
Embed Views



1 Embed 34 34



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Best Practices For Using Virtualization In Development Environments Presentation Transcript

  • 1. Best Practices for Using Virtualization in Development Environments
    Liz Hatch and Chris McNulty
  • 2. Our Focus
    We are presenting:
    Practical use and issues
    Business experiences
    Development scenarios
    Sample configurations
    Available resources
    We’re not presenting:
    In-depth vendor comparisons
    Production environment virtualization
    Future roadmap
  • 3. What’s happening in your development environment now?
    • Is virtualizing the development environment old news to you?
    How many currently working in virtualized environment?
    Server-centric or decentralized on clients?
    Are you using it for:
    Software Development (Test scenarios)
    Quality Assurance
    Software support where it’s important to be able to quickly and easily reproduce a relatively large number of environments.
    Demo centers / demo scenarios
  • 4. Development Scenarios
    • Best case scenario
    Flexible development and testing configurations
    Development staffs can create and test a wide variety of scenarios in a safe, self-contained environment that accurately approximates the operation of physical servers and clients.
    Development team can test the latest version of an application on multiple platforms with a variety of virtual hardware capabilities
    Customer data is data protected
    Explicit separation of development and production environments
    • Current scenario on developer machines
    Multiple versions of development tools
    Multiple versions of enterprise applications such as SQL Server
    Customer data on developer machines
    Intermingling of development and production environments
  • 5. What Is Virtualization?
    “…A technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources.
    This includes making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple logical resources; or it can include making multiple physical resources (such as storage devices or servers) appear as a single logical resource." (
    Types of virtualization
    Platform (often called “Server”)
  • 6. History of Virtualization
    The first hypervisor providing full virtualization was IBM's CP-40, a one-off research system that began production use in January 1967, and which became the first version of IBM's CP/CMS operating system. With CP-40, the hardware's supervisor state was virtualized as well, allowing multiple operating systems to run simultaneously.
    CP/CMS was part of IBM's attempt to build robust time-sharing systems for its mainframe computers. By running multiple operating systems simultaneously, the hypervisor increased system robustness and stability.
    IBM's System/370 series was announced in 1970 without any virtualization features, but these were added to the series in 1972, and have appeared in all successor systems.
    The major UNIX vendors, including Sun Microsystems, HP, IBM, and SGI, have been selling virtualized hardware since before 2000.
    Multiple host operating systems have been modified to run as guest OSes on Sun's Logical Domains Hypervisor. As of late 2006, Solaris, Linux (Ubuntu and Gentoo), and FreeBSD have been ported to run on top of Hypervisor (and can all run simultaneously on the same processor, as fully-virtualized independent guest OSes).
    One of the early PC hypervisors was the commercial VMware, introduced in 1998. Parallels, Inc. introduced Parallels Workstation, which is primarily used on PCs, in 2005 and Parallels Desktop for Mac, which runs on Mac OS X, in 2006.
    In June 2008, Microsoft delivered a new Type 1 hypervisor called Hyper-V (codenamed "Viridian" and previously referred to as Windows Server virtualization); the design features OS integration at the lowest level.[3] New versions of the Windows operating system beginning with Windows Vista include extensions to boost performance when running on top of the Viridian hypervisor.
  • 7. Virtualization Approaches
    A hosted approach provides partitioning services on top of a standard operating system and supports the broadest range of hardware configurations.
    Installs and runs as an application
    Relies on host OS for device support and physical resource management
    A hypervisor architecture is the first layer of software installed on a clean x86-based system. Since it has direct access to the hardware resources, a hypervisor is more efficient than hosted architectures, enabling greater scalability, robustness and performance.
    Lean virtualization-centric kernel
    Service Console for agents and helper applications
    An enhancement where a guest operating system or application is ‘aware’ that it is running within a virtualized environment, and has been modified to exploit this.
  • 8. Benefits
    Managing data centers / server rooms
    Savings in hardware and energy costs
    Security and Continuity
    Backups of entire image
    Quick re-deployment
    Easier to limit access to resources outside scope of project
    Managing hardware resources more efficient
    Quick movement of virtual clients and servers among physical hosts
    Faster deployment
    More flexible infrastructure
  • 9. Cons / Risks
    Internal resistance of staff
    Time to reorganize and consolidate developments clients and servers
    Mistaken deletion of VPCs images in development environment as well as libraries and archives
    Performance: bottle-necks, resource allocation, memory, disk I/O, network
    Support: increased impact of server failures, maintenance affects all virtualized systems at same time
    New skill set needed to deploy, maintain and support
  • 10. KMA Case Study
  • 11. Our Company
    Microsoft Gold Partner founded in 1995
    Clients range from local mid-market firms to New England Fortune 1000 companies
    Our business
    Product – Mekko Graphics
    PowerPoint plug-in for financial charting
    Customization of product
    .NET Custom development
    Systems integration
  • 12. Virtualization of Development at KMA
    Led by infrastructure team
    Driven by interest of staff
    Team came up with solution
    Architecture / Hardware / Solution
    Continued commitment: reason, focus, risks, scope
    Supported by ownership and management
    Incremental growth acknowledged
  • 13. Deployment at KMA in 2006
  • 14. Deployment at KMA in 2009
  • 15. Architecture of Environment
    Development Domain
    Added development domain untrusted by production
    One domain controller on physical box for development domain which includes development Exchange server
    Multiple physical host servers
    Virtual Server with 3
    Virtual Server with 5
    Virtual Server with 3, Hyper-V with 3
    Two NAS devices for storage of archived staff and project VPCs with RAID 5
    SQL Server 2000, 2005, 2008 on physical boxes – reused old boxes
    Originally planned to swap host servers for re-use in organization but have realized not practical
    Production Domain
    Connect to machines using remote desktop with reference to machine name
    All projects stored in production VSS which is backed up
    All other project materials stored in production environment
  • 16. Results
    All development on the consulting side of
    Builds for product side of business
    No need for high-powered developer machines since development is on VPCs
    All development servers in locked server room, need to have domain access to get to machines
    Needed to have commitment by internal staff to support and business to invest – we had both
  • 17. Day-to-Day Usage and Issues
  • 18.  Day to Day Concerns
    Typical problems and approaches:
    Reliability and stability are essential: for development, the “dev region” IS production
  • 19. Remember 2003?
  • 20. Remember 2003?
    Big developer PCs
    All server, development and client software consolidated
    Incompatible configurations led to multiple PCs
    Servers outside datacenter not maintained
    Extra servers kept for legacy development/troubleshooting/version management
  • 21. The Developer Desktop(source:
  • 22. Design considerations
    Project vs. staff VPCs
    Multi-instance apps like MOSS can reduce number of servers
    Client vs. server placement - consistency
    All virtual machines joined to the development domain so share resources
    What should be virtualized
    Naming conventions
    Indicate project/owner
    Standard server naming (purpose, location, region)
    Portability make virtual host references obsolete
    May Distinguish V from P
    Snapshots in Hyper-V, Undo disks in Virtual Server
    Developers competing for resources – have to set standards
    RAM consumption
    Always on vs. on demand
    Hypervisors vs. full OS – ease of administration
  • 23. Usage Considerations
    Microsoft has made it easier to update product keys for Windows and other applications to ensure license compliance
    Use for demos (VPN remote access preferred)
    KMA “gold” images for development – we call our “base” images [preconfigured]
  • 24. Issues
    How much memory required by host
    Anti-virus licenses
    TrendMicro & XML files: registry key
  • 25. Tips and Tricks 
    Host Server
    Turn on hardware-assisted virtualization in BIOS
    Virtual Servers
    Turn on PING for ICMP on all virtual machines
    Install Integration Services on each VPC
    Migrations must remove old virtual server extensions from guest before installing Hyper-V support
  • 26. Enterprise application concerns
    Exchange 2007
    SQL Server 2008
    Virtualizable with “best practices”
    Hardware assisted virtualization
    Spindle isolation
  • 27. Supported Guest OS’s with Windows Server 2008 R2 Hyper-V RC:
    Windows Server 2000 Server and Advanced Server with SP4 (uniprocessor)
    Windows XP SP3 32 bit (uniprocessor)
    Windows Vista SP1 32 & 64 bit (uniprocessor)
    Windows 7 client 32 & 64 bit (uniprocessor)
    Windows 7 client 32 & 64 bit (multiprocessor, two virtual processors)
    Windows Server 2003 SP2 32 & 64 bit (uniprocessor)
    Windows Server 2003 SP2 32 & 64 bit (multiprocessor, two virtual processors)
    Windows Server 2003 R2 SP2 32 & 64 bit (uniprocessor)
    Windows Server 2003 R2 SP2 32 & 64 bit (multiprocessor, two virtual processors)
    Windows Server 2008 32 & 64 bit (uniprocessor)
    Windows Server 2008 32 & 64 bit (multiprocessor, four virtual processors)
    Windows Server 2008 R2 32 & 64 bit (uniprocessor)
    Windows Server 2008 R2 32 & 64 bit (multiprocessor, four virtual processors)
    SUSE Linux Enterprise Server 10 (x86/x64) (uniprocessor, no integration components)
  • 28. Development Scenario Demos
  • 29. Virtual Network and Domain
    1 Server
    Domain controller
    Exchange server 2003
    COM+ event sinks using exoledb
    Windows service for remoting to singleton object for caching
    2 Clients
    Outlook 2003 and VS 2005
    Outlook 2007
  • 30. Virtual Server with MOSS
    Win 2003 x32 / x64 or Win 2008 x64
    Joined to development domain and can be accessed from any other machines at KMA
    SQL on same box or different box
    VS 2005 or 2008
    Integration with Development Domain
    Group, user and service accounts configured in AD
    Exchange server
  • 31. Microsoft Trial VHDs
    Microsoft Office SharePoint Server 2007 VHD (10/17/2008)
    Microsoft® Windows Server® 2003 R2 Enterprise Edition
    Active Directory
    Microsoft SQL Server 2005 Enterprise Edition with SP1
    Microsoft Office Professional 2007
    Microsoft Office SharePoint Designer 2007
    Microsoft Windows SharePoint Services 3.0
    Microsoft Office SharePoint Server 2007
    Microsoft .NET Framework 2.0
    Microsoft .NET Framework 3.0
    30-day expiration, downloaded size 4G, will require about 10G hard drive space and 1024MB memory, runs on Virtual Server 2005 R2 which is available as free download
    Login Credentials:
    Username:         Administrator
    Password:           pass@word1
  • 32. Technical Information
  • 33. Virtual Disk Formats
    Two predominant formats
    Microsoft – VHD (also used by XenSource)
    VMware – VMDK
    New management utilities can work with both VMWare and Microsoft VPCs
  • 34. Hardware Concerns
    Hardware concerns (CPU, RAM, hard drive specs, requirement supports hardware virtualization)
    Lab server overhead = 6% to 20 %
    Competing VPC use
    Hard Drive – Redundancy, Speed
    Use RAID 1/0
    Avoid Raid 5 due to parity
    SATA (Serial ATA)
    CPU – At least dual
    Preferably dual power (most likely to fail) and dual NICs
    Do NOT use old hardware
  • 35. Vendors
    EMC: ESX Server or VMWare server (hosted on Windows)
    Microsoft: Hyper-V Server or hosted with Windows 2008 / Windows 7
    Citrix’s XenServer, partnering with Microsoft on management solutions
  • 36. Virtualization Options with Microsoft
    Hyper-V Server 2008
    Windows Server 2008
    Windows Server 2008 R2
    Terminal Server
    Windows 7
    Virtual PC (RC)
    Windows XP Mode (RC)
    Windows Server 2008 and Windows 7
    Native VHD Support – Virtual and Physical
  • 37. Native VHD Support
    Servers and Clients
    Windows Server 2008
    Windows 7
    Provides for development and testing on physical or virtual machine
    Can be used to configure clients and servers with multiple boot options
  • 38. Microsoft Hyper-V Options
  • 39. Microsoft System Center Virtual Machine Manager 2008 R2
    Screenshots from eWeek
  • 40. Remote Server Hyper-V Administration Tool
    Runs on:
    Windows 2008
    Windows 7
  • 41. Windows 7
    Utilities include:
    Remote Hyper-V Administration Tool
    Virtual PC (RC)
    VHD Management using DISKPART and Disk Management Utility
  • 42. Resources
    Microsoft Virtualization – Training Portal -
    Virtualization "How Do I?" Videos -
    Virtualization Resources – White papers, solution accelerators, learning
    Virtualization Licensing for OS and enterprise apps
    Microsoft Trial VHDs
  • 43. Thank you!