Analyze This! CloudBees Jenkins Cluster Operations and Analytics

61
Analyze This! CloudBees Jenkins Cluster Operations and Analytics Ryan Campbell Cyrille Le Clerc

Transcript of Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Page 1: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Analyze This!CloudBees Jenkins Cluster Operations and Analytics

Ryan CampbellCyrille Le Clerc

Page 2: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Today’s Presenters

Cyrille Le ClercDirector, Product Management

[email protected]@cyrilleleclerc

Ryan CampbellEngineer

[email protected]@recampbell

Page 3: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Using WebEx

Questions?Submit via the Q&A window at any time during the presentation.

We will cover Q&A at the end of the presentation.

Session is being recorded.

Q&A Window

Page 4: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Agenda

● Problem statement● Jenkins Reference Architecture● CloudBees Analytics● Cluster Operations● Conclusion● Q&As

Page 5: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Problem Statement

Page 6: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Problem Statement

How to onboard more and more teams on a Jenkins Continuous Delivery Platform

How to scale Jenkins in an organization

Page 7: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

The top down “structured” and “lets grow vertically” approach

5 projects0 slaves

25 projects5 slaves

100 projects25 slaves

300 projects50 slaves

600 projects200 slaves

Page 8: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Vertical Scaling Issue

When is the next failure ?

One size fits all?Single point of failure

Page 9: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

The “organic” agile growth – “let each group do what they want to” approach

Horizontally … Virally

Page 10: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Horizontal Issues: I Would Like to…

master-a

master-b master-c

Share slaves between masters

Page 11: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Horizontal Issues: I Would Like to…

master-a

master-b master-c

Share security

Page 12: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Horizontal Issues: I Would Like to…

master-a

master-b master-c

Manage the Jenkins masters “globally”

plugin

core

upgrade / restart

backup

script

Page 13: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Horizontal Issues: I Would Like to…

master-a

master-b master-c

Monitor the Jenkins masters “globally”

Page 14: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Jenkins Operations Center by CloudBees

master-a

master-b master-c

Jenkins Operations Center

plugin

core

upgrade / restart

backup

script

Page 15: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Jenkins Reference Architecture

Page 16: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Reference Architecture

LB master-a

LB master-n

***

slaves

LB

Jenkins Operations Center

shared slaves

Role Based Access Control

Update Center

SSO

LB master-test

Update Center Jenkins TestEnvironment

Page 17: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

master-a

master-b master-c

Jenkins Operations Center

JOC features

plugin

core

upgrade / restart

backup

CloudBees Analytics

Cluster Operations

Page 18: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

CloudBees Analytics

Page 19: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

CloudBees Analytics

master-a

master-b master-c

Monitor the Jenkins masters “globally”

Page 20: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Drivers for Analytics

● Easily understand the performance and behavior of hundreds of Jenkins nodes

● Consistent interface allowing for easy comparisons over time and between nodes

● Key questions:○ What is the user experience?○ Why is Jenkins slow?○ How is Jenkins being used?○ How are resources being used? → capacity

Page 21: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

CloudBees Analytics

masterJenkins Operations Center

Data Collection

Scalable compute and storage backend

Rich visualization interface

Page 22: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Embedded Architecture

Jenkins Operations Center

Embedded Elasticsearch

Embedded Kibana

Page 23: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Horizontally Scaled Architecture

Jenkins Operations Center

Embedded Kibana

Multiple Remote Elasticsearch Instances

Page 24: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Analytics Demo

JOC Dashboard

Page 25: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Analytics Demo

Build Analytics

Page 26: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Analytics Demo

Performance Analytics

Page 27: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Analytics Demo

Dashboard Creator

Page 28: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations

Page 29: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations

master-a

master-b master-c

Manage the Jenkins masters “globally”

plugin

core

upgrade / restart

backup

script

Page 30: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations Agenda

● Update all plugins on all masters and restart● Deploy new plugin on masters● Cluster Operations Ref Card

Page 31: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Update Plugins on All Masters and Safely Restart

Page 32: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Demo time!

Page 33: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations

Standard Jenkins Style: New Item “Clustered Operations”

Page 34: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Ops > Master Operation

Standard Jenkins Style: Add Operation “Masters”

Page 35: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Master Operation > Select Targets

Select the Client Masters on which you perform the operation

Page 36: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Master Operation > Define Operations

Define the sequence of operations to apply on the Client Masters

Page 37: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Mastersvia a Custom Update Center

Page 38: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy New PluginUpdate Center master-test

Upload Plugin

Refresh Update Center Metadata

Install Plugin

Page 39: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Demo time!

Page 40: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Masters

Parameterized build: File Parameter

Page 41: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Masters

Target Update Center

Page 42: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Masters

Upload Plugin on Custom Update Center

Page 43: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Masters

Target Masters

Page 44: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Deploy Plugin on Masters

Page 45: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Quick Cluster Operations

Page 46: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Demo time!

Page 47: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Quick Cluster Operations

Page 48: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Quick Cluster Operations

Page 49: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations Ref Card

Page 50: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Master Operation > Ref Card

● Backup master● Disable plugin● Execute Groovy Script on Master● Install plugin● Prepare Master for shutdown● Refresh update center metadata

Page 51: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Master Operation > Ref Card

● Reindex for Analytics● Restart Now● Safe restart● Upgrade Jenkins● Upgrade all plugins

Page 52: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Update Center Operations > Ref Card

● Delete core● Delete plugin● Promote core● Pull Everything● Pull new versions● Refresh upstream sources

Page 53: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Update Center Operations > Ref Card

● Track latest core● Track latest plugin● Upload core● Upload plugin

Page 54: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Conclusion

Page 55: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

master-a

master-b master-c

Jenkins Operations Center

Jenkins Operations Center

plugin

core

upgrade / restart

backup

CloudBees Analytics

Cluster Operations

Page 56: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

CloudBees Analytics

master-a

master-b master-c

Monitor the Jenkins masters “globally”

Page 57: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Cluster Operations

master-a

master-b master-c

Manage the Jenkins masters “globally”

plugin

core

upgrade / restart

backup

script

Page 59: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Questions

Page 60: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Appendix

Page 61: Analyze This! CloudBees Jenkins Cluster Operations and Analytics

Webinar InvitationMore and more organizations are jumping on the Continuous Delivery bandwagon to remain competitive. As they do so, they use Jenkins to on-board teams and to orchestrate their continuous delivery pipelines.

Jenkins Operations Center by CloudBees is the tool that helps organizations run their CI infrastructure at scale.

In this webinar, you will learn about:

● Reference architecture to build resilient Jenkins that onboard teams quickly● Cluster Operations - helps to manage multiple Jenkins instances simultaneously. ● Want to install a new plugin on a 4 Jenkins masters ? We got that covered!● CloudBees Analytics - offers insight into build and performance analytics. ● Want to know the number of jobs failing across 4 masters - we've got that covered too!