We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
Cheatsheets / Introduction to DevOps
Introduction to DevOps Culture
Processes
Deployment
Deployment is the general process of making a piece of
software available to its users. t encompasses a number
(of important tools and processes including:
+ Version control systems
+ Infrastructure management
+ Testing
+ Deployment environments
Version Control Systems
Aversion control system helps keep a project's files clean,
‘organized, and maintainable by tracking and maintaining
ifferent versions of a file or project.
Important features of version control systems include:
+ Tracking every change that is introduced into the
code
+ Saving all previous versions of the code
+ Identifying merge conics
Types of Tests
Different types of tests exist that are used in the various
stages of deployment. Four types of tests that are often
used are:
+ Aunit test evaluates the smallest possible unit of
festable code, such as a single function.
+ An integration test evaluates how the units of a
program work with one another.
+ An acceptance test evaluates whether the user
experience aligns with the business requirements
of the software,
+ An end-to-end test evaluates the application's
behavior using production-Ike infrastructure that
Includes networking, databases, and calls to
external APIs
[codelcademy
andBranching
Inversion control, branching isthe process of creating a
copy of the source code (the “trunk”
Developers can work on their own branches without
changing the source code that real users and other
developers depend on.
Merging
In version contrl, merging is the process of combining
the changes in one branch with another.
This occurs when the differences between the two
branches ae ready to be reconciled
Infrastructure Definition
Infrastructure is the set of hardware and software
‘components that are used to develop, test, deploy and
host web services.
Examples of these components include servers, switches,
routers, and operating systems.
Operations Team
Operations teams are traditionally responsible for
managing an application’ infrastructure.
Services provided by the Operations team include
infrastructure configuration, device management,
incidence and security response, and ongoing
maintenance.
[code]cademyEnvironments
‘An environment, in the context of creating and deploying
software, isthe subset of infrastructure resources used to
‘execute a program under specific constraints. Common
‘examples include:
+ Local development environment
+ Integration environment
+ QA/Testing environment
+ Staging environment
+ Production environment
Local Development Environments
‘The local development environment is a developer's
‘computer where they create features of an application.
Integration Environments
The integration environment is where developers attempt
to merge features into a unified codebase, often using
version-control software Ike Git
Testing Environments
‘The quality assurance (QA) / testing environment is where
tests are executed to ensure the fun
usability of a project
ality and
Staging Environments
‘The staging environment mimies the final production
‘environment.
Final performance tests can be executed before real
users are involved.
[codelcademyProduction Environments
The production environment refers to the infrastructure
resources that support the application accessed by
clients.
This infrastructure consisted of hardware and software
‘components including databases, servers, API, and
‘external services scaled for real-world usage.
DevOps
DevOps isa cufture that is supported by a set of practices
and tools that assists the collaboration of Development
and Operations teams.
DevOps aims to resolve the issues in the development
process that arse due to the conflicting goals and
isolation of traditional development and operations
teams,
Integration of Development and Operations Teams
‘The integration of Development and Operations teams
results in the following benefits:
1. Work is no longer passed back and forth between
2. Development, staging, and production
environments are consistent
3. Development best practices are applied to
Infrastructure management
DevOps Team Improvements
The central pillars of a DevOps culture include:
+ Thinking about the whole production system,
rather than a single department or part (systems
level thinking
+ Feedback loops, allowing each part of the process
to receive information and improve.
+ Aculture of continuous experimentation and
learning,
[codelcademyDevOps Team Bottlenecks
DevOps teams seek to reduce the impact of system
bottlenecks. Bottlenecks are the slowest part of the
production process and they limit the overall pace of
production,
DevOps Team Communication
Companies with separated development and operations
‘teams can have some issues:
‘+ Developers might concentrate on the code
without considering infrastructure or testing
needs,
+ The Operations team might only consider
Infrastructure needs without considering impacts
con functionality.
DevOps seeks to have each member of the team consider
the entire development process. All members share
responsibility for the final result.
DevOps Feedback Loops
Feedback loops use metres to gain insights into
application performance. Action can then be taken from
these insights to continuously improve processes. Metrics
that measure customer value should be prioritize,
DevOps Failure
In DevOps, failure is seen as something to learn from and
is @ normal part of the improvement process. It can lead
to valuable insights being discovered.
One method DevOps teams use to normalize fallure is
through blameless retrospectives (or post-mortems)
cb Print 8 Share v
[codelcademy