
In this introductory lesson, the instructor provides foundational knowledge about containers, likening them to small applications that don't necessitate a dedicated machine. Emphasizing the concept of microservices and their role in containers, the lesson also introduces the critical term API (Application Programming Interface), explaining it as a universal language enabling communication between applications, even if written in different programming languages.
In this lesson, the instructor introduces the concept of microservices and compares them to traditional monolithic application architecture. Exploring the benefits of microservices, such as increased resilience, flexible scaling, and modular development, the lesson emphasizes the ease with which developers can replace parts of an application, ultimately highlighting the advantages of this approach in cloud computing environments.
In this brief overview, the instructor covers key terms related to DevOps, dependencies, hypervisors, and AWS (Amazon Web Services). DevOps is explained as an organizational approach where development and operations teams collaborate closely, resulting in faster application development. Dependencies refer to when one software relies on another for proper functioning, while a hypervisor is described as software enabling multiple virtual machines on a physical host. AWS is introduced as a cloud service allowing the running of containers and other workloads on hardware managed by Amazon.
In this video, the instructor discusses the disadvantages of utilizing microservices as part of application architecture. The complexity of managing and monitoring multiple microservices introduces operational challenges, requiring a DevOps culture for effective collaboration between development and operations teams. Additional concerns include eventual consistency, where latency in microservices communication may impact user experience, and distribution issues, such as potential delays due to multiple remote calls. The instructor emphasizes the importance of addressing these drawbacks when adopting microservices and containers, highlighting the need for careful consideration in application development.
In this brief overview, the instructor introduces key terms for the upcoming lesson:
Binaries: These are computer programs that exist within a container, and they may fulfill dependencies for other binaries.
ESXi Host or Hyper-V Host: Refers to a hypervisor, such as VMware's ESXi or Microsoft's Hyper-V, allowing multiple virtual machines to run on a single physical host, each with its independent operating system.
Kubernetes: An open-source container orchestration solution, similar to Docker, providing a way to manage and coordinate containers efficiently.
Compute Resources: Specifically, CPU and memory resources that containers utilize, indicating the amount of CPU and memory consumed by the containerized applications.
In this lesson, the instructor explores the concept of containers as the preferred method for running microservices, highlighting their benefits in overcoming challenges related to software deployment across different computing environments. Containers encapsulate the entire runtime environment of an application, including dependencies, libraries, and configuration files, providing a consistent and portable execution environment. The instructor compares containers to virtual machines, emphasizing the lightweight nature of containers due to their ability to share a single operating system instance, resulting in more efficient resource utilization. The lesson concludes with an overview of key terms such as source code, dependencies, container engine, image, and registry, elucidating the process of containerization from code development to deployment.
In this brief lesson, the instructor introduces the term "functions" as a key concept available in cloud platforms like Amazon Web Services, Google Cloud, and Azure. Functions are essentially blocks of code, and in AWS, they are referred to as Lambda Functions. The key advantage of functions is their serverless nature, allowing code execution without the need to manage servers or containers. When an API call is made, the function executes the code, and once completed, the function terminates, providing an efficient and scalable approach to code deployment and execution in the cloud.
In this lesson, the instructor discusses a potential application scenario involving an online slot machine and illustrates the advantages of using containers and microservices for scalability. Instead of relying on a traditional virtual machine (VM) to run the slot machine application continuously, the instructor proposes using containers that are deployed just in time for user sessions. This approach allows for efficient resource utilization, as instances of microservices (containers) are created and terminated dynamically based on demand, ensuring scalability and cost-effectiveness in a cloud computing environment. The concept of horizontal scaling is introduced, emphasizing the elastic nature of scaling in the cloud, and the instructor mentions serverless functions like AWS Lambda as another option for efficiently managing microservices without the need to handle infrastructure details.
In this lesson, the instructor introduces Docker and Kubernetes, highlighting their complementary roles in the container ecosystem. Docker serves as the primary container solution, creating images for applications, while Kubernetes acts as an orchestration tool, dynamically managing the deployment and distribution of containers across clusters to enhance scalability and availability.
This video introduces key Docker terms and concepts, emphasizing Docker as container management software and explaining the significance of images and containers. The lesson provides a clear understanding of Docker's role in managing containerized applications, ensuring portability, and simplifying development across diverse environments.
In this video, the instructor guides viewers through the process of downloading and installing Docker on a Windows PC. The tutorial covers essential steps such as downloading Docker for Windows, addressing potential installation issues, and configuring Docker desktop settings. The demonstration ensures users have a seamless experience getting started with Docker for Windows.
This video demonstrates how to install the Docker Engine on Ubuntu desktop, highlighting the distinction from Mac OS or Windows installations. He guides users through commands in the terminal, covering the removal of existing Docker files, installation of Docker, system updates, and pulling a container image from Docker Hub, providing a comprehensive overview of setting up Docker on Ubuntu.
In this video, the focus is on container orchestration, specifically with Kubernetes. The tutorial provides an in-depth understanding of the container infrastructure, emphasizing the role of container images, registry servers, container hosts, and the challenges of orchestrating containers manually. It introduces Kubernetes as a solution, explaining how it uses a declarative API to manage the desired state of containers, master schedulers for intelligent distribution, and the self-healing capabilities that make orchestrating containers at scale efficient and automated.
In the upcoming two videos, Rick will demonstrate deploying a sample application in Kubernetes using Google Cloud. Participants will need a free Google Cloud account and will utilize a lab guide provided in the course resources to streamline the creation of the Kubernetes cluster and application deployment.
In this video, the instructor guides viewers on how to sign up for a Google Cloud account and explains the benefits of the free services offered, including $300 in free credits and access to over 20 products. The process includes simple steps for registration, adding a payment method for the 90-day trial, and a preview of creating a Kubernetes cluster in subsequent lessons.
In this demonstration, Rick guides viewers through the process of setting up and managing a Kubernetes Cluster using Google Kubernetes Engine on the Google Cloud Platform. He explains the steps from creating a new project and enabling necessary APIs to deploying and managing a Kubernetes Cluster, culminating in the proper shutdown and cleanup to avoid incurring charges.
In this lesson, we delve into Amazon's ECS (Elastic Container Service) and its integration with Fargate, a managed compute engine. ECS orchestrates container deployment on EC2 instances or Fargate, providing seamless integration with AWS services like ECR (Elastic Container Registry) and auto scaling, with Fargate offering a serverless option for managing containers, simplifying operations and potentially reducing costs based on workload characteristics.
In this video, we explore AWS container services, focusing on Elastic Kubernetes Service (EKS) and its integration with Fargate. The lesson details how EKS simplifies Kubernetes deployment by managing the control plane and allowing seamless integration with Fargate for serverless compute, thereby eliminating the need to manage worker node EC2 instances.
In this lesson, we explore various container service offerings from AWS, Azure, and Google, highlighting key features and differences among them. The discussion emphasizes the importance of selecting a container service based on existing cloud commitments and integration capabilities, with specific attention to the fully managed services of Azure Kubernetes Service and similarities across the platforms.
"This course is awesome for zero to intermediate learners." -Nagendra
"Concise and clear overview of Containers! Pace is great, slides are clear and gets to the point." -Gayle
New lessons added in 2025!
This course is for beginners. Are you brand new to Containers? Have you found that many of the training resources out there use complex technical jargon that make it difficult to understand the basic concepts? If you need to get a basic understanding of Docker and Kubernetes quickly and clearly, this is the course for you.
Frequent quizzes and downloadable PDF study guides are recent additions to this course that will help you learn even faster!
This course answers the questions:
What are microservices and containers?
What do Docker and Kubernetes do, and what are some of the key terms I should know?
What cloud solutions exist (AWS, Google, and Azure)?
What is the best way for my organization to get started with Containers?
How do I get started with Docker?
How can I create a Kubernetes Cluster and deploy apps?
I have taught hundreds of thousands of students across a variety of platforms, and I think anyone brand new to containers will love this course. Most lectures in this course are 5 - 10 minutes long. This course gives you an understanding of what Docker and Kubernetes do, and how to run them in the cloud. This course is meant to be a quick primer.
It includes basic hands-on demos that you can do, including getting started with Docker, creating and running Docker Containers, and creating your first Kubernetes Cluster and deploying a sample application.
If you are just getting started with Containers, this course will give you a strong foundation and is the ideal starting point.