chapter 4 Flashcards

1
Q

Explain what DevOps is in a nutshell

A

Devops is a set of practices, tools, and cultural philosophy that automate and integrate the processes between software development and IT operations/infrastructure teams. The goal is to bridge the gap between it operations/infrastructure and software development. The devops lifecycle is all about agility and automation it consists of 8 phases.

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

Describe the DevOps lifecycle in general and why it is formed into an infinity sign

A

Because it is a process that keeps repeating itself, it never stops

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

Explain what GitHub Actions is as a DevOps tool and how it works in general

A

Github actions is a feature that lets you automate various actions related to your repository

Github calls the files and the system you set up with these files, workflows. However as we already stated they are more generally known as pipilines, devops pipelines or CI/CD pipelines

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

Describe the different parts and keywords of a .yml workflow file in detail name, on, jobs, display-hostname, runs-on, steps, - name, run

A

Name: the name of the workflow that will appear on github

On: the event that will trigger the workflow to run

Jobs: the collection of tasks that will be executed as part of the workflow

Display-hostname (onder jobs:) : name of the job

Runs-on: type of runner that the job will run on

Steps: the sequence of commands that will be executed as part of the job

  • Name: name for the step of the job

Run: the command that will be executed by the runner VMs shell

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

Describe how the Plan Code Test Release Deploy steps of the DevOps lifecycle are reflected in the tools and the workflow pipeline file

A

Plan: this step involves defining the software requirements, designing the software solution, and choosing the tools and technologies to be used

Code: this step involves writing, editing and organizing the code using version control systems and code editors, developers also push their code changes to a remote repository where the code is continuously integrated with the main codebase

Test: this step involves verifying and validating the functionality, performance, and security of the code using various testing methods and tools. This happens automatically in a CI pipeline or workflow

Release: in this step, the software is prepared for deployment and released as a package, executable or container

Deploy: in this step, the software is delivered to the production environment and made available for use by the users

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

Explain what Continuous Integration / Continuous Delivery / Continuous Deployment is and when a pipeline reaches these points

A

Continuous integration or CI: promotes frequent integration of the changes done by developers into the existing code. This helps In catching issues early and maintaining a stable codebase as with every integration the included tests also run

Continuous delivery or CD: enables frequent delivery of the software to the customer or the team, this helps in reducing cost, time and risk of delivering changes and maintaining a high quality product as with every delivery the software is verified by tests and feedback

Continuous deployment or CD: enables automatic deployment of the software to the users

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