DevOps Flashcards

1
Q

What is DevOps?

A

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why use DevOps?

A

This speed enables organizations to better serve their customers and compete more effectively in the market.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is this?

A

DevOps Delivery Pipeline and Feedback Loop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is different in a DevOps model?

A

Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function. Quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does a DevOps team do with processes that are historically manual and slow? How?

A

These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the 6 benefits of DevOps?

A
  1. Speed
  2. Rapid Delivery
  3. Reliability
  4. Scale
  5. Improved Collaboration
  6. Security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does DevOps increase Speed?

A

Move at high velocity so you can innovate for customers faster, adapt to changing markets better, and grow more efficient at driving business results. The DevOps model enables your developers and operations teams to achieve these results. For example, microservices and continuous delivery let teams take ownership of services and then release updates to them quicker.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does DevOps enable Rapid Delivery? How does this help customers?

A

Increase the frequency and pace of releases so you can innovate and improve your product faster. The quicker you can release new features and fix bugs, the faster you can respond to your customers’ needs and build competitive advantage. Continuous integration and continuous delivery are practices that automate the software release process, from build to deploy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does DevOps increase Reliability?

A

Ensure the quality of application updates and infrastructure changes so you can reliably deliver at a more rapid pace while maintaining a positive experience for end users. Use practices like continuous integration and continuous delivery to test that each change is functional and safe. Monitoring and logging practices help you stay informed of performance in real-time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How does DevOps enable Scale?

A

Operate and manage your infrastructure and development processes at scale. Automation and consistency help you manage complex or changing systems efficiently and with reduced risk. For example, infrastructure as code helps you manage your development, testing, and production environments in a repeatable and more efficient manner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does DevOps improve Collaboration?

A

Build more effective teams under a DevOps cultural model, which emphasizes values such as ownership and accountability. Developers and operations teams collaborate closely, share many responsibilities, and combine their workflows. This reduces inefficiencies and saves time (e.g. reduced handover periods between developers and operations, writing code that takes into account the environment in which it is run).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does DevOps improve Security?

A

Move quickly while retaining control and preserving compliance. You can adopt a DevOps model without sacrificing security by using automated compliance policies, fine-grained controls, and configuration management techniques. For example, using infrastructure as code and policy as code, you can define and then track compliance at scale.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is DevOps important?

A

Software and the Internet have transformed the world and its industries. Software no longer merely supports a business; rather it becomes an integral component of every part of a business. Companies interact with their customers through software delivered as online services or applications and on all sorts of devices. They also use software to increase operational efficiencies by transforming every part of the value chain, such as logistics, communications, and operations. In a similar way that physical goods companies transformed how they design, build, and deliver products using industrial automation throughout the 20th century, companies in today’s world must transform how they build and deliver software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the barriers DevOps removes?

A

At its simplest, DevOps is about removing the barriers between two traditionally siloed teams, development and operations. In some organizations, there may not even be separate development and operations teams; engineers may do both. With DevOps, the two teams work together to optimize both the productivity of developers and the reliability of operations. They strive to communicate frequently, increase efficiencies, and improve the quality of services they provide to customers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does DevOps enable faster innovations for customers?

A

Performing very small but frequent updates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Why are frequent but smaller updates good?

A

Frequent but small updates make each deployment less risky. They help teams address bugs faster because teams can identify the last deployment that caused the error.

17
Q

What are microservices?

A

The microservices architecture is a design approach to build a single application as a set of small services. Each service runs in its own process and communicates with other services through a well-defined interface using a lightweight mechanism, typically an HTTP-based application programming interface (API). Microservices are built around business capabilities; each service is scoped to a single purpose. You can use different frameworks or programming languages to write microservices and deploy them independently, as a single service, or as a group of services.

18
Q

What are the advantages of a microservices architecture?

A
  1. Makes applications more flexible and enables quicker innovation. 2. Reduces the coordination overhead of updating applications, and when each service is paired with small, agile teams who take ownership of each service, organizations can move more quickly.
19
Q

Which DevOps practices counter the operational challenges of more deployments? (Microservices and increased release frequency leads to significantly more deployments)

A
  1. DevOps practices like continuous integration and continuous delivery solve these issues and let organizations deliver rapidly in a safe and reliable manner.
  2. Infrastructure automation practices, like infrastructure as code and configuration management, help to keep computing resources elastic and responsive to frequent changes.
  3. In addition, the use of monitoring and logging helps engineers track the performance of applications and infrastructure so they can react quickly to problems.

Together, these practices help organizations deliver faster, more reliable updates to their customers.

20
Q

What is continuous integration?

A

Continuous integration is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.

21
Q

What is continuous delivery?

A

Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When continuous delivery is implemented properly, developers will always have a deployment-ready build artifact that has passed through a standardized test process.

22
Q

What is infrastructure as code?

A

Infrastructure as code is a practice in which infrastructure is provisioned and managed using code and software development techniques, such as version control and continuous integration. The cloud’s API-driven model enables developers and system administrators to interact with infrastructure programmatically, and at scale, instead of needing to manually set up and configure resources. Thus, engineers can interface with infrastructure using code-based tools and treat infrastructure in a manner similar to how they treat application code. Because they are defined by code, infrastructure and servers can quickly be deployed using standardized patterns, updated with the latest patches and versions, or duplicated in repeatable ways.

23
Q

How does DevOps increase communication and collaboration and why is that important?

A

Increased communication and collaboration in an organization is one of the key cultural aspects of DevOps. The use of DevOps tooling and automation of the software delivery process establishes collaboration by physically bringing together the workflows and responsibilities of development and operations. Building on top of that, these teams set strong cultural norms around information sharing and facilitating communication through the use of chat applications, issue or project tracking systems, and wikis. This helps speed up communication across developers, operations, and even other teams like marketing or sales, allowing all parts of the organization to align more closely on goals and projects.

24
Q

What do AWS Developer Tools do?

A

Help you securely store and version your application’s source code and automatically build, test, and deploy your application to AWS or your on-premises environment.

25
Q
A