- [Instructor] Now that we've covered how
Cloud-native DevOps and ITIL-driven Enterprise Shops differ,
let's have a look at how we can adapt DevOps values,
principals, methods, practices, and tools,
to meet Enterprise IT challenges
and Enterprise IT challenges for DevOps.
DevOps culture and practices are rooted
in the possibilities presented
to Cloud-native organizations.
Enterprise IT shops are not Cloud-native
and while they typically have a hybrid environment
with a motion towards the Cloud,
they have different challenges and starting points
which must be honored for DevOps
to be successful in an Enterprise setting.
These challenges include
Enterprise-level change and release gates,
a hybrid environment that includes legacy,
non-automated environments and regulated environments,
where compliance is not optional,
disparate, siloed teams with differing objectives,
mindsets, visibility, and tools
requiring hand-offs and cross-team orchestration,
and massive scale.
So let's get started examining
how to adapt DevOps for Enterprise IT challenges.
We'll start with the intersection of DevOps values
and Enterprise-level change control and release gates.
And focus on the A in CAMS, automation.
One thing you should know about this intersection
is that the effort needed for these gates
is inversely proportional to the stability
and consistency of the environment you manage.
So here, apply the DevOps value of automation
to reduce variation.
Make it your goal to relentlessly root out variation,
reducing or eliminating the need for external inspection,
change control, and release gates.
In the Enterprise Legacy environment,
such variations may not have been rooted out.
The idea is to root them out,
where it makes business sense to do so.
Otherwise, until such systems are retired,
the complexity, along with a higher compliance requirement,
makes change control and release gates necessary and useful.
They can, however, be lighter weight,
as in visible Ops-style change control.
At the intersection of DevOps principals
and Enterprise change and release gates,
the key thing you should know
is that reducing change and release effort and cycle time
starts with engendering a culture
of seeking to increase flow across the system,
the product or service and bill pipeline, as a whole.
So here we apply
the first DevOps principal, systems thinking.
Some things you can do to get that going include,
working to ship your organizations posture
towards change and release to one of trust, but verify.
Starting small by automating your audit trail.
Automation puts up guard rails
that keeps you and others off the electric fence.
Then building feedback loops
around change and release effort and cycle time
into your tooling and working to reduce it.
Lastly, correlate failed changes to known defects
being passed downstream and remediate.
At the intersection of DevOps methods
and Enterprise change and release gates
the effort needed for, and the success of change
and release gates is a function of the skill sets
of the people facilitating these processes
and the number and degree of fragile artifacts
in the environment.
But what you can do here, is to make sure people
with the right skills are responsible
for change and release processes,
and implement visible Ops-style change control.
Which is a lightweight approach to change control
that systematically reduces the number and degree
of fragile artifacts in the environment.
Also, while you're not constrained by platform limitations,
or regulatory or other constraints,
pick a place to implement continuous integration,
deployment, and then delivery,
to reduce the level of effort required
for change and release gates.
At the intersection of DevOps practices
and Enterprise-level change control and release gates,
focus on the DevOps practices of dependency injection
and blue/green deployment.
Apply dependency injection to reduce
the number of dependencies.
Reducing the need for external inspection
and also, where you can, automate your bill pipeline.
Building compliance with change and release policies into it
then institute blue/green deployment
to facilitate low transaction costs
for release and for rollback.
A tool chain made up of tools
that can be interconnected via APIs
can certainly help reduce the overhead involved
in Enterprise-level change and release gates,
because it enables ChatOps.
ChatOps brings your tools into your conversations,
using a chat bot modified to work
with key plugins and scripts
to automate tasks and collaborate,
working better, cheaper, and faster.
ChatOps simultaneously enables team orchestration
and reduces the need for it over time.
So it's ideally suited for meeting Enterprise challenges.
ChatOps shifts the center of gravity
for change and release from the ticketing system
to real-time collaboration.
So one thing to do is to build awareness about ChatOps
so people understand why they should care about it
and to start teaching people the skills they need for it
before they need them.
And finally, find a showcase team
and setting to try ChatOps.