Developers and testers are under constant pressure to operate more efficiently, cut costs, and deliver on time. Without access to scalable, flexible, and cost effective computing resources, these challenges are magnified. Brett Goodwin explains how to create scalable dev/test environments in the cloud, and shares best practices for reducing cycle time and decreasing project costs. Learn how scalable, cloud-based data centers can run software without complicated re-writes; enable rapid defect resolution with snapshots and clones; and provide global collaboration for multiple product and release teams. Brett presents a case study of Cushman and Wakefield, the world's largest privately held real estate services firm, which struggled with an on-premises development and testing environment. By moving its dev/test infrastructure to the cloud, they reduced provisioning time from days to minutes, within four months doubled the number of projects supported, and improved collaboration among dispersed teams.
2.
Brian White
Skytap
As vice president of products at Skytap, Brian White is responsible for product strategy
and product management. Prior to Skytap, he was director of developer resources for
Amazon Web Services where he launched AWS Elastic Beanstalk, a platform-as-aservice. Brian was previously VP of products for iConclude, the leader in the Run Book
Automation space, which was acquired by Opsware and then HP, where he drove
product direction for what is now HP Operations Orchestration and the Network
Automation System. Brian had earlier held senior product management and technical
sales positions for Microsoft’s Visual Studio Team Foundation Server and IBM
Rational’s ClearCase/ClearQuest product line.
4. Cloud‐enabled Development
Can cloud computing make
you faster & more agile?
3
What is Cloud Computing?
• Compute, Storage, and Networking
Resources
• Delivered as a service
• Instant access and self service management
via web interfaces and APIs
• Pay for usage model
4
2
5. Agile Development Model
• Short release cycles which deliver customer value
• Welcome changing business requirements
• Collaboration with business and customer stakeholders
Customer
Problem 1
Design
Customer
Problem 2
Design
Develop
Customer
Problem 3
Develop
Test
3 to 6 week release cycle
Develop
Ship
Ship
Test
Design
3 to 6 week release cycle
Test
3 to 6 week release cycle
5
Infrastructure Challenges with Agile Development
Slow to
Provision
•
•
Ordering and provisioning requests take weeks or longer
Lower priority than production operations
Difficult to
Change
•
•
Difficult to change and recycle hardware once ordered
Not easy to re‐configured Memory, CPU, Disk
•
•
Sharing environments or “copies” of environments with remote
teams or customers is not practical
Reproducing complex bugs requires snapshots of full environments
Reproducing complex bugs requires snapshots of full environments
•
•
•
Costly to maintain state of the art hardware for dev/test
Costly to duplicate production environments
Capital expense vs. Operating expense
Difficult to
Share
High Cost
6
3
6. 1. Rapid Provisioning
Time to Results Per Project
2 to 3 weeks
In‐house
1 day
Days
• Quicker Release Cycles
• Faster Time to Market
• Positive Business Impact
Time liberated to focus
for strategic priorities
Hybrid
0
5
Purchasing
10
Set‐up
15
Changes
20
25
Tear down
In-house data based on customer input
7
2. Easy to Change Infrastructure
8
4
8. 4. Lower Costs
Isn’t it cheaper to run in-house?
• Speed to provision resources
• No up-front capex
• Pay for use model
Allows for simulating production environments
All
f
i l ti
d ti
i
t
11
Steady State or Dynamic Workloads?
Steady State Workloads
Dynamic Workloads
Typically of Production
Typical of Dev/Test, Training, POCs
Environments are rarely changed,
run 24x7, and never discarded
•
•
•
Core to IT operations
Dedicated IT resources
IT managed changes
IT
d h
Predictable
Steady State
Entire environments are created,
modified, and discarded frequently
Dynamic
Dynamic
•
•
•
Contextual for IT operations
Limited IT resources
Developer managed
D l
d
changes
12
6
9. Dynamic Workloads Are Moving To The Cloud
Agile Development Workloads
Ideal for Cloud Computing
Dynamic
App Dev/
Test
App
Migration
IT
Sandbox
Virtual
Training
Software
Demo
Dynamic
Predictable
Software teams are moving agile dev/test workloads to the cloud
Software teams are moving agile Dynamic workloads to the cloud
dev/test
1. Fast Provisioning and dynamic capacity management
2. High flexibility for changing resources requirements
3. Improved sharing and team collaboration
4. Lower total costs
13
Case Studies
Software Development and QA
Software Development and QA
Requirements:
•
Complex software stacks requiring tiered
networking and clustering
•
Self service for App dev team
•
Environments support hands-on global
user acceptance testing and training
•
Constrained IT staff resources for
infrastructure management
Challenges:
•
Needed ad‐hoc cloud capacity to test and
deliver data center applications
•
Distributed IT users; 10s of users in England
and US. 2 different vendors
•
Base dev/test configurations contained 180
VMs; ability to refresh at will
•
Multi‐platform support, Windows / Java
applications, BMC, HP applications
•
Hybrid model to connect back to datacenter
Value Delivered:
• Rapid provisioning of VDC templates
• Full VDC snapshots for defect capture
• Parallel Development and QA team work
• Project level reporting
Value Delivered:
• Cost savings in up front capital expense
• Reduced provisioning time down 20 days to less
than one hour
• Deferred hiring 2 FTE for IT management
14
7
10. Case Study: Cushman & Wakefield
Business Need: Move Enterprise Dev/Test Workloads To Cloud
Requirements:
• Distributed dev/test teams – New York, Las Vegas, Houston
• Run existing .NET stack with no changes; Active Directory, SQL Server, TFS, C#
• IT resource limits to support ad-hoc machine requests and configuration changes
• Maintain existing IT visibility and control of standard templates
• Charge back costs to projects
Solution: Secure Hybrid/Public Cloud with Dev/Test Templates
Benefits:
•
•
•
•
100% Developer self-service
Scale resources on demand, configure dev/test stacks flexibly
Reduce overall operating costs by 50%
Accelerate development and test cycles by 70%
How Do I Get Started?
1. Start small
2. Consider your needs up front
Steady state or dynamic workloads
Existing or Greenfield Applications
Security and Data Requirements
Simple web architectures
Collaboration Use Cases
3. Take a test drive
4. Evaluate support for existing dev/test tools
5. Evaluate controls on resource consumption
16
8