Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Supercharge your Test & Dev Process
with Jenkins and the Cloud
...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
About Ravello Systems
• Founded in 2011
• Corp. HQ - Raa’nana, ...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Sprint1 Sprint 2 Release
Candidate
Product late
to market
and p...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
#1 Lack of internal
capacity
#2 Difficult...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
router firewall
load
balancer
be1
OS
db2
OS
fe2
OS
fe1
OS
be2
O...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Unit test
“environments”
Integration test
environments
System t...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Assumption
As far as possible, you want
to test on replicas of ...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Fundamental question
How much capacity do you
need to optimally...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Analysis Framework
• Based on queuing theory (M-D-s queues)
and...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
 An “on-demand” consumption
model for th...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
#1 Lack of internal
capacity
#2 Difficult...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
How to provision, replicate and manage
e...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Configuration management tools
• Pros:
–...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Cloud management systems
• Automate both...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Ravello – a “cloud application hyperviso...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
1. HVX – high performance nested hypervi...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
2. IO overlay • Full overlay network
(SD...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Application framework • Define an entire...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
#1 Lack of internal
capacity
#2 Difficult...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Automate everything!
• Run UT and variou...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Automate some more!
• Product management...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
The missing link…
• We utilize Jenkins a...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Feature toggles
• Heavy utilization of f...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems | 2013
Demo Time…
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Questions?
Ravello Systems | 2013
http://www.ravellosystems.com...
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Thank You To Our Sponsors
Upcoming SlideShare
Loading in …5
×

Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenkins User Conference 2013)

1,405 views
1,341 views

Published on

