SlideShare a Scribd company logo
1 of 26
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
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
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
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
#1 Lack of internal
capacity
#2 Difficult to
replicate/provision
environments quickly
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
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
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
• …
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
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
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!
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Ravello Systems| 2013
#1 Lack of internal
capacity
#2 Difficult to
replicate/provision
environments quickly
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
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
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)
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
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
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
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
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???
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
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)
• …
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
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
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@ravellosystems
Jenkins User Conference Israel , 06 June 2013 #jenkinsconf
Thank You To Our Sponsors

More Related Content

What's hot

The Next Generation Cloud: Unleashing the Power of the Unikernal
The Next Generation Cloud: Unleashing the Power of the UnikernalThe Next Generation Cloud: Unleashing the Power of the Unikernal
The Next Generation Cloud: Unleashing the Power of the UnikernalAll Things Open
 
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Daniel Bryant
 
Building a loosely coupled toolchain with Rundeck and Puppet
Building a loosely coupled toolchain with Rundeck and PuppetBuilding a loosely coupled toolchain with Rundeck and Puppet
Building a loosely coupled toolchain with Rundeck and Puppetsmeunier114
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkinsCloudBees
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitXebiaLabs
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java worldAshok Kumar
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous DeliveryHervé Leclerc
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...Brian Grant
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkinsmrooney7828
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...CloudBees
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Joris De Winne
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWTommy Trogden
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Andreas Rehn
 
A practical introduction to observability
A practical introduction to observabilityA practical introduction to observability
A practical introduction to observabilityNikolay Stoitsev
 

What's hot (20)

The Next Generation Cloud: Unleashing the Power of the Unikernal
The Next Generation Cloud: Unleashing the Power of the UnikernalThe Next Generation Cloud: Unleashing the Power of the Unikernal
The Next Generation Cloud: Unleashing the Power of the Unikernal
 
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
 
Building a loosely coupled toolchain with Rundeck and Puppet
Building a loosely coupled toolchain with Rundeck and PuppetBuilding a loosely coupled toolchain with Rundeck and Puppet
Building a loosely coupled toolchain with Rundeck and Puppet
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous Delivery
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkins
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTW
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014
 
A practical introduction to observability
A practical introduction to observabilityA practical introduction to observability
A practical introduction to observability
 

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

Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for ChangeEric Wyles
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Mee Nam Lee
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceCloudBees
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaSCloudBees
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayaka V Ladwa
 
OSMC 2010 | Insides SUSE Linux by Joachim Werner
OSMC 2010 | Insides SUSE Linux by Joachim WernerOSMC 2010 | Insides SUSE Linux by Joachim Werner
OSMC 2010 | Insides SUSE Linux by Joachim WernerNETWAYS
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkDocker, Inc.
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020prafulIQBusiness
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureIzzet Mustafaiev
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015Chris Jang
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015Henry Huang
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabTechWell
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1Rubens Dos Santos Filho
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014Joelith
 

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

Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
Splunking the JVM
Splunking the JVMSplunking the JVM
Splunking the JVM
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
 
OSMC 2010 | Insides SUSE Linux by Joachim Werner
OSMC 2010 | Insides SUSE Linux by Joachim WernerOSMC 2010 | Insides SUSE Linux by Joachim Werner
OSMC 2010 | Insides SUSE Linux by Joachim Werner
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at Splunk
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
Google Tech Talk with Dr. Eric Brewer in Korea Apr.27.2015
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

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

  • 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. 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. 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. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013 #1 Lack of internal capacity #2 Difficult to replicate/provision environments quickly
  • 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. 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. 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. 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. 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. 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. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems| 2013 #1 Lack of internal capacity #2 Difficult to replicate/provision environments quickly
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Ravello Systems | 2013 Demo Time…
  • 25. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Questions? Ravello Systems | 2013 http://www.ravellosystems.com@ravellosystems
  • 26. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Thank You To Our Sponsors