Cloud-enabled Development: Putting the Agile into the Infrastructure

24
Cloud-enabled Development: Putting the Agile into the Infrastructure Brian White VP Products, Skytap

description

As software development teams seek greater efficiency and effectiveness, they often find that they are held back by old IT architecture for development and test. They wrestle with low-powered servers, difficult-to-scale static environments, and a slow IT provisioning and change processes. Today, software leaders have radically changed the way they build, test, and deploy software—almost exclusively using cloud computing to power their development processes. This presentation provides specifics on which application workloads are ideal for the cloud model and how the use of cloud computing supports Agile development practices.

Transcript of Cloud-enabled Development: Putting the Agile into the Infrastructure

Page 1: Cloud-enabled Development: Putting the Agile into the Infrastructure

Cloud-enabled Development: Putting the Agile into the Infrastructure

Brian WhiteVP Products, Skytap

Page 2: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 3: Cloud-enabled Development: Putting the Agile into the Infrastructure

3

Momentum Behind Agile Development

Page 4: Cloud-enabled Development: Putting the Agile into the Infrastructure

4

Momentum Behind Agile Development

2010 - State of Agile Software by VersionOneSurvey of 4770 Participants

47% of companies surveyed follow the agile model

Page 5: Cloud-enabled Development: Putting the Agile into the Infrastructure

• 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

Page 6: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 7: Cloud-enabled Development: Putting the Agile into the Infrastructure

7

The Weakest Link

AgileDevelopment

AgileInfrastructure?? Dev/Ops

Page 8: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 9: Cloud-enabled Development: Putting the Agile into the Infrastructure

9

Cloud Computing

Can Cloud Computing Help Address these Challenges?

Page 10: Cloud-enabled Development: Putting the Agile into the Infrastructure

Cloud Computing

Credit Geek and Pokehttp://geekandpoke.typepad.com/geekandpoke/2009/03/simply-explained-part-37-agility.html

Page 11: Cloud-enabled Development: Putting the Agile into the Infrastructure

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?

Page 12: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 13: Cloud-enabled Development: Putting the Agile into the Infrastructure

13

Easy to Change Infrastructure2

Page 14: Cloud-enabled Development: Putting the Agile into the Infrastructure

14

Easy to Change Infrastructure2

CPU

RAM

Disks

NICs

Page 15: Cloud-enabled Development: Putting the Agile into the Infrastructure

15

Improved Collaboration3

Save as Template

New Environment

Add to Project /Publish

EnvironmentTemplates

My Environment

Page 16: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 17: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 18: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 19: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 20: Cloud-enabled Development: Putting the Agile into the Infrastructure

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

Page 21: Cloud-enabled Development: Putting the Agile into the Infrastructure

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?

Page 22: Cloud-enabled Development: Putting the Agile into the Infrastructure

22

Putting the Agile into your Infrastructure

Agile development adoption is accelerating

Cloud computing offers significant advantages for development and test workloads

Page 23: Cloud-enabled Development: Putting the Agile into the Infrastructure

23

Skytap Demonstration

• Self-Service and Ease-of-use

• Complex Computing Environments

• Teams vs. Individuals• Solutions vs.

Infrastructure• Developer and IT

friendly

Page 24: Cloud-enabled Development: Putting the Agile into the Infrastructure

Learn More about Skytap

www.skytap.com

1-888-759-8278