Introduction
NIST Definition of Cloud Computing: “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”[1]
Five characteristics of cloud computing [1]:
1. On-demand self-service
2. Ubiquitous network access
3. Resource pooling
4. Rapid elasticity
5. Measured service
Service models of cloud computing[1]:
1. Software as a service (SaaS)
2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
Deployment Models[1]:
1. Public cloud
2. Private cloud
3. Community Cloud
4. Hybrid Cloud
Important Concepts
- Difference between Full Virtualization and Paravirtualization
- Full vs. Para vs. Hardware-Assisted Virtualization (Native)
1. Hypervisor
2. Hardware-assisted Virtualization
3. OS-level virtualization
4. Hardware Virtualization / Platform Virtualization

5. Application virtualization
6. Commodity hardware vs. server-class hardware
Container Lifecycle

- How To Manage Docker Containers & Images in Linux
- Introduction to Container Security – Understanding the isolation properties of Docker
- How to build a CI/CD pipeline with Docker
- Protection ring

- Ansible is an open-source IT automation engine
- Puppet is the industry standard for IT automation.
- Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
- Kubeflow – The Machine Learning Toolkit for Kubernetes.
- seldon.io – Machine learning deployment for enterprise
- MLRun – The Open-Source MLOps Orchestration Framework