speed-developer

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

GITOPS

ACCELERATES
SELF-SERVICE FOR
OPERATORS AND
DEVELOPERS
2
GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS

As organizations strive to deploy software faster


Executive summary

and with greater quality, they realize that crafting an


outstanding developer experience is key to enabling
this goal. Developers function at their best when there
is autonomy, and they can move quickly from concept to
code to production. The platform approach has become
the preferred way to create and manage development
environments and deliver a modern developer experience.

Key terms used


Here are the key terms used across this paper and their definitions:

Platform: A framework used to build Self-service: The ability of developers to


and deliver applications or services in help themselves to the platform resources
a repeatable, scalable, and controlled they need to build applications.
manner.

Operators: A Platform Operator, or the GitOps: A Git-centric approach to building


Platform Team, is responsible for building and managing platforms.
and managing the platform. Developers
are their internal customers, and their goal
is to enhance the developer experience.

weave.works
▼ 3

GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS


Four key metrics for success

The DORA (DevOps Research and Assessments) team has identified the top four DevOps
metrics. They noticed that the most highly evolved DevOps teams perform far better at
these metrics than their less evolved counterparts.

ELITE PERFORMERS Source: The State of DevOps report 2020


Comparing the elite group against the low
performers, we find that elite performers have…

208
TIMES MORE
106
TIMES FASTER
frequent code deployments lead time from
commit to deploy

2,604
TIMES FASTER TIMES LOWER
7
time to recover from incidents change failure rate
(changes are 1/7 as likely to fail)

Throughput Stability

Translating this into metrics, we get:

1 Deployment frequency 3 Mean time to recovery

2 Lead time for changes 4 Change failure rate

Every DevOps team dreams of achieving this kind of performance. However, most are
unsure about the way to get there. Going by the State of the DevOps report, the platform
model is key to achieving elite performance numbers.

weave.works
4 ▼
GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS

The 2020 State of DevOps report

The 2020 State of DevOps reportThe 2020 State of DevOps report was recently released
by Puppet and CircleCI. It has key findings and insights into the functioning of a wide range of
DevOps teams. This latest report highlights the importance of a ‘platform model’ when
handling infrastructure.

Does your organization How many internal platforms What percentage of your developers
use internal platforms? does your organization use? use internal platforms?

30% 35%
27% 31%
25% 30%

25%
No 20%
21% 21%
17% 20%
37% 16% 20%
Yes 15%
63% 11% 15%
10%
7% 10%
6% 6% 7%
5% 4% 5%
3% 3%

0% 0%
1 2 3 4 5 6 7 8 9 10 1-10% 11-25% 26-50% 51-75% 76-100%

Source: The State of DevOps report 2020

At 63% adoption rate, the platform model has found a place in a majority of organizations
surveyed. The top benefit of adopting the platform model, according to the report, is the ability
to enable self-service capabilities for application development teams. This would enable them to
quickly create and provision the resources their code requires without having to have an
Ops person do it for them.

For the platform team, they can focus on continuously deploying as well as improving
the platform independent of the application team.

weave.works
5

GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS


The platform model

The process of provisioning developer resources starts when a developer raises a ticket requesting
certain resources. The Ops team receives the ticket and gauges the requirements. They may ask
for stakeholders to sign off. Once approved, the Ops team provisions the resources. All this typically
takes multiple days. The process is not complete though. The developer may come back with
customization requests. Similar requests keep coming from other developers, and the Ops team is
stretched too thin to meet all these requests.

A great example of this work has been showcased by Axel Springer;


the team recently adopted GitOps in combination with GitHub Actions as
a way to spin up fully functional test environments within minutes

Learn more.

The alternative to this is to use a platform approach. Here, the platform team creates the platform
that would be used to provision developer resources. They set up configuration templates for
developers to create the resources they need on their own. These templates are in the form
of Git repositories, and are managed using the GitOps model. They also put in place limits and
restrictions, and privileges for how a developer can customize the templates. If they need further
customization, they reach out to the platform team. This approach takes some initial setup, but once
set up, developers can provision the resources they need in a matter of minutes.

weave.works
6 ▼
GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS

Let’s look at the key differences between the two approaches

GitOps-powered platform Non-platform Ops

Takes minutes to spin up resources Takes days

Doesn’t require approvals Requires Ops & stakeholder approvals

Reduces platform team’s workload Increases Ops team’s workload

Can be applied across dev teams Every dev team is handled as a silo

Empowers developers Frustrates developers

Leverages automation Requires manual labor

Security is built-in & Security is manually configured


scalable repeatedly

Ready made audit trail for compliance Compliance is a separate process

MTTR as low as minutes MTTR as high as days

Improves deployment velocity Slows down deployments

weave.works
7

GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS


Highly evolved DevOps teams adopt the platform model

The 2020 State of DevOps Report found that the most highly evolved DevOps teams showed a
higher likelihood of using a platform approach.

