rightscale webinar: continuous integration and delivery in the cloud - how rightscale does it

28
CONTINUOUS INTEGRATION AND DELIVERY IN THE CLOUD: HOW RIGHTSCALE DOES IT

Upload: rightscale

Post on 08-May-2015

497 views

Category:

Technology


0 download

DESCRIPTION

Many organizations are moving toward continuous integration and delivery in order to streamline the application lifecycle and increase quality. RightScale uses cloud-focused continuous integration (CI) and continuous delivery (CD) processes in our development teams to speed new capabilities to market. In this webinar we explore three case studies on how RightScale does CI and CD in the cloud for our own development processes. Key Topics: Decode the differences between CI, CD and DevOps Combine and connect the tools needed for CI and CD Leverage cloud infrastructure for CI and CD Overcome challenges on the path to CI and CD

TRANSCRIPT

Page 1: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

CONTINUOUS INTEGRATION

AND DELIVERY IN THE CLOUD:

HOW RIGHTSCALE DOES IT

Page 2: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

• Kim Weins

• VP Marketing, RightScale

• Efrain Olivares

• Senior Software QA Engineer, RightScale

• Tony Spataro

• Architect, RightScale

Q&A

• Steven Kochenderfer

• Sales Development Representative, RightScale

Please use the “Questions” window to ask questions at any time

Your Panel Today

Page 3: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

• Accelerating Application Delivery

• State of the Art in Development Practices

• Continuous Integration

• Continuous Delivery

• DevOps

• How RightScale Helps

• How RightScale Does It: Three Examples

• Agile Regression Testing for ServerTemplates

• Continuous Integration of RightScale platform

• Continuous Delivery of RightLink

Agenda

2

Page 4: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Winning in the Age of the Customer

3

“Faster application delivery

enables competitive

differentiation. Applications

have become the means by

which organizations attract

customers and deliver

value; better applications,

delivered faster, drive faster

business growth….

Forrester Research

Page 5: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

The Current State of Development (waterfall)

4

Infrastructure

& Operations

App/Site

Development

Platform

Engineering

Lack of Agility Project Delays Lower Quality

Rework Rework

Handoffs Handoffs

Page 6: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

A Better Model: Automate Small Batches

Licensed under Creative Commons Attribution 3.0 Unported License

Author: Christopher Little

Page 7: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Some (Extreme) Examples

6

Deploy every 11.6 seconds

25+ deployments per day

10+ deployments per day

Page 8: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Your Roadmap to Application Agility

7

Code Build Integrate Test Release Deploy Operate

Agile Development

Continuous Integration

Continuous Delivery

Continuous Deployment

DevOps

Page 9: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Best Practices for CI/CD

8

Continuous

Integration

Successful

Build?

Automated

Testing

Provision

Test

Infrastructure

Report on

Test Results

De-Provision

Test

Infrastructure

Continuous

Delivery

Successful

Test?

Acceptance

Test

Provision

Staging

Infrastructure

Read

y

Continuous

Build

Source Code

Commit

Automated

Build

Provision

Build

Infrastructure

Report on

Build Results

De-Provision

Build

Infrastructure

Page 10: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

DevOps: Agility of Code & Infrastructure

9

Impact of DevOps Application

Development

Infrastructure

& Operations

Platform

Engineering

DevOps

Increase release frequency

Reduce lead time for changes

Increase quality

Shorten Mean Time to Recover

Page 11: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Key Enabling Technologies for DevOps

10

Multi-Cloud

Management

Configuration

Management

Continuous

Integration

Self

Service

DevOps

Page 12: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

• Multi-Cloud Support

• Public, private or virtualized

• Support Infrastructure-as-Code model

• Consistency across environments (Dev, Test, Staging, Prod)

• Automation of Infrastructure as part of Application Lifecycle

• Provision/Scale/Update/Decommission

• Provide Self-Service to Developers

• Reduce cycle times at every stage

How RightScale Helps

11

Page 13: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

RightScale: Infrastructure-as-Code Lifecycle

12

Continuous Integration System Jenkins, Hudson, Travis CI

AWS Windows Google CloudStack OpenStack self service

Infrastructure-

as-code RightScale

