26
DevOps Strategy Five Pillars To Adopt For a Successful DevOps Strategy mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | 612.823.4000

DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 2: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

01. Automation

02. Cloud - Native

03. Culture

04. Security

05. Observability

Table of Contents

03

07

11

15

19

Page 3: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

In a constantly evolving industry like software, various buzzwords and trends have a tendency

to dominate the conversation for awhile before quietly fading away to make room for the next

big thing. That’s not always the case, though. Every so often, something big comes along that

not only dominates the conversation, but changes the entire industry as we know it.

Today, that “something big” is DevOps.

While technically not a new concept, DevOps has recently gained a much louder voice in the

conversation around software development and you’ve likely heard the term used often amongst

your teams. But, what is DevOps?

Intro

1

Page 4: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Intro

At its core, DevOps is a set of practices that automate software development processes in order

to build, test, release, and manage workloads faster and more reliably. Historically, development

and operations teams have worked separately in their own silos to build and run a software

project. By combining the two into one cohesive team, things generally flow smoother and

releases occur more frequently.

Additionally, it enables more people and organizations to utilize globally distributed teams.

DevOps implementation varies depending on your specific company’s needs. At MentorMate,

we break DevOps into five main areas: Automation, Cloud-Native, Culture, Security, and

Observability.

2

Page 5: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Automation01.

3

Page 6: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Environment immutability is rapidly growing. The

key to making this possible is being able to automate

everything. Cloud account creation and protection, code

deployment, infrastructure spin up and down, data

anonymization and more need automation to enable

multiple microservice deployments a day.

Automation

What Is Automation?

01.

4

Page 7: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

By deploying change frequently, validated learning is

drastically increased. This leads to a better understanding

of what is and isn’t working. It also allows teams to fail

fast without breaking others and quickly improves the

velocity of your project.

Automation

Why Do You Want It?

01.

5

Page 8: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

AWS Cloud Formation or Terraform Scripts — These are both great first steps towards automation.

They encourage automating the creation of cloud assets (containers, networks, storage, security, etc)

and getting continuous feedback incorporated into building software every day.

Continuous Integration/Continuous Delivery — CI/CD empowers teams to become autonomous by

ensuring they are able to run what they build. No waiting in line. No help desk service level agreement

discussion. No tickets. If you’ve built and tested it, you can put it into production and continue refining it.

Don’t be scared, be confident.

Shift-Left Security — Shift-Left refers to the practice of incorporating security throughout every

aspect of your software development life cycle. If you want to protect your product, incorporate security

from the very beginning of product development to increase your protection against today’s threats.

Automation

Automation Considerations

01.

6

Page 9: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Cloud-Native02.

7

Page 10: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Cloud-native allows organizations to globally distribute

their products to ensure customer experience remains

consistent regardless of the user’s physical location.

Cloud-native also allows technology to take advantage

of the very latest consistency and durability patterns so

that users’ data is always where they need it when they

need it, and nothing more.

Cloud-Native

What Is Cloud-Native?

02.

8

Page 11: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

By creating cloud-native functionality, organizations

are better able to match demand with opportunity.

This ensures investment is applied when it’s needed

and capital is saved when appropriate. Common cloud

platforms include AWS, Azure, and Google Cloud. It’s

best to choose the appropriate platform based on the

scalability needs of the project.

Cloud-Native

Why Do You Want It?

02.

9

Page 12: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Free Redundancy/Disaster Recovery — When all of your data is stored and backed up on the cloud,

you have hundreds of data centers available throughout the world should you need to initiate a disaster

recovery (DR) plan; if you choose to have a plan that is. Those data centers offer so much flexibility

and reliability that an increasing number of businesses are foregoing traditional DR plans. Instead,

they’re favoring active/active replication where real-time copies of data are created and stored offsite.

Additionally, you can find single points of failure and easily reduce them and eliminate redundancy.

Nearly Limitless Computing Power — Cloud-native offers nearly limitless on-demand computing

power, along with modern data and application services to your customers. This allows new ideas to

come to market faster and businesses to respond to customer demands more quickly.

Polyglot Choices — Cloud-native organizations are polyglot meaning they utilize a variety of

languages and frameworks; Configured in a way that suits their needs knowing they’ll be able to quickly

adjust and change course should something new catch their eye.

Cloud-Native

