Cloud Computing & DevOps Knowledge Base
Focused notes on cloud infrastructure, DevOps practices,
automation, CI/CD pipelines, containerization, and modern deployment strategies.
Scope: Conceptual and practical learning in Cloud and DevOps.
Includes architecture design, automation tools, monitoring, scalability,
and best practices. No offensive security or exploit content included.
Cloud Computing Notes
- 1. Introduction to Cloud Computing
- Definition: Delivery of services (storage, servers, software etc.) over the Internet.
- Goal: Use IT resources without owning physical hardware.
- Example: Storing files on Google Drive instead of a personal PC.
-
2. Characteristics of Cloud Computing
-
On-demand self-service:
Users can access computing resources such as servers, storage,
and applications whenever needed without requiring human interaction
with the service provider.
-
Broad network access:
Cloud services are available over the internet and can be accessed
from various devices like smartphones, laptops, and tablets from
anywhere in the world.
-
Resource pooling:
The cloud provider pools computing resources to serve multiple users.
These resources are dynamically assigned and reassigned based on
demand, ensuring efficient utilization.
-
Rapid elasticity:
Resources can be quickly scaled up or down depending on the user's
requirements. This gives the illusion of unlimited resources.
-
Measured service:
Cloud systems automatically monitor and optimize resource usage.
Users are charged based on actual consumption (pay-as-you-go model).
-
3. Cloud Service Models
-
IaaS (Infrastructure as a Service):
Provides basic computing resources such as virtual machines,
storage, and networking over the internet. Users have full control
over the operating system and applications but do not manage
the underlying physical infrastructure.
Example: AWS EC2 (Amazon Elastic Compute Cloud)
-
PaaS (Platform as a Service):
Provides a platform that allows developers to build, test,
and deploy applications without worrying about managing
hardware or operating systems. It includes tools, libraries,
and frameworks for development.
Example: Google App Engine
-
SaaS (Software as a Service):
Provides ready-to-use software applications over the internet.
Users can access these applications through a web browser
without installing or maintaining them.
Example: Gmail, Zoom
- 4. Deployment Models
- Public Cloud: Services for everyone (e.g., AWS, Azure)
- Private Cloud: Used by one organization
- Hybrid Cloud: Public + Private combined
- 5. Advantages
- Cost-effective
- Scalable
- Accessible from anywhere
- Automatic updates
- Backup & disaster recovery
- 6. Disadvantages
- Needs internet connection
- Data security concerns
- Limited control
- Possible downtime
- 7. Real World Applications
- Storage: Google Drive, Dropbox
- Streaming: Netflix, Hotstar
- E-commerce: Amazon
- Education: Coursera
- Banking: Secure cloud-based transactions
- Quick Recap (Easy Examples)
- IaaS → Renting a house (AWS EC2)
- PaaS → Furnished apartment (Google App Engine)
- SaaS → Hotel stay (Gmail, Zoom)
DevOps Notes
-
DevOps is a set of practices that combines
Development (Dev) and Operations (Ops)
to deliver software faster and more reliably.
-
Why DevOps?
- Faster software delivery
- Better collaboration between teams
- More stable and reliable systems
- Continuous improvement
-
DevOps Lifecycle
Plan → Code → Build → Test → Release → Deploy → Operate → Monitor
-
Key DevOps Concepts
- CI – Continuous Integration
- CD – Continuous Delivery / Continuous Deployment
- Infrastructure as Code (IaC)
- Automation
- Monitoring and Logging
-
Common DevOps Tools
- Version Control: Git, GitHub
- CI/CD: GitHub Actions, Jenkins
- Containers: Docker
- Container Orchestration: Kubernetes
- Configuration Management: Ansible
- Cloud Platforms: AWS, Azure, GCP
-
Containers & Docker
- Containers package application + dependencies
- Lightweight and portable
- Docker is the most popular container platform
-
CI/CD Example Flow
Developer pushes code →
Tests run automatically →
Build is created →
Application is deployed
CI/CD Pipeline Notes
1. Introduction to CI/CD
CI/CD stands for Continuous Integration and Continuous Delivery/Deployment.
It is a modern DevOps practice that automates software building, testing, and deployment.
2. Continuous Integration (CI)
- Developers frequently merge code into a shared repository.
- Each merge triggers automated builds and tests.
- Helps detect bugs early.
- Improves collaboration among team members.
Key CI Tools
3. Continuous Delivery (CD)
- Code changes are automatically prepared for release.
- Deployment to staging or production can be done manually.
- Ensures software is always in a deployable state.
4. Continuous Deployment
- Extends Continuous Delivery.
- Automatically deploys every successful build to production.
- No manual intervention required.
5. CI/CD Pipeline Stages
- Source Stage – Code commit to repository.
- Build Stage – Compile and package application.
- Test Stage – Run automated tests.
- Deploy Stage – Deploy to staging/production.
- Monitor Stage – Monitor application performance.
6. Benefits of CI/CD
- Faster release cycles.
- Reduced manual errors.
- Improved software quality.
- Better team productivity.
7. Best Practices
- Maintain a single source repository.
- Automate testing at every stage.
- Keep builds fast.
- Monitor continuously after deployment.
- Implement rollback strategies.
8. Conclusion
CI/CD pipelines are essential for modern software development.
They ensure faster delivery, higher quality, and reliable deployments.
Docker Notes
1. Introduction to Docker
Docker is an open-source platform used to develop, ship, and run applications inside lightweight containers.
Containers package an application with all its dependencies so it can run consistently across different environments.
2. Why Docker?
- Environment consistency (Works on my machine problem solved)
- Lightweight compared to virtual machines
- Fast deployment
- Easy scalability
- Efficient resource usage
3. Docker Architecture
- Docker Client – Command line interface (CLI).
- Docker Daemon – Runs containers and manages images.
- Docker Images – Read-only templates to create containers.
- Docker Containers – Running instances of images.
- Docker Registry – Stores Docker images (e.g., Docker Hub).
4. Key Docker Concepts
Docker Image
A lightweight, standalone, executable package that includes application code, libraries, dependencies, and configuration files.
Docker Container
A running instance of a Docker image. Containers are isolated but share the host OS kernel.
Dockerfile
A text file containing instructions to build a Docker image.
Docker Hub
A cloud-based registry service where Docker images are stored and shared.
5. Common Docker Commands
docker --version – Check Docker version
docker pull image_name – Download image
docker build -t image_name . – Build image
docker run image_name – Run container
docker ps – List running containers
docker stop container_id – Stop container
docker rm container_id – Remove container
docker rmi image_name – Remove image
6. Docker vs Virtual Machines
| Docker |
Virtual Machine |
| Lightweight |
Heavyweight |
| Shares host OS kernel |
Has its own guest OS |
| Fast startup |
Slow startup |
| Less resource usage |
More resource usage |
7. Docker Compose
Docker Compose is a tool used to define and run multi-container Docker applications using a YAML file.
8. Benefits of Docker
- Portability
- Scalability
- Isolation
- Continuous Deployment support
- Improved DevOps workflow
9. Best Practices
- Use official base images
- Keep images small
- Use multi-stage builds
- Do not run containers as root
- Use .dockerignore file
10. Conclusion
Docker simplifies application deployment by using containerization technology.
It is widely used in DevOps and CI/CD pipelines for modern application development.
-
DevOps & Security (DevSecOps)
- Security integrated early in development
- Automated security testing
- Continuous vulnerability monitoring
Next Topics:
Docker commands, Kubernetes basics, GitHub Actions,
cloud fundamentals, monitoring tools.