Docker past present future www leannet eu Who

  • Slides: 14
Download presentation
Docker: past, present, future(? ) www. leannet. eu

Docker: past, present, future(? ) www. leannet. eu

Who am I? Co-founder @ Lean. Net Ltd. § Consulting, training, implementing § Cloud

Who am I? Co-founder @ Lean. Net Ltd. § Consulting, training, implementing § Cloud Native, Kubernetes, Microservices, Dev. Ops § Now part of the szabo@leannet. eu linkedin. com/in/szabvid twitter. com/szabvid www. leannet. eu

What Everyone Knows: Virtual Machines vs. Containers Container: § A bundle of the application

What Everyone Knows: Virtual Machines vs. Containers Container: § A bundle of the application code along with its runtime and dependencies App 1 App 2 App 3 OS OS OS Ov VM 1 VM 2 VM 3 erh ead App 1 App 2 App 3 Container 1 Container 2 Container 3 Container runtime Hypervisor Operating System Physical machine www. leannet. eu

Let’s Go Deeper – Why Docker? Containers are much older than the ones we

Let’s Go Deeper – Why Docker? Containers are much older than the ones we know and use nowadays: § They were created by using Linux kernel primitives: Control Groups Namespaces § Namespaces: q Makes a global system resource seems as it would belong to one process q Similarly as the Hypervisor abstracts away hardware for VMs + Control Groups www. leannet. eu

Let’s Go Deeper – Why Docker? § So even before Docker creating containers were

Let’s Go Deeper – Why Docker? § So even before Docker creating containers were possible, but very struggling! § Docker made it very easy, also introducing Docker Layers: q read only union file system (Union. FS) q to be transparently overlaid, forming a single coherent file system Container Þ Namespaces Þ Control Groups Þ Layers Image Read Only www. leannet. eu

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for creating containers) § However, at one point LXC development broke Docker so they developed their own substitute “libcontainer” Docker Namespaces Control Groups LXC Union. FS www. leannet. eu

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for creating containers) § However, at one point LXC development broke Docker so they developed their own substitute “libcontainer” Docker Namespaces Control Groups libcontainer Union. FS www. leannet. eu

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for creating containers) § However, at one point LXC development broke Docker so they developed their own substitute “libcontainer” § Docker became an ecosystem and added many features as a monolith: registry, orchestration, builds, etc. registry orchestration Namespaces Control Groups runtime Docker libcontainer images Union. FS builds compose www. leannet. eu

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for

Small History § Docker originally wrapped the LXC (low level tools, templates, libs for creating containers) § However, at one point LXC development broke Docker so they developed their own substitute “libcontainer” § Docker became an ecosystem and added many features as a monolith: registry, orchestration, builds, etc. q Bad since it is a Monolith registry q Conflicted with other Orchestrators runtime Docker orchestration libcontainer images Union. FS builds compose § When OCI (Open Container Initiative) came they rewrite their architecture (abandoned libcontainer in 2015) § OCI: Linux Foundation project to design open standards for OS-level virtualization www. leannet. eu

Platform and Ecosystem § § Client-server architecture Client uses CLI to send messages that

Platform and Ecosystem § § Client-server architecture Client uses CLI to send messages that are translated to REST API calls for the Docker Engine has a modular architecture It manages (here creates) the container Client $ docker run … $ docker build … $ docker pull … Docker Engine REST API Docker daemon runc www. leannet. eu

Platform and Ecosystem § § Client-server architecture Client uses CLI to send messages that

Platform and Ecosystem § § Client-server architecture Client uses CLI to send messages that are translated to REST API calls for the Docker Engine has a modular architecture It manages (here creates) the container Client $ docker run … $ docker build … $ docker pull … § Ecosystem: q Docker Hub q Docker Compose q Docker Desktop q (Docker Swarm) q Enterprise services/versions Registry Docker Host Docker Engine Images REST API Docker daemon Compute Services runc www. leannet. eu

Docker Benefits for Microservices and Dev. Ops § Example scenario for a modern CI/CD

Docker Benefits for Microservices and Dev. Ops § Example scenario for a modern CI/CD pipeline with Kubernetes and Azure https: //docs. microsoft. com/en-us/dotnet/architecture/containerized-lifecycle/dockerdevops-workflow/create-ci-cd-pipelines-azure-devops-services-aspnetcore-kubernetes www. leannet. eu

Docker Alternatives § Containers: q Kata q Nabla q Fire. Cracker § Runtime: q

Docker Alternatives § Containers: q Kata q Nabla q Fire. Cracker § Runtime: q CRI-O q Container. D § Image build: q Kaniko q Buildah § Conainers and Image management: q Pod. Man www. leannet. eu

Docker Future § Docker Enterprise: q Was acquired by Mirantis in 2019 q Docker

Docker Future § Docker Enterprise: q Was acquired by Mirantis in 2019 q Docker Enterprise Engine, Docker Trusted Registry, Docker Unified Control Plane and Docker CLI § Docker: q Expand Docker Desktop and Docker Hub’s roles in the developer workflow for modern apps q 2021 March 16: Docker Announces $23 M in Series B Funding § Containerization landscape has changed a lot: § There are many alternatives and heterogeneity § E. g. Kubernetes is deprecating Docker… § Docker still has its leading role: § Compatibility, maturity perspective § Ecosystem and platform perspective www. leannet. eu