
Explore how containers isolate packaging and shipping applications, removing barriers to testing and deploying software, and bring containerisation into your development and production infrastructure.
Learn how containers wrap an application with its libraries and dependencies to run in isolation. Enable repeatable deployments, simpler rollbacks, and consistent testing across pipelines and testing environments.
Compare monolithic applications with microservices and containerized components to enable independent scaling, asynchronous updates, and loosely coupled services communicating over network ports to avoid distributed monoliths.
Explore how containers support development and packaging, providing lightweight, ephemeral sandboxes that mirror production, enable local database testing, and allow incremental updates and stable build environments.
Learn to build a lightweight development environment in a container using Docker desktop, Alpine base images, and a Getit app, then run and view it on port 3000.
Create a multi-container dev stack with docker compose, running a mysql database and a web app, connected via a network and configured with environment variables and ports.
Package code and libraries in containers at release start, test across environments, and deploy the same artifact to production, enabling quick rollouts and safe rollbacks under 12 factor app philosophy.
Establish strict environment boundaries to preserve integrity across development, staging, and production. Use identical container packaging and environment-specific configuration to enable reliable tests and safe rollbacks.
Identify and mitigate container security risks by reducing vulnerable dependency packages, scanning for flaws, and enforcing least privilege through role-based access control across orchestration tooling.
Adopt a platform mindset to streamline deployments and empower developers to own the code. Use containers and orchestration to simplify CI/CD, keep dependencies with code, and accelerate deployment velocity.
Orchestrate container operations by managing the container state to meet workload demands. Automate scale, load balancing, networking, storage, and deployment with an orchestrator so developers focus on code.
Docker Swarm offers decentralized orchestration for containers, featuring manager and worker nodes, leader election, tasks and services, with global and replicated modes and load balancing.
Explore how Kubernetes, distinct from Docker Swarm, orchestrates containers across cluster with a control plane and nodes. Learn how pods, replica sets, and services manage stateless workloads and persistent storage.
Learn how Apache Mesos coordinates container workloads with master and agent daemons, using Zookeeper for high availability and Marathon for stateful orchestration and a web user interface.
Explore cloud container hosting across AWS, Google Cloud, and Azure, with Kubernetes as the dominant platform; compare hosted control planes to self-hosted and serverless options like Google Cloud Run.
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
In this course you will learn how you can benefit from containers, how to deploy containers in a DevOps environment, and best practices for using containers effectively
We'll get into what containers are, where and when you can use them, and how to manage them. We'll also get into containers in development, packaging, and production, with examples and factors to consider for each.
In addition you'll get an in-depth look at how you can use Docker Swarm, Kubernetes, Mesos, and cloud container solutions to manage your containers effectively.
Containerization entails placing a software component and its environment, dependencies, and configuration, into an isolated unit called a container. This makes it possible to deploy an application consistently on any computing environment, whether on-premises or cloud-based.
Containers are a fundamental component of many DevOps processes. They are lightweight, can be deployed consistently in multiple environments, and are easy to transfer from one team to another. In this way, they help foster cross-organizational collaboration.
The transition to containers is helping developers and security teams address issues earlier in the development process before they become issues in production environments.