Modeling Value Streams using DevOptics Free Plan

Hot off the press: you can now model your value stream and track your deployment frequency using the Free Plan for CloudBees DevOptics. We released this new functionality as part of the ramp-up to next week’s DevOps World | Jenkins World San Francisco. There are two main new aspects: an improved, and free, value stream modeler, and extending the availability of deployment frequency available to the Free plan.


With the stream modeler you can capture how software flows through your system (or you can design how you want it to flow) by creating and connecting Gates. Then, if your flow is based on jobs running on Jenkins or CloudBees Core CI/CD masters, you can connect these gates to the jobs using the DevOptics Plugin and leverage the computational aspects of CloudBees DevOptics.

The connected masters need to be configured to a DevOptics account, either in a Free plan or in a Premium plan. Both plans provide CD platform monitoring (Run Insights) – the Free plan only provides 7 days of statistics while Premium extends that to 90 days. The Free plan now also provides Deployment Frequency metric for all gates, albeit also only for 7 days. The Premium plan adds two more Job-based metrics: Change Failure Rate and Mean Time to Recovery as well as Mean Lead Time. Mean Lead Time is based on Value propagation in the form of commits and tickets through your Value Stream, which is a key feature of DevOptics Premium.

You can get more details about all this from the CloudBees DevOptics User Guide, and you can try it out from devoptics.cloudbees.com!


Using the Value Stream modeler is straight-forward. Setting up the plugin to enable Deployment Frequency is pretty easy too but below I spell out the steps, starting right after my earlier post: Upgrading to the latest DevOptics


After connecting the plugin go to the Settings creen in DevOptics This is how it looks if you have configured only have Run Insights section of the Plugin:

And this is how it looks after connecting also the Value Streams section:

Now create your value stream:

Here is a very simple one-gate value stream

If we leave the gate unconfigured, it will look as this (note the wrench icon):

But, since we want to track Deployment Frequencies, we will now edit and configure the gate against one of the jobs in a master where a plugin has been installed. This is the configuration popup:

Save and you will see that the wrench goes away:

At this point we are ready! We just need to run some jobs on the master and data will flow, so…


We go to our Jenkins and run some jobs…


Now if we go back to the DevOptics app and look at the Value Streams screen we will see something like this:

On the Run Insights side, the graphs will initially look as below – note that the grey bars are gone and there is some empty space for the most immediate time interval:

But, if we wait a bit for the data to be propagated, we will see:

which is exactly what we expected.

So, there you go! Enjoy!

Day 1 building a SaaS

Here is my list of things to do ASAP when building a SaaS product (like DevOptics). What is yours?

Deployment Environments

Get a DEV (inside the firewall), STAGE (outside the firewall) and PROD (outside) set up.

Continuous Deployment

Arrange for your software flow so it will go from Repo commit to PROD automatically.

  • Implement zero-down time deployments from day 1, using blue-green, or k8s cut-overs

Feature Flags

Add Feature Flags (like Rollout) on Day One.  Stay in the trunk. Don’t keep code out of PROD.

Front-End Infrastructure

Set your front-end infrastructure for speed and decouple from back-end

  • We like GraphQL; others work
  • Arrange for Mock APIs
  • Set lightweight Front/Back separation
  • We like Cypress 

Instrument your System for Ops

Instrument on Day One using something like DataDog APM.  Reuse existing SaaS Services, don’t build your own.

Operate in Self-Contained Teams

A team should be able to build the back-end and the front-end.  Minimize interactions between teams. Get things to PROD.  PM and UX must be part of your team.

Keep Value Flowing

Don’t hog Value / Code in Open PRs.  Push functionality out, even with a Feature Flag.  Get Feedback. 

Iterate on Processes

That’s the core of “Agile”; operate with Agility and iterate

Add Connection with Customer

Use a SaaS service from Day One. There are multiple options out there.

Track Usage

Instrument your SaaS so you can track usage, front-end and back-end. Use something like Segment, Looker, Interana.

Upgrade your DevOptics – July 2019 Edition

DevOps World | Jenkins World SF is around the corner, so time for an update post to add to the collection of posts on DevOptics … et al.

Back in September 2018 I posted instructions on how to install your Jenkins distribution from scratch, and then how to install the DevOptics Plugins.  Let’s assume you had done that, so, picking up from there…

The first step would be to install the latest version of Jenkins.   Since I already had one, I just accepted the request from within Jenkins and installed the new version.  That got me from 2.121.3 to

Next was to upgrade the DevOptics Plugin

 By now I was running a fairly old version, I jumped from 1.1349 to 1.1739

The upgrade went pretty smoothly, and I restarted.  Then I went to look at the Connectivity status of the DevOptics Plugin.  Here, the latest Plugin is trying something different: it is asking me if I want to enable the Value Stream functionality.  Here is the screenshot:

The Value Stream functionality depends on additional plugins.  I can continue as-is, without installing the extra dependencies, or I can install the recommended plugins.  I chose the latter, and then I reinstalled.

I knew that my DevOptics subscription had changed recently, so, partly as an exercise, I disconnected the plugin and then reconnected.  This is the popup we get on disconnect

And this is the message we get on reconnect:

Cool.  Now I am back to where I was, except that now the new dependencies have been installed and my DevOptics plugin is fully connected.

At this point we are cooking and the Plugin should be connected to the back-end. Stay tuned for the next post in this series.

Work at Home Setup

I have been meaning to capture my work setup for a bit, so here is a quick note on it:

Physical Setup

