You are on page 1of 11

Whitepaper

Getting from CI to CD:


Four Critical Strategies
Getting from CI to CD: 4 Critical Strategies

Introduction:
DevOps and engineering teams often find themselves caught between
CI and CD.
They’ve solved Continuous Integration and have a rock-solid process
for writing code, merging branches, and building artifacts.
But they’re not nearly as confident with Continuous Delivery – which
is the ability to quickly, repeatably, and securely deliver those artifacts
into a production environment. That includes being able to leverage
complex deployment strategies (such as rolling, canary, and blue/
green), verifying the success of deployments, and rolling back failures.

What strategies should DevOps teams use to cross the


chasm from CI to CD?
Getting from CI to CD: 4 Critical Strategies

1| Love your CI tools – but don’t try to make them do


deployments.
Yes, you still need Jenkins and all your scripts. But if you rely on
them for the entire CD continuum, you’ll end up creating an overly
complex process using tools that aren’t designed for actually de-
ploying code into production. Don’t make the mistake of confusing
scripts for automation.
For example, it’s one thing to create a simple pipeline using Jenkins.
It’s entire something else to have multiple deployment strategies
running at scale (canary here, rolling there), and have all the approv-
al and security checkpoints baked in. Try to do this the old-fashioned
way and scale/complexity will quickly overwhelm your efforts.

How Harness Helps:


With Harness, you’re not using scripts to build a CD platform from
scratch. You can use templatized workflows to create simple or
complex pipelines across development, QA, and production.

The good news is that whatever you’ve done to date with Jenkins
(and shell scripts) can be reused and migrated to Harness in minutes
for Continuous Delivery.
Getting from CI to CD: 4 Critical Strategies

Harness treats Jenkins as a first-class citizen, and has native support


in addition to other CI platforms such as Bamboo or Travis, so you
can manage and reference all your existing Jenkins masters. But you
get the speed and scalability of re-usable templates – in addition to
the other advantages of Harness.
For example, we also deliver a dashboard that shows all deploy-
ments across every environment including what was deployed
and when, and whether it was successful.

This “single pane of glass” view into the environment enables the
clearest possible picture of deployments across the organization.
But we haven’t left out verifications or rollbacks. We do those too.
Getting from CI to CD: 4 Critical Strategies

2| Determine your verification strategy.


How do you know that your production deployments were
successful? Don’t rely on gut feel, or by manually checking logs
and monitoring tools – or worse, just hoping the app stays up and
no one complains. And don’t rely on old-school metrics such as the
availability of servers, OS, application run-time, ports, or third-party
APIs. Similarly, resource utilization metrics such as spiking CPUs are
not helpful.
Instead, measure the business impact – such as time-series met-
rics from your application tools that help determine the quality and
impact of each new deployment on the business. And by the way,
Jenkins isn’t going to figure any of this out for you...not without help.

How Harness Helps:


Imagine if your deployment solution could magically link to your
monitoring tools in production and tell you the exact business impact
of every deployment. That’s exactly what Harness does.
For example, below is a screenshot of Harness’ Continuous Verifica-
tion capability analyzing AppDynamics data. We use unsupervised
machine learning to analyze the millions of time-series metrics that
monitoring tools capture and manage, but we do so in the context
of every production deployment. Our deployment workflows deploy
your new services/apps and then connect to your monitoring tools
to analyze what is happening from a performance, quality, and
business perspective.
Getting from CI to CD: 4 Critical Strategies

In short, we can tell you if your deployment was successful – and we


can do it quickly.
Getting from CI to CD: 4 Critical Strategies

3| Determine your rollback strategy.


How do you get failed deployments back? Do you handle rollbacks
by having a herd of engineers hunch over a viewscreen? Or can you
automate the process by comparing the baseline performance of the
application versus the previous application? And how long does it
take?
In many cases there aren’t easy answers to these questions, but at
the very minimum you need to figure out the time required to do
rollbacks – how often they occur – and how many resources will be
needed from the DevOps team for each one.

