DevOps Flashcards

1
Q

What is Continuous Integration?

A

It is a practice where new code changes to an app for example are regularly built, tested and merged. Why is this important? Because it avoids this issue where many developers are working on multiple branches in development at once that might conflict with each other.

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

What is Continuous Deployment and Delivery?

A

CD in CI/CD usually refers to either Continuous Deployment or Continuous Delivery. Deployment, as the name implies, automatically deploys some changes to production whereas Delivery simply releases the changes which are ready to be deployed in production.

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

What is DevOps and what are some of its practices?

A

It is a combination of practices and tools to deliver applications and services at high velocity. It is a combination of Dev (Development) and Ops (Operations) into a single unit instead of treating it as different things or teams.

  • CI/CD is one practice which frequently deliver apps by introducing automation into the stages of app development.
  • Version Control is another practice where manage code in versions
  • Infrastructure as Code is another practice where you manage resources using code which helps deploying resources in a reliable, repeatable and controlled way.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain what Docker is, and the difference between a Docker Image and a Docker Container

A

Docker is a platform for developing, shipping, and running applications. It enables you to separate your application from your infrastructure so you can deliver software quickly. It fixes the “it works in my computer” issue.

A Docker Image is a way to package up applications and server environments into a single place. Suppose you have a web server that uses Ubuntu, Apache Server, MySQL and PHP. You can create a Docker Image that packages all those services into a single place.

A Docker Container is a runnable instance of an Image. You can think of it like a Virtual Machine. The main difference though, is that Docker Containers share the host operating system which makes them lightweight.

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

What is Jenkins?

A

It is automation tool that allows you to automate tasks related to building, testing and delivering or deploying software. For example, you can automatically test, build and deploy every time you make a commit.

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

What is Jenkins Pipeline?

A

It is a sequence steps or events that happen in the code lifecycle. Starting from the build, to testing and deployment.

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

What are the types of Jenkins Pipelines?

A

Declarative Pipelines: Makes use of generic predefined build steps/stages (i.e code snippets)
Scripted Pipelines: Custom defined using a Groovy syntax.

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

Explain Jenkins Multibranch Pipeline

A

It is a pipeline that can be configured to multiple branches within a single repository.

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

What are the ways to trigger a Jenkins Job/Pipeline?

A

Manually from the web application.
API POST request
Time-based like a cron-job
Event-based like SCM actions (Git commit, Pull request)

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

What is Blue Ocean in Jenkins?

A

It is a redefined user experience for Jenkins. It reduces clutter and increases clarity.

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