Lecture 11 - DevOps Flashcards

(22 cards)

1
Q

What is DevOps?

A

What is DevOps?
It is a combination of cultural philosophies, practices and tools created to facilitate organizations in delivering services/applications much faster than they can through traditional software development.

The phase of software development includes
- Refine user requirements
- How to develop the application
- How to test the application
- How to deploy the application

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

DevOps Diagram

A

REFER TO SLIDES
- Development is building the software
- Operations is maintaining the software
- Quality Assurance is checking whether the software or application meets certain quality standards

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

What are the 5 best practices of devOps?

A

They are the practices that help organise, automate and streamline the software development and management

The five are:
- Microservice
- Monitoring and Logging
- Continuous Integration
- Continuous Delivery
- Continuous Deployment

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

What is a microservice?

A

Microservice
- Builds a single application as a set of small services. Each service runs in its own process and communicates with other services through network.
- Applications are broken into many individual microservices with each microservice scoped to a single purpose or function.
- Benefits: makes the application flexible and enables frequent and small updates.
- Example: AWS Lambda.

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

What is Monitoring and Logging?

A

Monitoring and Logging
- Organizations monitor metrics and logs to see how application and infrastructure performance impacts the experience of their product’s end user.
- Benefits: tracks the performance of applications and infrastructure and detects real-time problems.
- Example: AWS CloudWatch.

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

What is the application release process?

A
  • Source Control:
    ○ Developers use a VCS (Version Control System) to manage and track changes to a code repository.
    ○ Typical example of version control is git
  • Run Build and Unit Tests:
    ○ Build refers to automatically generating executables for the application.
    ○ Automated unit tests are executed to ensure that individual components of the application function correctly.
    ○ Failures in build and unit tests alert the developers.
  • Deploy to Test Environment:
    ○ Automated deployment to the test environment.
    ○ Test Environment: a dedicated test environment mirrors the production environment but is isolated for testing purposes.
    ○ Test includes functional testing, integration testing, workload testing, etc.
  • Deploy to Production Environment:
    ○ The application is deployed to the production environment for serving real users.
    REFER TO SLIDES FOR DIAGRAM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Fabric?

A
  • Fabric is a high level Python library designed to execute shell commands remotely over SSH, yielding useful Python objects in return.
  • OpenSSH: a widely used version of the SSH protocol, available on Mac, Linux/Unix and Windows.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How is OpenSSH used for user/client authentication?

A

Github example -> REFER TO SLIDES

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

How do we perform client/user authentication?

A

REFER TO SLIDES FOR DIAGRAM/STEPS

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

How to configure OpenSSH to support Fabric?

A

REFER TO SLIDES

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

What is server/host authentication?

A

REFER TO SLIDES -> EXPLANATION WITH DIAGRAMS

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

What is a Key pair?

A

Key pair: host key is a key pair. Public host key is stored on and distributed to different clients, and private key is stored on the host/server.

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

What is key exchange?

A

Key Exchange: when a client attempts to connect to a server for the first time, the server presents its host public key to the client

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

What is host key checking?

A

The client checks the server’s host key against a copy stored in known_hosts file. If the check succeeds, the server is authenticated

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

What to do after sever/host authentication

A

REFER TO SLIDES

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

What are the common fabric functions?

A
  • Establish the connection to fabric
    upload a local file to the remote server
    • c.put(localfile, remotefilepath)
      run a remote command
    • c.run(command, otherargs)
      run a remote command with sudo
    • c.sudo(command, otherargs)
17
Q

what are the differences between ‘sudo’ and ‘su’?

A

sudo (Superuser Do):
Allows a user to execute specific commands that require superuser privileges.

su (Switch User):
Allows a user to switch to another user account by entering that user account’s password.

18
Q

What is fabfile.py?

A

Describes and defines the organised tasks we want to perform

19
Q

What is AWS Lambda?

A

Lambda: a microservice that lets us run code without provisioning or managing servers. With Lambda, all we need to do is supply our code in one of the language runtimes that Lambda supports.

20
Q

What are the two main benefits of AWS Lambda?

A

Two main benefits:
- Automatic Scaling: Lambda automatically adjusts compute resources based on the workload, scaling up or down seamlessly without manual intervention.
- Server Management: Lambda abstracts away all server and operating system maintenance. It manages the underlying infrastructure, allowing developers to focus on their code and business logic.

21
Q

How to set up AWS Lambda - toy example?

A

REFER TO SLIDES FOR STEPS - NEED TO GO THROUGH THIS

22
Q

How to set up AWS Lambda - Lambda to S3

A

REFER TO SLIDES FOR STEPS - NEED TO GO THROUGH THIS