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
ReworkRework
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
ServersTesting
ServersTesting
ServersTesting
ServersTesting
ServersTesting
Servers
Testing
ServersTesting
ServersTesting
ServersTesting
ServersTesting
ServersTesting
Servers
Read
matrix
1. Deploy test
infrastructure
Provision
Auto-scale
Decommission
Testing
Deployment
Testing
Deployment
2. Run test
scripts
Jenkins
SlaveJenkins
SlaveJenkins
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

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

  • 1.
    CONTINUOUS INTEGRATION AND DELIVERYIN THE CLOUD: HOW RIGHTSCALE DOES IT
  • 2.
    • 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
  • 3.
    • Accelerating ApplicationDelivery • 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
  • 4.
    Winning in theAge 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
  • 5.
    The Current Stateof Development (waterfall) 4 Infrastructure & Operations App/Site Development Platform Engineering Lack of Agility Project Delays Lower Quality ReworkRework Handoffs Handoffs
  • 6.
    A Better Model:Automate Small Batches Licensed under Creative Commons Attribution 3.0 Unported License Author: Christopher Little
  • 7.
    Some (Extreme) Examples 6 Deployevery 11.6 seconds 25+ deployments per day 10+ deployments per day
  • 8.
    Your Roadmap toApplication Agility 7 Code Build Integrate Test Release Deploy Operate Agile Development Continuous Integration Continuous Delivery Continuous Deployment DevOps
  • 9.
    Best Practices forCI/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
  • 10.
    DevOps: Agility ofCode & 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
  • 11.
    Key Enabling Technologiesfor DevOps 10 Multi-Cloud Management Configuration Management Continuous Integration Self Service DevOps
  • 12.
    • 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
  • 13.
    RightScale: Infrastructure-as-Code Lifecycle 12 ContinuousIntegration 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
  • 14.
  • 15.
    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
  • 16.
  • 17.
    Case Study: Regression TestingLots of Permutations 96 ServerTemplate Tests 43 Cloud/OS combos
  • 18.
    CASE STUDY: TESTINGLOTS OF PERMUTATIONS HUGE Test Matrix
  • 19.
    Automated Testing ofServerTemplates 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 ServersTesting ServersTesting ServersTesting ServersTesting ServersTesting Servers Testing ServersTesting ServersTesting ServersTesting ServersTesting ServersTesting Servers Read matrix 1. Deploy test infrastructure Provision Auto-scale Decommission Testing Deployment Testing Deployment 2. Run test scripts Jenkins SlaveJenkins SlaveJenkins Slave 4. Email results Test Report Scale up instances as needed for tests Deployments pull latest ServerTemplates 3. Update matrix with results
  • 20.
    Saving Time, ReducingManual Effort 19
  • 21.
    Case Study: ScalingCI 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
  • 23.
    Continuous Integration ofRightScale 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
  • 24.
    Case Study: DeliverRightLink Package 23 Before – 12-18 month release cycle RightLink release Bugs What caused it? Code Changes
  • 25.
    Continuous Delivery ofRightLink 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
  • 26.
    Continuous Delivery: ReleaseWhenever After – Release at any time Code Changes Continuous Integration RightLink release RightLink release RightLink release RightLink release
  • 27.
    • 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
  • 28.
    27 Next Steps andQ&A Sample code for CI with RightScale https://github.com/rgeyer/rs_ci_app_rails RightScale Free Trial www.rightscale.com/free-trial