By salt-productions. Agenda RUP Agile Practices Scrum Putting it all together with & for People.
Cloud-enabled Development: Putting the Agile into the Infrastructure
-
Upload
brianwhite -
Category
Technology
-
view
686 -
download
2
description
Transcript of Cloud-enabled Development: Putting the Agile into the Infrastructure
Cloud-enabled Development: Putting the Agile into the Infrastructure
Brian WhiteVP Products, Skytap
Innovation Is Accelerating…
2005 2006 2007 2008 2009 2010 2011
YouTube is born
Apple launches movies on iTunes.The beginning of the end for movie stores
???
Google buysYouTube
Facebookopens up
The worldstarts tweeting
Google Books starts scanning the world’sliterature
The iPhoneis born
Obama’s campaigngrows $21M - $150Musing social media
1 of 8 couples in the US getting married met online
Cloud computinggoes mainstream
Over 2.1 billion global internet users
Facebook has over 800M active users
Wikipedia grows to 25M+ pages
3
Momentum Behind Agile Development
4
Momentum Behind Agile Development
2010 - State of Agile Software by VersionOneSurvey of 4770 Participants
47% of companies surveyed follow the agile model
• Define requirements up front• Difficult to change the outcome if requirements change• IT infrastructure rarely changes during long dev/test cycles
Typical Software Development Life-Cycle
Design
Deploy & Support
Develop
Test
6 to 12 month development and test cycle
Requirements
Shippable software
Testable software
6
• Short release cycles which deliver customer value• Welcome changing business requirements• Collaboration with business and customer stakeholders
Agile Development Model
Design Develop
Test
Ship Ship
Customer Problem 1
Customer Problem 2
Customer Problem 3
Design Develop
Test
Design Develop
Test
3 to 6 week release cycle 3 to 6 week release cycle 3 to 6 week release cycle
7
The Weakest Link
AgileDevelopment
AgileInfrastructure?? Dev/Ops
8
• Ordering and provisioning requests take weeks or longer • Lower priority than production operations
Infrastructure Challenges with Agile Development
Slow toProvision1
Difficult to Change
• Difficult to change and recycle hardware once ordered• Not easy to re-configured Memory, CPU, Disk 2
High Cost• Costly to maintain state of the art dev/test hardware• Costly to duplicate production environments• Capital expense vs. Operating expense
4
Difficult to Share
• Sharing environments or “copies” of environments with remote teams or customers is not practical
• Reproducing complex bugs requires snapshots of full environments3
9
Cloud Computing
Can Cloud Computing Help Address these Challenges?
Cloud Computing
Credit Geek and Pokehttp://geekandpoke.typepad.com/geekandpoke/2009/03/simply-explained-part-37-agility.html
11
• Compute, Storage, and Networking Resources• Delivered as a service (i.e. IaaS)• Self service access via web interfaces and APIs• Provision / release resources in minutes• Pay for usage model
What Is Cloud Computing?
12
Hybrid
In-house
0 5 10 15 20 25
Time to Results Per Project
Purchasing Set-up Changes Tear down
Rapid Provisioning
1 day
2 to 3 weeks
In-house data based on customer input
Days
• Quicker Release Cycles• Faster Time to Market• Positive Business
Impact
Time liberated to focus for strategic priorities
1
13
Easy to Change Infrastructure2
14
Easy to Change Infrastructure2
CPU
RAM
Disks
NICs
15
Improved Collaboration3
Save as Template
New Environment
Add to Project /Publish
EnvironmentTemplates
My Environment
16
• No up-front capital expenditure• Pay for use model
Allows for simulating production environments
Lower Cost
Isn’t it cheaper to run in-house?
4
17
Predictable vs. Dynamic Workloads
• Contextual for IT operations• Limited IT resources• Developer managed changes
• Core to IT operations• Dedicated IT resources• IT managed changes
Agile Development WorkloadsIdeal for Cloud Computing
Predictable WorkloadsIdeal for Enterprise Data Centers
Predictable DynamicDynamicPredictable
Source: Customer interviews
Dynamic Workloads Are Moving To The Cloud
Source: IDC, Gartner, Customer Interviews
DynamicIT
SandboxApp
MigrationVirtual
TrainingApp Dev/
TestSoftware
Demo
Agile Development WorkloadsIdeal for Cloud Computing
Software teams are moving agile dev/test workloads to the cloud1. Fast Provisioning and dynamic capacity management2. High flexibility for changing resources requirements3. Improved sharing and team collaboration4. Lower total costs
Skytap Case Studies
Software Development and QA
Challenges:• Support clients on 6+ code lines• Validate bugs on 3 stacks: customers version,
lasted released, lastest dev• Quickly provision complex environments for
short-term bug fixing/troubleshooting• Cross-continent distributed dev/test teams• Use with existing applications unchanged• Try out new features with clients
Value Delivered: • Provision time from hours to minutes• Improve response for high value clients• Reduced dev/test costs• No additional IT staffing required
Software Development and QA
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: • 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
Skytap Case Studies
Software Development and QA
Requirements:• Multiple projects running concurrently• Application Development and QA machines
for entire development team• Advanced configurable networking• Central configuration routing for DB VMs• Self service for developer
changes/snapshots• Granular charge back to projects
Value Delivered: • Distributed user self-service• Full dev stacks & QA environments in
Skytap• IT managed cloud templates in private
library• Project level constructs for RBAC
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
Value Delivered: • Rapid provisioning of VDC templates• Full VDC snapshots for defect capture• Parallel Development and QA team work• Project level reporting
21
1. Start Small Identify a single project and get your feet wet
2. Define your requirements up front Many cloud options with varying cost structures and completeness of solutions
3. Evaluate support for your existing dev test tools & processes Changing processes and tools is typically much harder than it seems Can you connect to existing on-premise tools (e.g. source control)
4. Test drive the self-service interface to assess learning curve Try before you buy if you can. Even 14 days of usage can give you a clearer picture of
how easy or hard it will be to adopt.
5. Evaluate your ability to manage/control resource consumption Can you create reports on usage by user, project? Can you set quotas and notifications?
6. Consider scalability both of infrastructure as well as teams How well will the solution handle complex environments or hundreds of users?
How do I get Started?
22
Putting the Agile into your Infrastructure
Agile development adoption is accelerating
Cloud computing offers significant advantages for development and test workloads
23
Skytap Demonstration
• Self-Service and Ease-of-use
• Complex Computing Environments
• Teams vs. Individuals• Solutions vs.
Infrastructure• Developer and IT
friendly
Learn More about Skytap
www.skytap.com
1-888-759-8278