Video at: https://www.youtube.com/watch?v=2IEuk1aIAUU
Slides from our session at the Jenkins User Conference 2013 (Israel) in which I described how we at Ravello Systems (http://www.ravellosystems.com) use Jenkins and the cloud to supercharge our development process. As part of this, we will cover the usage of Jenkins for continuous integration on multiple exact replicas of multi-VM production applications, with no resource contention! We will show the usage of Jenkins by our development, QA, Operations and PM teams, which all utilize the cloud and Jenkins to the extreme.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,405
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenkins User Conference 2013)

  1. 1. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Supercharge your Test & Dev Process with Jenkins and the Cloud Gil Hoffer Ravello Systems http://www.ravellosystems.com @jenkinsconf Ravello Systems | 2013
  2. 2. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf About Ravello Systems • Founded in 2011 • Corp. HQ - Raa’nana, Israel US HQ – Palo Alto, CA • Deep expertise in virtualization, networking and storage technologies Founding team track record Employees Investors Ravello Systems Ravello Systems | 2013
  3. 3. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Sprint1 Sprint 2 Release Candidate Product late to market and poor quality Data center/private cloud capacity Project Demand ResourcesResources Sprint1 Sprint 2 Release Candidate On-premise dev & test sucks Ravello Systems | 2013
  4. 4. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013 #1 Lack of internal capacity #2 Difficult to replicate/provision environments quickly
  5. 5. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf router firewall load balancer be1 OS db2 OS fe2 OS fe1 OS be2 OS db1 OS Front end Back end data tier q OS A simple on-premise application Ravello Systems| 2013
  6. 6. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Unit test “environments” Integration test environments System test environments for every commit for every commit batched A simple development process Ravello Systems| 2013
  7. 7. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Assumption As far as possible, you want to test on replicas of the production environment Ravello Systems | 2013 Why? • Multiple node data consistency • Scaling (assure statelessness, …) • Server/OS configuration changes (test your CM with the app!) • Inter-server feedback • …
  8. 8. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Fundamental question How much capacity do you need to optimally develop and test your application? Ravello Systems | 2013
  9. 9. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Analysis Framework • Based on queuing theory (M-D-s queues) and real-life test suites run-time and commit rates – See http://tinyurl.com/infeasibility for full details • Bottom-line: automatic tests load is very bursty – When adding other project related envs (manual QA, demos, PMs, …) it is even burstier… Ravello Systems | 2013
  10. 10. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013  An “on-demand” consumption model for the bursty test/dev resources is A MUST  The cloud to the rescue!
  11. 11. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013 #1 Lack of internal capacity #2 Difficult to replicate/provision environments quickly
  12. 12. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 How to provision, replicate and manage environments easily? • DIY (Polyglot tooling) – Configuration Management (Chef, Puppet, ControlTier, …) – Deployment automation (Fabric, Capsitrano, LI’s glu, scripts, …) – Use cloud APIs (or CLI) for server provisioning • Cloud management systems • Ravello
  13. 13. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Configuration management tools • Pros: – Good at maintaining infra as-code – Lots of know-hows and premade “recipes” by the community • Cons: – Testing can be painful – Not easy to make cloud/OS agnostic, and eventually end up with a different server on each env. – Manages single servers/services and not the whole “application” – Has a rather steep learning curve – Can be challenging to create for existing systems
  14. 14. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Cloud management systems • Automate both cloud VM provisioning , and integrate (or define proprietary) with configuration management tools • Pros: – “Single pane of glass” – Support, knowledge base, … • Cons: – Lock in (to specific public clouds and cloud management systems) – The application is *different* on each cloud – Quite impractical to use if your production is on- premise (or you want to keep your options open)
  15. 15. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Ravello – a “cloud application hypervisor” Any cloud: Public – Amazon, Rackspace, HP, … Or private: openstack, vCloud, … Formal definition of the application Cloud Application hypervisor web OS app OS db OS web OS web OS web OS app OS app OS db OS
  16. 16. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 1. HVX – high performance nested hypervisor x86 OS x86 Hypervisor x86 Hypervisor OS 1:1 physical server virtualization cloud application virt • Requires no changes to the application or Operating System • Run any VM (e.g. VMware) in any cloud (e.g. AWS/Xen) • Supports VM consolidation app app OS app OS app HVX OS app OS app OS app HVX
  17. 17. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 2. IO overlay • Full overlay network (SDN) – Mesh of interconnected HVXs – Define any L2 and L3 network configuration without dependency on the underlying cloud – Supports multicast, broadcast etc. • SDS - Supports storage abstraction and cloud specific optimization HVX app OS HVX app OS HVX app OS app OS
  18. 18. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Application framework • Define an entire multi- VM/ application end- to-end • Describe relationship between application components, external interfaces, configurati on, SLA etc. • Every aspect of a Cloud Application can be coded
  19. 19. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013 #1 Lack of internal capacity #2 Difficult to replicate/provision environments quickly Okay, so what’s next???
  20. 20. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Automate everything! • Run UT and various “smoke” runs on each commit on identical replicas of production • Run various types of system tests nightly, including destructive tests • Manual QA can provision new environments with the click of a button • Each *developer* can spin a full copy of the application in minutes
  21. 21. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Automate some more! • Product management can easily demo new experimental features on their own app copy • Ops can easily use for a “poor man’s” multi- cloud DR solution • Supply copies of the app to contractors (e.g. pen-testing) with zero effort • Allows having an *identical* automatic deployment mechanism to all environments (including production) • …
  22. 22. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 The missing link… • We utilize Jenkins as the engine who drives the workflows (manually and automatically) – Using Ravello to replicate the app – Using the Build flow plugin to define workflows with parallel job runs • E.g. parallelize huge suites on two applications in order to shorten run-time! • Using Jenkins for: – Continuous Integration – Application provisioning, deployment and upgrade – Running manual processes
  23. 23. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Feature toggles • Heavy utilization of feature toggles – Build time configured from Jenkins through maven • Runtime toggles • Automatic feature toggle testing
  24. 24. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Demo Time…
  25. 25. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Questions? Ravello Systems | 2013 http://www.ravellosystems.com@ravellosystems
  26. 26. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Thank You To Our Sponsors

×