
Explore the five essential cloud characteristics defined by NIST—on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service—through practical api calls and auto-scaling examples.
Discover how IaaS cloud architecture uses regions and availability zones to deliver highly available, scalable workloads, with foundation services like compute, networking, storage, and regional endpoints.
A demonstration of the AWS Cloud Architecture. This demo is intended to help you grasp key IaaS cloud concepts such as Regions, AZs, Services and Endpoints.
Virtualization in the cloud decouples infrastructure from hardware, enabling rapid allocation and elastic, multi-tenant resource pooling for compute, network, and storage services delivered via software.
Discover how hypervisors enable on-demand virtual machines by partitioning resources and isolating guests, covering type 1 and type 2 hypervisors, hosts, guests, and cloud instances.
Explore how Docker containers provide os-level isolation on the host kernel without a hypervisor, and how container images package code, libraries, and runtimes for deployment from registries like Docker Hub.
Understand Docker architecture, including the Docker host, dockerd daemon, and Docker client, and how images are pulled from registries and pushed to registries with swarm mode for scaling.
Compare virtual machines and containers, highlighting OS-level virtualization, kernel sharing, and isolation. Learn how CI-CD enables atomic container updates and easier deployment and scaling versus VM-based approaches.
Explore how docker container networking uses bridge and overlay drivers to provide multi-host connectivity, DNS-based service discovery, IP address management, and plugin-enabled network extensions across private OpenStack and public clouds.
Explore how container orchestration engines automate deployment and scheduling of containerized workloads on a cluster, using kubernetes, swarm, and mesos to manage pods, services, replication, and scaling.
Explore OpenStack, the open source cloud platform in Python that enables private, public, and hybrid clouds, using modular services like compute and networking, REST APIs, and AMQP messaging.
Explore the history and evolution of OpenStack, from NASA and Rackspace's 2010 origins using the Nebula code base, to the OpenStack Foundation and six-month release cycles.
Learn how OpenStack governs cloud projects through the OpenStack way: open source, open community, open development, and open design, overseen by PTL, PTO, and DCs.
Provides a 500-foot view of six popular OpenStack projects—Keystone, Nova, Neutron, Cinder, Glance, and Swift—covering identity, authentication, authorization, service catalog, compute, networking, and block storage, image service, and object storage.
Explore horizon's view of OpenStack projects, including Heat for orchestration, telemetry for metering, Magnum for containers, Trove for databases, Sahara for data processing, and Ironic for bare metal.
Explore how Keystone authentication and token-based API calls enable Horizon to orchestrate OpenStack compute, image, network, and storage services via the service catalog.
Explore how OpenStack networking with the neutron server provisions multi-vendor networks using rest APIs, Horizon UI, and plugin mechanism drivers across physical and virtual infrastructure.
Compare the old host-OS deployment with the new docker container approach. Containers isolate libraries, prevent conflicts, and enable portable, consistent deployment from development to production across clouds.
Explore immutable infrastructure built from minimal atomic host OS and container images, where updates replace running software rather than in-place changes, enabling automated, predictable rollovers and easy rollbacks.
Objectives for Lab1
Install VirtualBox, which functions as the virtualization platform to run VMs on your computer.
Install and setup Vagrant to easily create and manage Virtual Machines on your computer.
Get the Fedora Linux image, start the VM and ssh into it using Vagrant.
Setup the Fedora Linux environment to run Docker containers.
Get started by running your first Docker containers!!!
Lab2 Objectives
Work with Docker using the Vagrant VM we built in Lab1. Practice and learn several handy Docker commands used in production environments to manage Docker containers.
Understand the objectives of this lab.
Learn about the application that we will be building and running as a Docker container.
Develop the python application
Learn how to define a container for the application we developed using a Dockerfile
Learn the best practices to create Dockerfiles for your container images
Secure copy (scp) our application files to the Docker host to build the container image.
Understand the anatomy of a Docker image.
You will learn how to build a Docker image in this lab.
Understand the differences between a Docker Container and Docker Image
We'll run the docker container we created and also test it!.
What's a container registry and how is it different from a container repository?
You will learn about this in this lecture.
Setup the quay.io container registry to push your Docker image.
Learn how to tag and publish your image using a container registry service.
Learn how to pull and run images from a container registry.
This course will introduce you to the essential concepts in Cloud Computing, Docker and the OpenStack Cloud using hands-on labs, quizzes and demos.
First, the video lectures, quizzes and illustrations in section1, will build a solid technical background.
Next, the hands-on lab videos and demos will help in absorbing all the theoretical concepts learned earlier.
I have designed this course such that even a beginner can understand and work with these technologies.
Make sure to watch the course promo video to learn more about the curriculum.
My teaching assistant and I will support your learning and strive to clarify your doubts using the Udemy Q&A facility.
We're glad to have assisted you in your quest for Cloud Computing, Docker and OpenStack knowledge.
We sincerely hope you have a fulfilling learning experience!