How Harness Helps:


Harness can automate the entire rollback process, typically bringing
the time it takes from 2 hours to 15 minutes or less.
It does this through the use of unsupervised machine learning, which
it uses to analyze, compare, and flag anomalies/regressions from
the thousands of log entries and time-series metrics that both tools
capture from the application.
Getting from CI to CD: 4 Critical Strategies

In the case of the application pictured above, you can see that the
application performance was verified successfully but the application
quality verification failed. This is normally a sign that Harness
observed something unique and unexpected – typically a new event,
error, or exception that has been introduced to the service/app.
Below is a screenshot that confirms why the application’s quality
verification step failed. By analyzing the application log data in
Sumo Logic, Harness’s machine learning algorithms are able to
detect four new quality regressions. Specifically, Harness detects
4 new exceptions that have never been observed before in any
previous deployments.
Getting from CI to CD: 4 Critical Strategies

The grey dots you see represent “baseline events” or “clusters” –


these are events that Harness has learned over time and are
classified as “normal” because they are observed frequently during
deployments. The red dots represent unknown events or events
that have an unexpected frequency. These are typically the things
that go wrong during a production deployment.
Within seconds of detecting these regressions, Harness performed
a “Smart Rollback,” taking the service/application back to the last
working version (artifact & run-time configuration). A Smart Rollback
can be either fully automated as part of the workflow or controlled
via manual intervention (a human).
Getting from CI to CD: 4 Critical Strategies

4| Big Picture:
Give your developers the ability to do self-service deployments. The
dream of a DevOps team is to prevent a team of release engineers
from being the “gate” – and to give the development team the
power to push out their own releases.
That may sound crazy. But if you have the ability to verify the
success of deployments, as well as automatically roll back failures,
the democratization of deployments becomes more than just a
Utopian vision. With automatic verifications, automated rollbacks,
and the ability for management to have a clear view into every
pipeline, every deployment, and all associated metrics, giving
complete deploy and release control to the development team
doesn’t seem far-fetched at all.

Harness Can Help


Multiple customers selected Harness for the sole purpose of
giving “self-service” capability to their development teams, freeing
up DevOps engineers to focus on more high level and strategic
activities.
At Build.com, for example, it used to take 7 DevOps engineers to
oversee each production release; now it only takes one more junior
level engineer.
At Vuclip, their Sr. Director of Engineering said “With Harness, we’ve
been able to give the control of the deployment and the entire
infrastructure to the release and individual development teams,
and we’ve completely removed any kind of centralized process
of deployment.”
As Harness comes with full Role-Based Access, it becomes possible
to give developers the power to initiate and oversee their own
deployments – which dramatically increases productivity and
efficiency across the organization.
Getting from CI to CD: 4 Critical Strategies

Conclusion
Conquering CI is a tremendous accomplishment. But once you’ve
done so, making the transition to CD can seem like trying to cross
a yawning chasm.
The trick is to ensure that you’re not simply relying on CI tools to
perform CD. Make sure you have the tools, processes, and team
prepared to do continuous deployments at scale. Don’t mistake
scripts for true automation – and know how you want to verify the
success of production deployments as well as roll back failures.
Be sure to keep the Big Picture in view: to be able to give the de-
velopment team the power to oversee their own releases, removing
bottlenecks and enabling deployments as quickly as the business
requires.
Most importantly, don’t wait too long to make the leap. Getting
to CD isn’t just a “nice to have”; it’s necessary for the success of all
high-performing engineering organizations.

About Harness
Harness is the industry’s first Continuous Delivery-as-Service platform
designed for simple, secure, and enterprise-grade Continuous
Delivery. Harness minimizes manual work while supporting CD re-
quirements such as comprehensive management oversight, auto-
mated deployment verification, and compliance with security/audit-
ing policies. Unlike CI and config management tools that are
jury-rigged for application delivery, Harness uses machine learning to
automate the management and operation of the entire CD pipeline.
For more information, visit Harness.io

You might also like