What is DevOps?
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
DevOps Diagram
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
What are the 5 best practices of devOps?
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
What is a microservice?
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.
What is Monitoring and Logging?
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.
What is the application release process?
What is Fabric?
How is OpenSSH used for user/client authentication?
Github example -> REFER TO SLIDES
How do we perform client/user authentication?
REFER TO SLIDES FOR DIAGRAM/STEPS
How to configure OpenSSH to support Fabric?
REFER TO SLIDES
What is server/host authentication?
REFER TO SLIDES -> EXPLANATION WITH DIAGRAMS
What is a Key pair?
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.
What is key exchange?
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
What is host key checking?
The client checks the server’s host key against a copy stored in known_hosts file. If the check succeeds, the server is authenticated
What to do after sever/host authentication
REFER TO SLIDES
What are the common fabric functions?
what are the differences between ‘sudo’ and ‘su’?
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.
What is fabfile.py?
Describes and defines the organised tasks we want to perform
What is AWS Lambda?
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.
What are the two main benefits of AWS Lambda?
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.
How to set up AWS Lambda - toy example?
REFER TO SLIDES FOR STEPS - NEED TO GO THROUGH THIS
How to set up AWS Lambda - Lambda to S3
REFER TO SLIDES FOR STEPS - NEED TO GO THROUGH THIS