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: Access resources instantly.
- Broad network access: Accessible anywhere with internet.
- Resource pooling: Shared infrastructure among users.
- Rapid elasticity: Scale resources up/down quickly.
- Measured service: Pay for what you use.
- 3. Cloud Service Models
- IaaS: Infrastructure as a Service (e.g., AWS EC2)
- PaaS: Platform as a Service (e.g., Google App Engine)
- SaaS: Software as a Service (e.g., 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.