Cloud-Native Considerations

02.

10

Page 13: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Culture03.

11

Page 14: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

In the very early days of Amazon, Founder Jeff Bezos made

the declaration that no matter how big a company gets,

individual teams should be no larger than what two pizzas

can feed. That sentiment remains true today, especially in

the development world. Autonomy is the key to successful

software teams and the best way to achieve it is through

small, close-knit teams that own what they build and

constantly keep the lines of communication open.

Culture

What Is Culture?

03.

12

Page 15: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

By owning what they build, teams are empowered to make

micro-level changes in response to incoming telemetry.

This reduces the fear of change and ensures you are

able to operate as quickly as the market demands. By

empowering teams to solve problems as they come up,

you’re saving valuable time in the development cycle.

Culture

Why Do You Want It?

03.

13

Page 16: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Embrace Smart Failure — These DevOps pillars allow you to make small changes more frequently.

This provides teams with validated learning and many times what they learn is that their idea didn’t

work. By leaning into this, you’re shortening the time it takes to get it right.

Focus On Flow — Bottlenecks create problems, workarounds, vulnerabilities, and personal frustration.

By knowing where your bottlenecks are and rallying to remove them, you create an environment that is

able to focus on strong business outcomes.

Culture

Culture Considerations

03.

14

Page 17: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Security04.

15

Page 18: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

The technology world loves to share its new innovations.

By doing this, all parties (good and bad) benefit from

learning how to build software quicker. This means

organizations must evolve their security practices and

embed automatic customer protection everywhere.

Security

What Is Security?

04.

16

Page 19: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Getting into the practice of proactively scanning all assets

and performing anomaly detection only takes minutes —

or, in some cases, seconds — and really goes a long way

towards keeping your software secure. Failing to do this

usually results in known vulnerabilities finding their way

into your platform.

Security

Why Do You Want It?

04.

17

Page 20: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Awareness Over Governance — Teach everyone in your organization how to be more aware of best

practices when it comes to information protection. By making security a core competency versus

something you ramp up and achieve at periodic intervals, you’ll increase your chances for successfully

securing your systems.

Don’t Repeat Yourself — This is a great principle until you reuse something that is a vulnerability.

Providing your organization — your developers in particular — the ability to recognize when they’re

reusing something that’s vulnerable increases your ability to continuously protect your data.

Planning For Attacks — Just as planning for elastic architecture is easiest in the beginning stages of

a project, the same is true when planning for attacks. Include security requirements during all phases

of development and investigate threat models, penetration tests, and chaos experiments to make your

products better and less vulnerable.

Security

Security Considerations

04.

18

Page 21: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Observability05.

19

Page 22: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Your users don’t care if your system is up. They care more

that it’s up and running properly for them. That’s where

observability comes in. It gives the ability to monitor what

is and — more importantly — what isn’t working with your

software.

Observability

What Is Observability?

04.

20

Page 23: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

The question is not “if” your software will fail, it is when

it will fail. When it does, your success will be based on

how quickly you address the failure and fix the issue.

Without any sort of observability, you’re more likely to

inconvenience your users for longer because your site or

app is down and you didn’t notice.

Observability

Why Do You Want It?

04.

21

Page 24: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

Four Pillars of Observability — Every software engineering team’s charter includes some steps to

maintain effective monitoring, alerting, infrastructure tracing, and analytics. By employing all four of

these into your work, you’re guaranteeing oversight into your product and can more effectively address

issues in real time.

Understand Your Anomalies — It’s one thing to simply be aware of issues as they arise. It’s another

thing entirely to effectively detect your user’s frustrations and why they’re occurring. By monitoring and

analyzing your products performance and your user’s behaviors, you’re more likely to address the root

of the problem rather than just the symptom.

Observability

Observability Considerations

05.

22

Page 25: DevOps Strategy...DevOps Strategy Five illars To Adopt or a Successful DevOps Strategy As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve

DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy

As we’ve developed our strategy around these five pillars of DevOps at MentorMate, we’ve done a lot

of work on what our tools pipeline looks like and how it functions. While we have the ability to work

beyond what is displayed here, this is the pipeline that works best for us and the work that we do. This

is all subject to change as things are updated and new tools become available. As you dig in and really

hone in your organization’s DevOps teams, you might find that different tools suit your needs better.

Tools and Resources

23