Source Code

Version Control

Build

Automation

Test

Automation

Code Dev Tools

Configuration

Management Tools Chef, Puppet, Salt

Multi-Cloud Management RightScale

Self-Service

Portal RightScale

Self-Service

Catalog RightScale

Dev Test Staging Prod

Page 14: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

RightScale Integrates with the Ecosystem

13

Page 15: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

How RightScale Helps: A CI/CD Example

14

Developer

Environment

Source Code

Repo CI RightScale API

Developer

commits code

GitHub

triggers CI

CI starts test

environment

Tests

pass?

Deploy

Test Env in cloud

CI runs test Decommission

Test env in cloud

Execute scripts

to update code

Update

Deploy new

infrastructure,

test, failover

Redeploy

Page 16: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Cloud Management

How RightScale Does It

Page 17: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Case Study: Regression

Testing Lots of Permutations

96 ServerTemplate

Tests

43 Cloud/OS

combos

Page 18: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

CASE STUDY: TESTING LOTS OF

PERMUTATIONS HUGE Test Matrix

Page 19: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Automated Testing of ServerTemplates

18

RightScale

Repo

Server

Template Server

Template Server

Template

Jenkins CI Test

Matrix GoogleDoc

Test

Orchestrator RocketMonkey Initiate

jobs

Automated

Test Tool VirtualMonkey

RightScale API

RightScale

Deployments

Cloud Infrastructure

Testing

Deployment

Testing

Servers Testing

Servers Testing

Servers Testing

Servers Testing

Servers Testing

Servers

Testing

Servers Testing

Servers Testing

Servers Testing

Servers Testing

Servers Testing

Servers

Read

matrix

1. Deploy test

infrastructure

Provision

Auto-scale

Decommission

Testing

Deployment Testing

Deployment

2. Run test

scripts

Jenkins

Slave Jenkins

Slave Jenkins

Slave

4. Email

results

Test

Report

Scale up instances as

needed for tests

Deployments

pull latest

ServerTemplates

3. Update matrix with results

Page 20: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Saving Time, Reducing Manual Effort

19

Page 21: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Case Study: Scaling CI

Developers Developers Developers Developers Developers Developers Developers Developers Developers Developers

Developers Developers Developers Developers Developers Developers Developers Developers Developers Developers

Code commits

Jenkins CI

Developers Developers Developers Developers Developers Developers Developers Developers Developers Developers

Page 22: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It
Page 23: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Continuous Integration of RightScale Platform

22

GitHub

Repo

Server

Template Server

Template RightScale

code

Test

Report

Code commit

triggers CI Jenkins CI

RightScale auto-scales Jenkins slaves

up and down depending on backlog of tests

Jenkins

Slave

Tests

Jenkins

Slave

Tests

Jenkins

Slave

Tests

Jenkins running on RightScale

Page 24: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Case Study: Deliver RightLink Package

23

Before – 12-18 month release cycle

RightLink

release Bugs

What

caused it?

Code Changes

Page 25: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Continuous Delivery of RightLink

24

GitHub

Repo

Server

Template Server

Template RightLink

code

Jenkins CI

Unit

Test Tool RightScale API

Cloud Infrastructure

Testing

Server

Test

Report

Code commit

triggers CI

Immediate

unit tests

Nightly

integration tests

Chef

test

scripts

RightScale API

Cloud Infrastructure

Upload nightly

build

AWS S3

Bucket RightLink

package

Testing

Server Testing

Server

Chef

test

scripts

Chef

test

scripts

Page 26: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

Continuous Delivery: Release Whenever

After – Release at any time

Code Changes

Continuous Integration

RightLink

release

RightLink

release

RightLink

release

RightLink

release

Page 27: RightScale Webinar: Continuous Integration and Delivery in the Cloud - How RightScale Does It

• Multi-Cloud Support

• Public, private or virtualized

• Support Infrastructure-as-Code model

• Consistency across environments (Dev, Test, Staging, Prod)

• Automation of Infrastructure as part of Application Lifecycle

• Provision/Scale/Update/Decommission

• Provide Self-Service to Developers

• Reduce cycle times at every stage

Recap: How RightScale Helps

26