Practice of Cloud System Administration, The: DevOps and SRE Practices for Web Services, Volume 2
Rate it:
Open Preview
32%
Flag icon
At its most fundamental level, DevOps is about breaking down silos and removing bottlenecks and risks that screw up an organization’s Development to Operations delivery lifecycle. The goal is to enable change to flow quickly and reliably from specification through to running features in a customer-facing environment.
32%
Flag icon
operationalism
32%
Flag icon
“DevOps is not a technology problem. DevOps is a business problem,” Damon Edwards
32%
Flag icon
It is impossible to understand the operational requirements of a system until at least the design is complete, or in many cases until it is deployed and in active use.
32%
Flag icon
In a DevOps environment, developers and sysadmins share the responsibility for meeting uptime requirements, so much so that both share oncall duties.
33%
Flag icon
There is no concept of “them,” as in “hand off to them”; there is only “us”—the team working on the product.
33%
Flag icon
mandating that operations, development, and business departments work together,
33%
Flag icon
The Three Ways of DevOps”
33%
Flag icon
The third way involves creating a culture where everyone is encouraged to try new things.
33%
Flag icon
Another principle of DevOps is that small batches are better.
33%
Flag icon
Velocity is how many times you ship in a month. High velocity and low latency are realized through releasing small batches.
33%
Flag icon
The first step in adopting the Three Ways is to identify the team’s value streams—processes done for the business, or requested by the business.
Jeff Ryan
Value Stream
33%
Flag icon
Collect measurements on the length, frequency, and failure rate of the steps.
33%
Flag icon
Find the steps that are the most error prone, unreliable, or slow. Replace them, improve them, or eliminate them. The two biggest inefficiencies are rework (fixing mistakes) and redundant work (duplicate effort that can be consolidated).
33%
Flag icon
The most beneficial place to put energy into improvement is at the bottleneck.
33%
Flag icon
Making all of this happen requires a culture of innovation and a willingness to take risks.
33%
Flag icon
adherence to some of the basic Agile principles is definitely required.
33%
Flag icon
DevOps can be viewed as system administration reinvented by sysadmins who finally had management support to do it the right way.
33%
Flag icon
Site Reliability Engineer (SRE)
34%
Flag icon
The tools are engineered to make operations self-service for developers.
Jeff Ryan
Need to develop common monitoring and automation tools, that cross applications.
34%
Flag icon
Relationships • Integration • Automation • Continuous improvement
34%
Flag icon
“People over process over tools.” Once the right people are performing the right process consistently, only then does one create a tool to automate the function.
34%
Flag icon
One of the key defining principles of DevOps is the focus on people and process over writing a script and then figuring out who should run it and when.
34%
Flag icon
DevOps strives for simplicity and repeatability. Configurations and scripts are handled as source code and kept under version control.
34%
Flag icon
Treat your processes like applications and build error handling into them.
34%
Flag icon
Game Day Exercises: Sometimes known as “fire drills,
34%
Flag icon
Striving for perfection discourages innovation, but too much innovation means taking on too much risk.
34%
Flag icon
Google’s Error Budgets
34%
Flag icon
Common Technical DevOps Practices
34%
Flag icon
Release engineering is the process of taking software in source form, building it, packaging it, testing it, and deploying it into the field.
35%
Flag icon
Ideally, get development and operations under one management team, the same vice president, or something similar. Also try to colocate
36%
Flag icon
As fear of change increases, innovation declines.
37%
Flag icon
Jeff Ryan
metrics to consider
39%
Flag icon
The two major strategies for configuration are called convergent orchestration and direct orchestration. Convergent orchestration takes a description of how the environment should be configured, and the configuration management system then makes individual changes that lead to the entire system converging on that desired state. If
40%
Flag icon
Baked versus Fried Configuration management
40%
Flag icon
Different Files for Different Environments
40%
Flag icon
The problem with using environment-specific packages is that these files have, essentially, bypassed the testing process. For that reason it is best to keep the use of this mechanism to an absolute minimum, preferably restricting it to files that are low risk or files that can be tested other ways, such as via pre-submit checks.
40%
Flag icon
Infrastructure as Code
41%
Flag icon
The canary process is a special form of the rolling upgrade that is more appropriate when large numbers of elements need to be upgraded.
41%
Flag icon
Canarying is an insurance policy against accidental bad releases, not a way to detect bad releases.
41%
Flag icon
Blue-Green Deployment
41%
Flag icon
Feature toggling is one way to implement the general principle of decoupling deployment and release. Deployment is putting a package into an environment. Release is making a feature available to users.
42%
Flag icon
“Gatekeeper”
42%
Flag icon
dark launches:
42%
Flag icon
database views.
42%
Flag icon
This decouples software upgrades from schema changes. Now when the schema changes, each view’s code must change to provide the same abstraction to the new schema. The change in schema and the upgrade of view code happen atomically, enabling smooth upgrades.
42%
Flag icon
McHenry Technique.
43%
Flag icon
Progressive improvement beats delayed perfection. —Mark Twain
43%
Flag icon
We should not make changes to the system; rather, we should instruct the automation to make those changes.
43%
Flag icon
modern system administrators must be software developers.