Standing desk from Fully: a Jarvis bamboo adjustable.  I have a 48”x30” tabletop as I didn’t have space for a wider desk at the time but I would get a 60”x30” next time.  Desk is adjustable with electric motor w/ 4 presets. Totally worth the price.

Monitor is an old Apple 27 inch Thunderbolt.  I have two but I am currently running with a single one, with a tray for my laptop.  When I was using two monitors I had the right in landscape and the left in portrait with my laptop closed on a Kradl vertical stand, but I found I spent too much time moving windows around the screens and I like the cleaner setup of the current arrangement.   The monitor arms can handle the weight of the 2 monitors (23.5lb each), they are Chief Kontour K1D.

Keyboard (MS Natural Ergonomics 4000) and Mouse (Logitech) wired.  Cheap and reliable.

Chair from Ikea (Vagsberg).  Height is adjustable but tilt is not.  The dimensions works for me and its a very cheap chair.  I upgraded the castors with non-marking polyurethane wheels upgraded.

Dedicated “Spare” room, shared with pets (1 dog, 2 cats).

Geography

US West Coast.  Team ranges 9 TZs; I’m at the West side of the range.  I work from home close to 100% of the time, plus trips for meetings (elsewhere in the US, Europe).

Connectivity

Sonic.net (local, running on ATT Uverse).  50Mb/5Mb. I wish I had Fiber but there is no fiber in our area and I like the service from Sonic.  NetGear Orbi tri-band (not really) “mesh” router.   WiFi is available throughout the house.

Social Setup

Kids are grown up and living on their own.  Most of my social interaction is with the team (video, Slack) and with neighborhood, which has plenty of dog walking folks and kids walking to/from school.

CloudBees DevOptics at DevOps World | Jenkins World 2018 (from CloudBees Blog)

This is an indirect link to the official post.

Last month I attended our annual DevOps World | Jenkins World 2018 in San Francisco. The event has gotten bigger every year, and – spoiler alert! – next year the conference will be at the San Francisco Moscone Center.

CloudBees DevOptics was an integral part of the event and this post will highlight new updates and features to the product. But first, I’ll give you a recap of what happened in San Francisco…

The rest of this HERE

It’s Friday Night – Do You Know What Your Code is Doing?

(this is a reprint from the post at Blogs.CloudBees.com from Sept 6th, 2017)

Marc Andreesen wrote back in 2011 that Software is Eating the World, and nowadays business execs everywhere, from GE to Ford to ABB, all are saying that their companies are really Software Companies.

SoftwareIsEatingTheWorld-2

Hold that thought…

Now look at a typical process for creating, testing, and releasing Software.  What you see is a multiplicity of individuals and groups collaborating to coordinate how ideas are converted into code that is tested, integrated, deployed, measured, and evolved, in faster and faster cycles.  And companies – all companies – are investing heavily to improve these processes to gain a competitive advantage, or just to remain competitive!

Jenkins

Next, peek at these Software Processes and you see automation and improved information flow and coordination as the key enablers.  And our friend Jenkins is one of a handful of tools that are Everywhere (in all companies) and Everywhere (in all places inside a company).

My employer, CloudBees, is the home for Enterprise Jenkins.  CloudBees Jenkins Enterprise and CloudBees Jenkins Team address running Jenkins in your Enterprise…

CB-Jenkins-leftCB-Jenkins-right

But!

What is missing is how to connect together all these automation engines, and other agents in these Software Processes, so you can gain insight on and improve upon your Software Process…

So, today, CloudBees is announcing CloudBees DevOptics!

DevOptics Logo

CloudBees DevOptics connects all the islands of software development and provides you with a global view of your software process.   We, of course, connect to all your CloudBees Jenkins instances, but we will also connect to Open Source Jenkins instances; and more.

DO-Placeholder

The screenshot above shows a very simple Software Process involving 3 Jenkins instances, used to create two Components (Plugins A and B) and then a combined Artifact that integrates those two components.

DevOptics collects the information from these 3 instances – they may be anywhere in your organization – and makes sense of the changes that are flowing through them.   The screenshot shows the tickets that have gone through the system – in this case filtered to the last 14 days, and shows where those changes are within these 3 “Gates”.  Some changes are still in the Components, others have gone through the integration – or perhaps are being tested right now.

As you can see, DevOptics can show you details about these changes.  We connect back to the defect tracking system – JIRA in this case – to get the current data on those tickets.  We also provide, but is not shown above, a connection back to the code repository (GitHub in this case), and, of course, to the automation engine itself, the Jenkins job.

In future blogs I will talk more about DevOptics.  In the meantime, you can check out today’s keynote announcement (video) and also the booth demo we are doing at JenkinsWorld (video).

VIDEO Screenshot HERE

Today is our announcement; we will launch later in the year.  Go and contact our friendly CloudBees Sales Team to engage with us. DevOptics is a SaaS product, so we will iterate quickly to add features and to accommodate feedback and new customer needs.

And remember, all Companies are Software Companies!  Regardless of the industry your company is in, you can benefit from CloudBees DevOptics! 🙂

Yes, we are taking over the world.  Go Team!

 

Jenkins World 2017

Its been a long run since the first Jenkins User Conference, back in October 2011, at the Marines’ Memorial Hotel and ClubJUC2011

The 2017 edition, now called Jenkins World, is at the end of this month, now at the much bigger SF Marriott Marquis Hotel, at 780 Mission Street.

sfodt_main01_r

Ping me if you are around, attending, or just want to chat.  At this point I’m planning to be there for the actual conference, on Wed and Thu; whether I’ll be there Mon or Tue, workshop days, will depend on the usual Gods of Software 🙂

See you around!