devops strategy...devops strategy five illars to adopt or a successful devops strategy as we’ve...
TRANSCRIPT
DevOps StrategyFive Pillars To Adopt For a Successful
DevOps Strategy
mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | 612.823.4000
01. Automation
02. Cloud - Native
03. Culture
04. Security
05. Observability
Table of Contents
03
07
11
15
19
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
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
DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy
Automation01.
3
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
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
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
DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy
Cloud-Native02.
7
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
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
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
DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy
Culture03.
11
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
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
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
DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy
Security04.
15
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
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
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
DevOps Strategy || Five Pillars To Adopt For a Successful DevOps Strategy
Observability05.
19
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
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
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
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
mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | 612.823.4000
Digital Ideas Accelerated
Five Pillars To Adopt For a Successful DevOps Strategy
|
Twitter: @MentorMate www.mentormate.com|
24