Get startedGet started for free

Containerization

1. Containerization

Think about how a package delivered to your door got there from its original location. It probably started off in a warehouse and then went inside a cargo container. There will be many packages of different sizes inside each container. Next, the containers are loaded onto a transport vehicle, like a train car or ship. Multiply this by thousands of containers over the world. They’re transported from one place to another, but this doesn't change the contents inside. Like your package. Okay, so a container is a software package that holds only the components necessary to execute a particular application. Each container has a container image, which is a file with the code and dependencies that the container requires to run the application. Like documents in a filing cabinet, the cabinet is the container, the folders in each drawer are container images, and those container images store the documents or information needed to perform a task. Developers use something called container registries to upload and download container images. This enables teams to share and deploy consistent images. And organizations use orchestration tools to help deploy, scale, manage, and monitor containers. Packaging software in a container uses less memory and fewer resources because the operating system itself is not included in the container. And bonus: they’re isolated from the surrounding environment, which means they’re pretty easy to deploy across cloud deployment models like public, private, or hybrid clouds. You’ll work with containers a whole lot throughout your career, so it’s important to understand their key benefits, including portability, immutability, and responsibility separation. Let’s kick off with portability. Containers enable users to run software quickly from one computing environment to another. This portability helps create cloud tools super efficiently. Unlike virtual machines that have an operating system, containers only house isolated software while using a common underlying operating system. This allows an individual container image to run in multiple locations without the need for a separate operating system. All of this contributes to their portability. Next up, immutability. Immutability means an object can’t be changed after it’s created and assigned a value. Just like the contents of those shipping containers don’t change during transit, cloud containers also can’t be modified during their lifetimes. If a container does require a change, users must create a new container image and redeploy it. This allows developers to seamlessly replace outdated or insecure container images. Immutability makes containers more secure by ensuring consistency across multiple deployments since there is no patching or updating that could cause configuration drifts. Lastly, containers separate the responsibilities among the developers and operations teams. Developers can devote their time to managing the container’s code, and operations teams can concentrate on deploying and managing the container’s applications. This frees people up to work on the projects where they can bring the most value. And there’s nothing like knowing you’re playing to your strengths. Guiding you through this lesson was a blast. I can hardly contain myself. Ok, ok, but seriously, I’m confident that you’ll bring all kinds of value to your future security team and organization. Especially because you’ll be able to clearly and confidently advise them about all things containers!

2. Let's practice!

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.