DevOps Fundamentals Flashcards

1
Q

What is DevOps?

A

A methodology in the software development and IT industry that integrates and automates the work of software development (Dev) and IT operations (Ops) to improve and shorten the systems development life cycle.

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

What are the key principles of DevOps?

A

Shared ownership, workflow automation, and rapid feedback.

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

Which other principles of DevOps?

A

Encourage collaboration, decision based on data analysis, customer-centric action, constant improvement, responsibility throughout the lifecycle, automate what you can, failure as a learning opportunity

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

What are some business benefits of DevOps?

A
  • Reduced time to create and deliver software
  • Reduced complexity of application maintenance
  • Improved collaboration between developers and operations
  • Faster time to market through continuous integration and delivery.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Agile in software development?

A

A business methodology that emphasizes short, iterative planning and development cycles.

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

True or False: DevOps is an extension of Agile that includes systems and operations.

A

True.

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

What are the phases in DevOps practices?

A

Plan - Business owners and software dev team discuss project goals and create a plan
Code - Programmers design and code application (Git, Jira)
Build - Take code from different repositories and combine them to build the complete application (Gradle, Maven)
Test - Automation testing tools to test and ensure software quality (JUnit, Selenium)
Release - When testing is complete, new features are integrated automatically to the existing codebase (Jenkins, Codeship)
Deploy - Application is packaged after release and deployed from development server to production server. (AWS, docker)
Operate - Once software is deployed, operations team configures and operates servers. (Chef, Ansible)
Monitor - Monitoring allows IT orgs to identify specific issues of releases and understand impact of end-users (DataDog, splunk)

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

What does the DevOps tool chain include?

A
  • Code development and review
  • Continuous integration tools
  • Continuous testing tools
  • Artefact repository
  • Change management
  • Infrastructure configuration
  • Performance monitoring.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Fill in the blank: Continuous _______ is a characteristic of a DevOps pipeline.

A

[integration].

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

What is Continuous Delivery?

A

The ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way

Make deployments predictable, routine affairs that can be performed on demand.

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

What are the principles of Continuous Delivery?

A
  • Build quality in
  • Work in small batches
  • Computers perform repetitive tasks,
    people solve problems
  • Relentlessly pursue continuous
    improvement
  • Everyone is responsible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Continuous Integration?

A

The practice of automatically building and unit testing the entire application frequently.

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

How is Continuous Integration done?

A

Developers integrate all their work into trunk (also known as
mainline or master) A set of automated tests is run both before and after the merge to validate that no regressions are introduced. If these automated tests fail, the team stops what they are doing and someone fixes the problem immediately.

  • Requires developers to break up large features into smaller steps
  • Creating maintainable suites of automated unit tests is complex.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does Continuous Testing encompass?

A
  1. Unit Testing
  2. Code hygiene
  3. Integration testing
  4. TDD, Behaviour Driven Development (BDD), Acceptance Test Driven Development (ATDD)
  5. Infrastructure Testing
  6. Performance Testing
  7. Security Testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the purpose of a DevOps pipeline?

A

A set of automated processes and tools that allows dev and ops professionals to work cohesively to build and deploy code.

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

What are the components of a DevOps pipeline?

A
  • Continuous integration
  • Continuous delivery/deployment
  • Continuous feedback
  • Continuous operations.
17
Q

8 Steps on how to do DevOps

A
  • Pick a component
  • Consider adopting Scrum
  • Use Git- based Version control
  • Integrate with work tracking tool
  • Write tests
  • Build out a CI/CD process to deploy
  • Add monitoring mechanism
  • Use feature flags
18
Q

DevOps Framework

A

CALMS
Culture - People and process first
Automation - Use tools to control system
Lean - Eliminate low value activities
Measurement - Relevant metrics to improve
Sharing - Feedback that helps them improve

19
Q

What is continuous deployment?

A

A strategy in software development where code changes to an application are released automatically into the production environment

20
Q

What are the DevOps Three Ways?

A

Systems thinking - Understanding that software applications are complex systems
Amplifying feedback loops - Improve bidirectional communication between teammates
Cultural change - Culture of continuous experimentation and learning