% High use of internal platforms


Source: The State of DevOps report 2020
50%
48%
40%
For many low and mid-level DevOps
teams, the platform model may be an
30%
aspiration. However, by leveraging
25%
20% GitOps any DevOps team can make
the platform model a reality in their
10% organization.
8%
0%
Low Mid-level High
DevOps evolution

GitOps - The way to build self-service platforms

DevOps teams adopt many interfaces in their attempts to deliver better quality software faster. The
top interfaces are CI/CD tools, a ticketing system, GitOps, and raw APIs. There is a clear correlation
between how DevOps-mature an organization is, and their adoption of these interfaces.

Low DevOps Mid-level Devops High DevOps


evolution evolution evolution Source: The State of DevOps report 2020

58%
CI/CD 70%
57% When it comes to creating and
Ticketing system
42% 52%
58% managing a platform, GitOps is
Command line interface (CLI) 28% 42% 53% particularly well-suited for the task.
GitOps 12% 29% 41% GitOps enables organizations to
Raw APIs 7% 32% 38% adopt a platform model along with
a self-service developer experience
ChatOps 12% 27% 36%
Off-the-shelf enterprise 35% and automation for operators.
self-service portal
34%
33%
2% 7%
Other 1%
0% 10% 20% 30% 40% 50% 60% 70%
% of self-service interfaces

weave.works
8
GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS

An important part of the GitOps approach is declaring the platform infrastructure and automating it
using Git repositories. The platform is built, versioned, deployed, and managed using configuration
in Git. Any changes are made to the repositories, and are automatically ‘pulled’ into production. Any
configuration drift that occurs is automatically highlighted and corrected to the original desired state
as described in the repository.

Weave GitOps Enterprise serves as the catalyst

Weave GitOps Enterprise provides a flexible GitOps framework and policy management to quickly
and securely configure identical Kubernetes platforms on premise and in any cloud. GitOps
in our Weave Enterprise tier also enables platform teams to automate the configuration and
management of Kubernetes clusters. Operators create cluster configurations once and keep
them as models versioned in Git. A model consists of a cluster definition, a set of components and
team workspaces. Configuration models can then be checked out of Git and used as templates
to replicate Kubernetes platforms wherever it is needed: from development all the way through
to production and on multiple backends across clouds. This frees up time for the platform team to
focus on improving the platform continuously, and delivers self-service resources for application
teams.

Weave GitOps Workspaces enables multi-tenancy so operators can scale their GitOps workflows
across numerous development teams using namespaces on the same cluster aligned with various
engineering teams. This approach significantly simplifies the management and portability of
applications by allowing engineers to collaborate effectively across teams, clusters and repositories.

According to the report, the platform team needs to see application teams as internal customers.
Enabling self-service capabilities for application teams is vital to achieving this goal. Mettle, a
London-based financial services company provides its application teams with self-service using the
GitOps model. In doing so, they were able to achieve a 50% gain in production speed, make 75%
more deployments, and have their developers be 75% less focused on the platform.

“Leveraging GitOps has allowed us to create a self-service platform for engineers


so they can concentrate on delivering business value through innovation, without
the full need for Platform Team assistance. The engineers focus on building
container images and managing the testing of their microservices and Weave
Flux handles the deployments.” Mettle, a UK financial tech company, set up a self-
service platform for their engineering team using Weave Flux and the benefits of
leveraging GitOps to decrease time to production whilst maintaining security
and compliance.

Read case study

weave.works
9

GITOPS ACCELERATES SELF-SERVICE FOR OPERATORS AND DEVELOPERS


The platform needs to see the platform itself as a product, not a project. This means having
dedicated long term resources for platform management. Using the GitOps model, platform teams
can take an iterative, continuous approach to platform management.
GitOps greatly improves governance and auditing capabilities of platform teams. As every change
to the platform is versioned, it becomes second nature for teams to perform quick and effective
diagnosis on day-to-day issues.

Key takeaways:

1 The four key metrics every DevOps team should track are deployment frequency,
lead time for changes, mean time to recovery, change failure rate.

2 The 2020 State of DevOps report highlights the platform approach as the
preferred way for high performing DevOps teams to provision developer resources
and craft an outstanding developer experience.

3 GitOps enables organizations to adopt the platform model and facilitate a self-
service developer experience for developers, and end-to-end automation for
operators. Further, GitOps allows for compliance to be built-in by default.

4 Weave GitOps Enterprise provides a flexible GitOps framework and policy


management to quickly and securely configure identical Kubernetes platforms on
premise and in any cloud.

At Weaveworks we give developers and operations teams the tools, skills and knowledge they
need to successfully develop and operate cloud native applications with GitOps. We provide
training, strategy and recommendations on your current environment for streamlining your
Kubernetes environments for both developers and operators.

Get in touch to learn more.

[email protected]
weave.works Get in touch to learn more weave.works

weave.works

You might also like