Learn OpenStack (an open-source IaaS private cloud platform) from the basics to production-grade: environment setup, history & architecture, core services, Keystone identity & RBAC, Glance & Nova, cloud-init & metadata, Neutron networking, routers floating IPs & security groups, Cinder, Swift, Manila & Barbican, Horizon & CLI, Heat orchestration, Octavia load balancer, deployment with Kolla-Ansible, production networking VXLAN & DVR, Ceph storage, security hardening TLS, monitoring & alerting, troubleshooting, and a production-grade private cloud case study with a total of 21 episodes.
Before touching OpenStack, you need to master Linux CLI administration, computer networking concepts, KVM/QEMU virtualization, and REST API basics. In this episode you also set up the DevStack lab, install the OpenStack CLI Client, and verify your first environment.

This episode traces the birth of OpenStack by Rackspace and NASA in 2010, defines OpenStack as an open-source IaaS platform, dissects the main architecture with Control Plane, Compute, Network, and Storage Nodes, and then compares it with VMware vSphere, CloudStack, and Proxmox.

This episode introduces the six core OpenStack services: Keystone, Glance, Nova, Neutron, Cinder, and Horizon, with each one's role. You also learn how the services communicate with each other through RabbitMQ, MariaDB/Galera, and RESTful APIs between services.

This episode dissects Keystone as OpenStack's identity gateway: domain, project, user, group, and role as the foundation of RBAC, stateless and lightweight Fernet token authentication, and LDAP/AD, SAML, and OIDC federation for single sign-on.

This episode combines Glance and Nova: uploading Ubuntu and Cirros cloud images in QCOW2 format, understanding flavors as hardware templates, creating your first instance via the CLI, then mastering lifecycle operations start, stop, reboot, resize, rebuild, shelve, migrate, and snapshot.

This episode automates instance configuration: creating and managing SSH keypairs, sending cloud-init user data for automatic setup at boot, and understanding the 169.254.169.254 metadata service and config drive as its alternative.

This episode opens the networking phase: the Neutron SDN architecture with the ML2 plugin and mechanism drivers, the difference between provider networks and self-service networks, subnet definition with CIDR, gateway, DHCP pool, and DNS, and the concept of ports as virtual NICs.

This episode connects instances to the outside world: virtual routers with SNAT and DNAT, floating IPs that can be assigned and unassigned dynamically, and security groups as stateful firewalls with a default deny-all-inbound policy.

This episode covers block storage: volumes as persistent and portable virtual hard disks, creating, attaching, detaching, and moving volumes, snapshots for point-in-time recovery, and choosing backend drivers from LVM to Ceph RBD.

This episode covers Swift object storage: the concept of unbounded, scalable storage for unstructured data, its comparison with Cinder and Manila, the proxy, account, container, and object server architecture, and operations for creating containers and uploading objects via REST API and temporary URLs.
