QC 3 Flashcards

1
Q

What is DevOp?

A

DevOp is the development and operations team working together to bring the latest features and versions of software to the customer as fast as possible.

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

What is CI in DevOp?

A

Continuous Integration. Continuous Integration helps to find defects early by merging and testing code continuously.

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

What are some tools involved with CI?

A

Pipelines: Azure Pipelines, Github Actions, Jenkins, AWS

Code Analysis: Sonar Cloud

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

What is CD?

A

Continuous Deployment or Continuous Delivery. When someone of authority manually deploys the code to production after much deliberation.

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

What is the flow if CI/CD?

A

File -> Source Control (commit changes)

  • > Build (run build and unit tests)
  • > Staging (deploy to test environment, run integration tests, load tests, and other tests)
  • > Production (deploy to production environment)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How do you achieve DevOps

A
  1. CI/CD
  2. Utilizing VCS
  3. Agile planning
  4. Monitoring and logging
  5. Designing for scale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Marriage of development and operations

A culture

It’s the concept of the development team and the operations team working together to bring the latest features and versions of software to the customer as fast as possible

a set of practices that allows us to roll out new features from the dev team and environment to production with quick response to any failures

A

DevOps

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

Drives the ongoing merging and testing of code, which leads to finding defects early (2018, Guckenheimer)

All about constantly updating the main codebase with the latest developments/features (provided of course that these new additions are of quality)

Tools involved with _______:
Pipelines (like Azure Pipelines, Github Actions, Jenkins, AWS Code Pipeline)
Code Analysis tools like Sonar Cloud (more on this later)

A

CI (continuous integration)

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

________ is when someone (obviously a authority figure) manually deploys the code to prod after much deliberation

__________ is when everything is automated to even the deployment of code to prod

Of course ___ is not only limited to releasing code to production, using the idea of ___ to other environments before production like testing helps find bugs that might come up in an environment different from dev

A

CD (continuous deployment or continuous delivery)

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

What are the respective goals of the dev and ops teams?

A

Devs design and implement code that revolves around what customers want. Ops make sure the app is running correctly.

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

Why is DevOps important?

A

Because you want your app to be constantly evolving and you also want it to run correctly

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

What’s CI/CD?

A

Continuous integration and continuous delivery

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

Both __________ and _______ provide solutions to creating a uniform environment across machines. This means that with either, you will be able to run your application in an environment that has the necessary artifacts.

A

Containerization and Virtualization

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

first difference between Containerization and Virtualization?

A

Containerization uses containers to achieve a uniform environment. Virtualization uses virtual machines (VMs).

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

second difference between Containerization and Virtualization?

A

Containers virtualize the OS. VMs virtualize a machine.

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

third difference between Containerization and Virtualization?

A

Containers allocate resources dynamically. VMs allocate resources statically.

This means that with containers you only get assigned resources as needed. With VMs the resources are always there even if they aren’t being used.

17
Q

______ is a containerization platform

It’s a tool that allows you to wrap up your code into a deployable form (image) and run it anywhere using containers

A

Docker

18
Q

filesystem, that contains everything needed to run an application - all dependencies, configuration, scripts, binaries, etc.

This is what ensures that the environment is uniform throughout the containers

A

Images

19
Q

A process that you run (on the filesystem you set up with an image)

A

Containers

20
Q

A place that lets you distribute docker images

A

Registry

21
Q

a text document that contains all the commands a user could call on the command line to assemble an image

A

Dockerfile

22
Q

This helps to avoid unnecessarily sending large or sensitive files and directories to the daemon (the engine that your containers are run on) and potentially adding them to images

A

Dockerignore

23
Q

What are images? Containers? How are they related?

A

containers are a process that you run (on the filesystem you set up with an image)

24
Q

What is the docker daemon?

A

the engine that your containers are run on

25
Q

A collection of servers owned by some service provider

A

the cloud

26
Q

3 main cloud service providers are

A

AWS by Amazon
Azure by Microsoft
GCP by Google

27
Q

________ is an instant computing infrastructure, provisioned and managed over the internet. You configure it the same way you’d configure your servers.

A

Infrastructure as a service (IaaS)

28
Q

________ remove the need for organizations to manage the underlying infrastructure (usually hardware and operating systems) and allow you to focus on the deployment and management of your applications.

A

Platforms as a service (PaaS)

29
Q

______ provides you with a completed product that is run and managed by the service provider

A

Software as a Service (SaaS)

30
Q

(Cloud Deployment Model)

Could be on premise or could also be provided by a service provider. Only accessible by a certain organization.

A

Private (Cloud Deployment Model)

31
Q

(Cloud Deployment Model)

Cloud services and servers that are open for use by the general public.

A

Public (Cloud Deployment Model)

32
Q

(Cloud Deployment Model)

When you have some resources on premise/private and some hosted on the public cloud

A

Hybrid (Cloud Deployment Model)

33
Q

(Cloud Deployment Model)
Sharing is caring. Sharing resources when you are part of a community, for example universities cooperating in certain areas of research.

A

Community (Cloud Deployment Model)

34
Q

Scaling by adding or removing instances of a service, resource, or application.

For example, deploying multiple copies of your web app across different servers stationed at different places.

Usually cheaper.

A

Horizontal

35
Q

Scaling by increasing or decreasing the specs of the servers your service, resource, or application uses.

For example, increasing the RAM of the server your webapp runs on.

A

Vertical

36
Q

What are the different types of scaling?

A

Horizontal and Vertical