Virtual Environments for Software Development - PowerPoint PPT Presentation

About This Presentation
Title:

Virtual Environments for Software Development

Description:

Virtual Environments for Software Development Architecture, Application and Hardware Considerations Virtual Environments For Software Development Architecture ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 30
Provided by: Schle4
Category:

less

Transcript and Presenter's Notes

Title: Virtual Environments for Software Development


1
Virtual Environments for Software Development
  • Architecture, Application and Hardware
    Considerations

2
Virtual Environments For Software
DevelopmentArchitecture, Application and
Hardware Considerations
  • Presented by Schley Andrew Kutz
  • Lead Application Architect
  • The McCombs School of Business at the University
    of Texas at Austin
  • sakutz_at_gmail.com
  • http//akutz.wordpress.com/

3
Abstract
  • This session provides practical advice
    on development issues that are relevant to any IT
    professional in charge of or involved
    with application deployment and management in
    virtualized environments and handling topics such
    as hardware and vendor selection and the rapid
    deployment of build agents.

4
Check And Mate
  • Software development is a lot like a chess match
  • The environment is constrained the number of
    possible situations, seemingly endless
  • All possible situations must be accounted for
    ahead of time
  • Unexpected scenarios must be handled gracefully

5
How Virtualization Can Help
  • Virtualization may ease the software development
    process by assisting with
  • Application development cycle
  • Application lifecycle management
  • Continuous integration (hub/spoke model)
  • Secure networking
  • Test lab

6
Agenda
  • Application development cycle
  • Application lifecycle management
  • Continuous integration
  • Secure networking
  • Test lab
  • Vendor selection suggestions

7
Application Development Cycle
  • The application development cycle (ADC) process
    handles
  • Turning ideas into code
  • Testing code
  • Putting code into production
  • Processing bug reports

8
Application Development Cycle (Continued)
  • An iterative ADC gaining popularity is the Scrum
    methodology

9
Application Development Cycle (Continued)
  • In Scrum, the Sprint is where the development
    team implements new ideas or bug fixes
  • The sprint typically lasts only a couple of weeks
  • Entire development environments must be created
    and torn down to cope with the requirements for
    each sprint

10
Application Development Cycle (Continued)
  • The need to quickly provision development
    environments (DevEnvs) can be satisfied by
    virtual machine (VM) templates
  • In addition, DevEnvs can be taken offline when
    not needed, freeing up resources and decreasing
    any security risk they might pose

11
Application Lifecycle Management
  • Application lifecycle management (ALM) is perhaps
    the most important component of software
    development and a service oriented architecture
    (SOA)

12
Application Lifecycle Management (Continued)
  • ALM in the context of software development and a
    SOA encompasses the ADC as well as facilitating
    multi-tier synchronization.
  • Development (Dev) -- Active development
  • Qualification (Qual) -- Quality control
  • Production (Prod) -- Production environment
  • These tiers are an integral part of ALM

13
Application Lifecycle Management (Continued)
  • Each ALM tier should be built identically, and
    this can require several servers to accomplish.
  • Two servers, for the application and data tiers,
    for each development environment equals at least
    six servers.
  • Virtualization provides a cost-effective platform
    on which to host these servers.

14
Continuous Integration
  • Continuous integration (CI) is the process by
    which code is built, tested, and any number of
    other automated tasks (example Document
    generation).
  • Popular CI platforms, such as Microsoft Team
    Foundation Server 2008 and JetBrains TeamCity 4.0
    operate in a hub/spoke model.

15
Continuous Integration (Continued)
  • The hub is the controller -- it schedules builds
    and provides a user interface
  • The spokes are build agents -- servers configured
    specifically for languages, project requirements
    or other reasons (examples Security concerns,
    departmental ownership)

16
Continuous Integration (Continued)
  • Server virtualization platforms such as ESX and
    Hyper-V can host as many build agents as
    necessary.
  • The ability to easily host build agents
    facilitates a cleaner CI architecture by enabling
    silos the separation of build agents for any
    number of reasons.

17
Secure Networking
  • One aspect of software development not discussed
    with enough frequency is secure networks.
  • Active development environments should not be
    trusted. Even the qualification environment
    should be considered to be a medium-risk target.

18
Secure Networking (Continued)
  • Server virtualization platforms can facilitate
    the painless creation of segregated development
    networks.
  • To enable secured networking, a virtualization
    platform should have built-in network address
    translation (NAT, dynamic host control protocol
    (DHCP) and routing capabilities.

19
Test Lab
  • Software developers often like to test out new
    technologies technologies which may have not yet
    endured rigorous security tests
  • A physical, dedicated, network secure, test lab
    is an expensive proposition
  • A virtual, network secure, test lab, however, is
    extremely achievable

20
The Requirements
  • Based on software development practices, a
    virtualization platform must support
  • A VM templating solution
  • NAT, DHCP and routing
  • VM snapshots

21
Virtualization Software
  • There are several virtualization software
    packages that may satisfy the aforementioned
    requirements
  • VMware Server 2
  • VMware VI (Free to Premium)
  • Citrix XenServer (Free to Premium)
  • Microsoft Hyper-V

22
Virtualization Software (Continued)
Software Family Software Package VM Snapshots VM Templates NAT, Routing
VMware Server 2 Yes/No Yes/No Yes
VMware VI
Free Yes Yes No
Foundation Yes Yes No
Standard Yes Yes No
Enterprise Yes Yes No
23
Virtualization Software (Continued)
Software Family Software Package VM Snapshots VM Templates NAT, Routing
Citrix XenServer
Express Yes Yes No
Standard Yes Yes No
Enterprise Yes Yes No
Platinum Yes Yes No
Microsoft Hyper-V Yes Yes No
24
Hardware Selection
  • Virtual developments do not have the same uptime
    or load requirements as production environments
  • Take advantage of more cost-effective hardware
    solutions
  • iSCSI or NAS
  • Lower-cost servers

25
Hardware Selection (Continued)
  • Servers
  • A server for a virtual development environment
    will range from 5,000-10,000
  • Dell
  • PowerEdge R805 -- AMD Quad-Core
  • PowerEdge 2950III -- Intel Xeon Quad-Core
  • Dell and VMware -- http//tinyurl.com/52wx9l
  • Dell and Citrix -- http//tinyurl.com/4hvyzu
  • Dell and Hyper-V -- http//tinyurl.com/4rt9wx

26
Hardware Selection (Continued)
  • HP
  • ProLiant DL Series
  • HP and VMware -- http//tinyurl.com/36mtg6
  • HP and Citrix -- http//tinyurl.com/4n76p4
  • HP and Hyper-V -- http//tinyurl.com/55xhnz
  • IBM
  • System X Series
  • IBM and VMware -- http//tinyurl.com/3gn2z7

27
Hardware Selection (Continued)
  • Storage
  • Sun StorageTek NAS Appliances --http//tinyurl.com
    /3ejtfl
  • EMC CLARiiON AX4 -- http//tinyurl.com/3fe85o
  • NetApp S-Family -- http//tinyurl.com/4ur28u
  • Dell EqualLogic iSCSI Arrays -- PS5000E Series
    http//tinyurl.com/4tz44a

28
Recommendations
  • If you are comfortable with manual templating,
    VMware Server 2 may be the best virtualization
    solution for development shops
  • Server hardware vendor selection is becoming
    agnostic, however VMware is aligning itself with
    Intel (VMworld 2008)
  • Take advantage of iSCSI

29
Questions?
  • sakutz_at_gmail.com
Write a Comment
User Comments (0)
About PowerShow.com