All Projects → saschagrunert → Demystifying Containers

saschagrunert / Demystifying Containers

Licence: mit
A series of blog posts and talks about the world of containers 📦

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Demystifying Containers

Bitnami Docker Ghost
Bitnami Docker Image for Ghost
Stars: ✭ 76 (-68.6%)
Mutual labels:  blog, containers
Bitnami Docker Wordpress
Bitnami Docker Image for WordPress
Stars: ✭ 476 (+96.69%)
Mutual labels:  blog, containers
Qiubaiying.github.io
BY Blog ->
Stars: ✭ 2,674 (+1004.96%)
Mutual labels:  blog
The Indie Web
A hotspot for indie creations on the web
Stars: ✭ 240 (-0.83%)
Mutual labels:  blog
Zhangyachen.github.io
zhangyachen's blog
Stars: ✭ 238 (-1.65%)
Mutual labels:  blog
Cwltool
Common Workflow Language reference implementation
Stars: ✭ 235 (-2.89%)
Mutual labels:  containers
Blog Admin
blog-admin @react、@typescript、@apollographql
Stars: ✭ 239 (-1.24%)
Mutual labels:  blog
Monkov
A blog system built with vue and koa
Stars: ✭ 234 (-3.31%)
Mutual labels:  blog
Blog
风中挥舞狂乱的双手,写下灿烂的诗篇,不管有多么疲倦
Stars: ✭ 242 (+0%)
Mutual labels:  blog
Staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
Stars: ✭ 236 (-2.48%)
Mutual labels:  containers
Batch Shipyard
Simplify HPC and Batch workloads on Azure
Stars: ✭ 240 (-0.83%)
Mutual labels:  containers
Box
A mruby-based Builder for Docker Images
Stars: ✭ 236 (-2.48%)
Mutual labels:  containers
Self Hosted Docker Server Templates
Just some templates to get someone started with hosting various servers in Docker
Stars: ✭ 237 (-2.07%)
Mutual labels:  containers
Swiftbysundell
Code samples from the Swift by Sundell website & podcast
Stars: ✭ 239 (-1.24%)
Mutual labels:  blog
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+1009.09%)
Mutual labels:  containers
Blog
煎鱼的博客,有点忙,传送门:https://eddycjy.com
Stars: ✭ 2,772 (+1045.45%)
Mutual labels:  blog
Tms
基于频道模式的团队沟通协作+轻量级任务看板,支持mardown、富文本、在线表格和思维导图的团队博文wiki,i18n国际化翻译管理的响应式web开源团队协作系统。
Stars: ✭ 232 (-4.13%)
Mutual labels:  blog
Emacs Easy Hugo
Emacs major mode for managing hugo
Stars: ✭ 235 (-2.89%)
Mutual labels:  blog
Blog Angular
Angular 笔记
Stars: ✭ 238 (-1.65%)
Mutual labels:  blog
Canvas
A Laravel publishing platform
Stars: ✭ 2,838 (+1072.73%)
Mutual labels:  blog

Demystifying Containers

logo

This series of blog posts and corresponding talks aims to provide you with a pragmatic view on containers from a historic perspective. Together we will discover modern cloud architectures layer by layer, which means we will start at the Linux Kernel level and end up at writing our own secure cloud native applications.

Simple examples paired with the historic background will guide you from the beginning with a minimal Linux environment up to crafting secure containers, which fit perfectly into todays’ and futures’ orchestration world. In the end it should be much easier to understand how features within the Linux kernel, container tools, runtimes, software defined networks and orchestration software like Kubernetes are designed and how they work under the hood.

Table of Contents

Part I: Kernel Space

This first blog post (and talk) is scoped to Linux kernel related topics, which will provide you with the necessary foundation to build up a deep understanding about containers. We will gain an insight about the history of UNIX, Linux and talk about solutions like chroot, namespaces and cgroups combined with hacking our own examples. Besides this we will peel some containers to get a feeling about future topics we will talk about.

You can find the blog post:

The corresponding talk:

The slides of the talk:

Part II: Container Runtimes

This second blog post (and talk) is primary scoped to container runtimes, where we will start with their historic origins before digging deeper into two dedicated projects: runc and CRI-O. We will initially build up a great foundation about how container runtimes work under the hood by starting with the lower level runtime runc. Afterwards, we will utilize the more advanced runtime CRI-O to run Kubernetes native workloads, but without even running Kubernetes at all.

You can find the blog post:

The corresponding talk:

The slides of the talk:

Part III: Container Images

This third blog post (and talk) will be all about container images. As usual, we start with the historic background and the evolution of different container image formats. Afterwards, we will check out what is inside of the latest Open Container Initiative (OCI) image specification by crafting, modifying and pulling apart our self-built container image examples. Besides that, we will learn some important best practices in modern container image creation by utilizing tools like buildah, podman and skopeo.

You can find the blog post:

The corresponding talk:

The slides of the talk:

Part IV: Container Security

Security-related topics can be overwhelming, especially when we’re talking about the fast-pacing container ecosystem. After encountering multiple security vulnerabilities in 2019, the press is now questioning if containers are secure enough for our applications and if switching from Virtual Machines (VMs) to container-based workloads is really a good idea. Technologies like micro VMs target to add an additional layer of security to sensitive applications.

But is security really a problem when speaking about running applications inside? It indeed is, if we do not fully understand the implications of the security-related possibilities we can apply or if we don’t use them at all.

In this blog post, we will discover the bright world of container security in a pragmatic way. We will learn about relatively low level security mechanisms like Linux capabilities or seccomp, but also about fully featured security enhancements like SELinux and AppArmor. We’ll have the chance to build up a common ground of understanding around container security. Besides that, we will take a look into securing container workloads at a higher level inside Kubernetes clusters by using Pod Security Policies and by securing the container images itself. To achieve all of this, we will verify the results of our experiments by utilizing end-user applications like Kubernetes and Podman.

You can find the blog post:


Part X

Further parts of the series are not available yet.

Contributing

You want to contribute to this project? Wow, thanks! So please just fork it and send me a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].