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.

DevOptics Update – Dec 2018

The DevOptics team is hitting speed and we are cranking new features.  The CloudBees blog and the DevOptics ChangeLog are pretty good at tracking these changes but here is super-quick pass on some of the most recent changes.

Help now with ChangeLog and Support

We added links in the help icon to the DevOptics ChangeLog and, if the account is Standard or Starter-Kit to Support

Improved Modeling of Value Streams

The graphical value stream editor has been improved to help model Value Streams earlier in the development process.  The editor now allows the creation of new gates, new phases, connecting and deleting of gates and transitions, and, separate the mapping of these gates to jobs that are being instrumented.  By separating modeling from instrumentation, DevOptics now can be used easily to describe, reason about and improve the software delivery. 

Value Streams for Micro-Services

DevOptics now supports Value Streams that have multiple ending gates.  This corresponds to a software situation where there are multiple software pipelines, delivering multiple artifacts.  In the case of us, the DevOptics team, we have one software pipeline for each server-side (micro) services, and for our plugin.

Filters per Master in CD Platform Analytics

The CD Platform Analytics now supports filtering per master

Export Metrics to CSV

Metrics can be exports to CSV format for further processing or presentation

Group Tickets by Run

Previously tickets in a gate – shown in gate details – where sorted “chronologically”.  The precise date was that of the creation of the commit.  We now show the tickets grouped by the run that made them change gates. 

The new display is much more useful.  For example, in a deployment gate, the grouping shows what features were promoted in the last run, and that is what I, as an engineering manager, can use to track that activity

Produces / Consumes for Value Streams

There is a new mechanism for tracking the production and consumption in Gates.  We support scripted pipelines, withMaven steps, and Freestyle jobs.

Here are two examples from the section on pipeline steps of the documentation 

For more details check out the documentation:

And More…

I’m using the DevOptics tag for all the posts on that topic, so you can find them all HERE.

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.

Join us! Looking for a RSE/OPS/Cloud Engineer for DevOptics

The DevOptics team has an opening for an OPS person to contribute to our architectural, operational and implementation activity as a modern SaaS.  We are a distributed team operating across multiple time-zones.  We are looking for somebody that will work in Eastern / Central US Time-Zone.

We interact continuously online, synchronously and asynchronously, we complement this with F2F meetings.  Below is a photo from our last F2F, in Malahide, IRL.

IMG_3812
Our last F2F in Malahide

Job details HERE.  Looking forward to meet you!

PS.  We collectively speak (at least) 6 languages, have 8 nationalities, and live in 7 countries.  We value diversity although, as you can see from the photo, our efforts have not been fully successful.  Apply!

CloudBees DevOptics New Features (mid-Oct ’18)

This is an indirect link to the official post.

Our team has been delivering improvements to CloudBees DevOptics since DevOps World | Jenkins World 2018 in San Francisco.  Now, as we we head to DevOps World | Jenkins World in Nice, France, I want to point out how we use the continuous delivery model ourselves to improve and update our own products.

ModalWarning

The rest of the post is HERE.

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

Switching the Account for a Master

Connecting a Master – CloudBees or Jenkins – from DevOptics is very easy.  So it is to Disconnect and Reconnect with a new account.

A quick visual pass.  First disconnect your master.  You can do this here:

AboutToDisconnect

Click on that Disconnect… then confirm

DoYouWantToReset

And now your master is no longer connected

NowReset

Now you can reconnect again, with your new organization

AndReconnect

There, that’s it.

Enjoy!

DevOps World | Jenkins World 2018

And it’s a wrap!

This year’s DevOps World | Jenkins World 2018 wrapped up yesterday.  It was a very good show.  Our team had released the Free version of DevOptics earlier, but we spent all last week polishing… and some of this week too – the beauty of a SaaS product.

The event is at the San Francisco Marriott Marquis, in the big rooms of the Yerba Buena level.  The event is larger every year:

IMG_4166

The setup for the keynotes was very nice.  These media guys do an outstanding job.  Last year they had 2 Christie Boxer 4k30 (that is 4K pixels, 30K lumens, 2,000:1 contrast!), projectors combined to provide a (very large) screen resolution of 3640×1050.  This year they had 4 of these beasts: two were used for the two side screens and two more overlapped to deliver a very cute round center screen.  The 2 overlapping projectors are at the edges of the room and there is no shadow behind the speaker

Here is Christina in front of the rotating globe.  Very sharp looking.

IMG_4188

Kohsuke gave his usual Community Keynote, and then Sacha and Christina presented.  DevOptics got a piece of the keynote:

IMG_4183.jpg

The main announcement was CloudBees suite – we are at the top, over CloudBees CodeShip and CloudBees Core (based on Jenkins):

IMG_4204

The trade show had nice attendance.  This year I was not running the DevOptics booth, at the back of the picture – which suited me well, I was busy keeping an eye on the actual system.

IMG_4223

The product itself behaved very nicely.  No service interruptions (yeah!) and only a few new bugs.  We actually fixed several during the week — SaaS FTW.   I’ll write a follow-up post on that part of the show experience this weekend.

And next year the show goes to a bigger stage – the Moscone Center!