rightscale webinar: continuous integration and delivery in the cloud - how rightscale does it
Embed Size (px)
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 CDTRANSCRIPT

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

• 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

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

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

A Better Model: Automate Small Batches
Licensed under Creative Commons Attribution 3.0 Unported License
Author: Christopher Little

Some (Extreme) Examples
6
Deploy every 11.6 seconds
25+ deployments per day
10+ deployments per day

Your Roadmap to Application Agility
7
Code Build Integrate Test Release Deploy Operate
Agile Development
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps

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

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

Key Enabling Technologies for DevOps
10
Multi-Cloud
Management
Configuration
Management
Continuous
Integration
Self
Service
DevOps

• 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

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

RightScale Integrates with the Ecosystem
13

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

Cloud Management
How RightScale Does It

Case Study: Regression
Testing Lots of Permutations
96 ServerTemplate
Tests
43 Cloud/OS
combos

CASE STUDY: TESTING LOTS OF
PERMUTATIONS HUGE Test Matrix

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

Saving Time, Reducing Manual Effort
19

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


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

Case Study: Deliver RightLink Package
23
Before – 12-18 month release cycle
RightLink
release Bugs
What
caused it?
Code Changes

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

Continuous Delivery: Release Whenever
After – Release at any time
Code Changes
Continuous Integration
RightLink
release
RightLink
release
RightLink
release
RightLink
release

• 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

27
Next Steps and Q&A
Sample code for CI with RightScale https://github.com/rgeyer/rs_ci_app_rails
RightScale Free Trial www.rightscale.com/free-trial