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
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 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
4. 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
5. The Current State of 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
8. Your Roadmap to Application Agility
7
Code Build Integrate Test Release Deploy Operate
Agile Development
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps
9. 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
10. 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
11. Key Enabling Technologies for 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
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
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
23. 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
24. Case Study: Deliver RightLink Package
23
Before – 12-18 month release cycle
RightLink
release
Bugs
What
caused it?
Code Changes
25. 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
26. Continuous Delivery: Release Whenever
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 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