
Explore modern practices of packaging applications into images and running them from containers, enabling isolated, lightweight deployment across environments.
Explore real-world uses of containers, highlighting portability with build once, run everywhere, and demonstrate deploying an app inside a Docker container across Linux, macOS, and Ubuntu.
Explore how containers boost resource efficiency through isolation and shared host resources, with docker creating images and containers, enabling vertical and horizontal scalability for microservices.
Learn how virtualization and virtual machines enable dynamic scaling of servers, and how containers improve efficiency, with a hands-on demo clarifying hosting and IP addressing.
Explore virtualization that enables running multiple operating systems on one machine via a hypervisor, demonstrated with VirtualBox on Windows and Ubuntu; contrast lightweight containers against heavy GUI virtual machines.
Compare virtual machines and containers, highlighting that containers are lighter, share host resources with isolation, and run applications with less overhead than VMs; experiments show containers scale cheaply and efficiently.
Discover how docker enables containerization and runs on major operating systems. Understand docker file, docker daemon, base image, layers, docker hub, and cli.
Verify Docker daemon is installed, build an image from a Dockerfile with python 3.10 base image, and run the container to see hello world, illustrating Docker CLI use and caching.
Master testing and running locally for microservices architectures using docker compose, connecting front end, back end, and postgres with a single command and ready dummy data.
deploy a dockerized front-end application to Google Cloud Platform using Cloud Run and Cloud Build, from a GitHub repository, building from a Dockerfile and enabling continuous integration and deployment.
Explore how Kubernetes orchestrates containers by abstracting them into pods, monitoring their life cycle, and auto-restarting containers built from Docker images across local and cloud deployments.
Scale up and down automatically with Kubernetes by adjusting pods and resources, compare single versus multi-pod setups, observe non-linear performance gains, and optimize scaling to save costs.
Explore how Kubernetes optimizes performance and user experience by running Go and Node.js workloads with the right language for the job, auto scales pods, and provides networking and self-healing.
Explore the real world downsides of Docker and containerization, including learning curves, complexity of orchestration, and cost, and understand when containerization is a business decision.
This engaging Udemy course offers a succinct yet comprehensive overview of containerisation and virtualisation, tailored to provide a high-level understanding of these pivotal technologies in modern software development and deployment. Over the span of approximately 90 minutes, participants will navigate through the essentials of containers and virtualisation, understanding their impact on software portability, efficiency, scalability, and the optimisation of user experiences in a cloud environment.
Course Value & Learning Outcomes:
Introduction to Containers: Delve into the basics of container technology, understanding its architecture and the fundamental principles that underpin its functionality.
Real-World Applications: Explore how containers are utilised to enhance software portability, increase efficiency, and enable software scalability through engaging demonstrations.
Insights into Virtualisation: Uncover what virtualisation entails, the problems it addresses, and its symbiotic relationship with containers, complemented by a practical demonstration of virtual machines.
Containers vs. Virtual Machines: Clarify the distinctions between containers and virtual machines, learning about their unique advantages and the appropriate contexts for their use.
Exploring Docker: Investigate Docker, recognising the problems it solves and how it revolutionises local development workflows, with an emphasis on theoretical understanding rather than hands-on practice.
Overview of Cloud Deployment: Gain insights into the process and best practices for deploying dockerised applications to the cloud, understanding the strategic considerations involved.
Introduction to Kubernetes: Learn about the orchestration of multiple containers at scale with Kubernetes, grasping its core concepts and architecture in a high-level overview.
Application Scaling with Kubernetes: Discover how Kubernetes aids in scaling applications to meet demand, focusing on the theoretical aspects of application scalability.
User Experience Optimisation: Learn how Kubernetes can be utilised to optimise user experiences, ensuring high availability and efficient resource utilisation.
Understanding the Drawbacks: Engage in a critical examination of the drawbacks of containerisation, considering potential challenges and implications for implementation.
Who Should Enroll?
This course is designed for individuals seeking a foundational understanding of containerisation and virtualisation without the necessity for deep technical skills. It is perfect for software developers, system administrators, and DevOps professionals aiming to familiarise themselves with the key concepts and the strategic value of these technologies.
Why Enroll in This Course?
Enrolling in this course will equip you with a clear and concise understanding of containerisation and virtualisation, highlighting their significance in the modern technological landscape. Through a series of engaging demonstrations and theoretical discussions, you will learn about the critical aspects of these technologies, enabling you to appreciate their benefits and challenges. This course is an excellent opportunity to quickly grasp essential concepts, providing a solid foundation for further exploration or strategic decision-making in your professional journey.