SlideShare a Scribd company logo
1 of 38
Omer Barel
DevOps Engineer
@omerbarel
http://about.me/omerbarel
Containers
Behind the curtains
Omer Barel
DevOps Engineer @ CodeValue
Husband to Naama
Father to Leo & Theo
Love Whiskey & Travelling (preferably together! )
@omerbarel
http://about.me/omerbarel
Agenda
@omerbarel
In the beginning, there was chaos…
@omerbarel
Eureka!
@omerbarel
Same problem, different industry
@omerbarel
Once again… Eureka!
@omerbarel
Container runtime environment (engine)
Sealed application software
OS virtualization, not Hardware virtualization
What’s Docker?
@omerbarel
Hypervisor Architecture
Free space
Host OS
Server
VM
OS
App
VM
OS
App
VM
OS
App App
VM
OS
Hypervisor
Server
Container Architecture
Host OS
Docker Engine
App App App App
@omerbarel
As a runtime docker provide access to devices, file system, privileges, variables, functions, API etc.
App
Docker Engine
App
Dev Machine
App
Docker Engine
App App
Docker Engine
App
Infrastructure Agnostic
@omerbarel
A container image is a lightweight, stand-alone, executable package of a
piece of software that includes everything needed to run it: code,
runtime, system tools, system libraries, settings.
A container image is a template used to provision a container instance
A container is an instantiation of the image
One can create multiple container instances from a single image
Container Image vs. Instance
@omerbarel
Image registries are a centralized place to store and retrieve images.
There are many solutions out there, one of the most known one is Docker Hub.
Image registries
@omerbarel
Push Pull
Basic Docker Workflow
FROM ubuntu
CMD ["/usr/bin/mongod“]
RUN apt-key adv
COPY /file /dir/file
Build
@omerbarel
Demo
Build our App using Docker
Deploy our App using Docker
Fight!
Let’s get ready to rumble…
@omerbarel
Return of Investment and Cost Savings
Docker can help facilitate this type of savings by dramatically reducing
infrastructure resources. The nature of Docker is that fewer resources are
necessary to run the same application.
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
Docker containers ensure consistency across multiple
development and release cycles, standardizing your environment.
Docker provides repeatable development, build, test, and
production environments.
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
CI Efficiency
Docker enables you to build a container image and use that same
image across every step of the deployment process. A huge
benefit of this is the ability to separate non-dependent steps and
run them in parallel. The length of time it takes from build to
production can be sped up notably.
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
CI Efficiency
Compatibility and Maintainability
Eliminate the “it works on my machine” problem once and for all.
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
CI Efficiency
Compatibility and Maintainability
Portability
Well, docker container can run wherever docker engine is installed
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
CI Efficiency
Compatibility and Maintainability
Portability
Docker ensures your applications and resources are isolated and
segregated. Docker makes sure each container has its own
resources that are isolated from other containers.
Isolation
Benefits of Docker
@omerbarel
Return of Investment and Cost Savings
Standardization and Productivity
CI Efficiency
Compatibility and Maintainability
Portability
No Docker container can look into processes running inside
another container. From an architectural point of view, each
container gets its own set of resources ranging from processing to
network stacks.
Isolation
Benefits of Docker
Security
@omerbarel
How can I find the services I need?
What if it moves?
Which instance do I use if there are multiple instances?
Is my service up & running?
What I have to do if it is not running?
How can I scale my services?
How do I spread my workload against multiple instances?
How can I introduce new version of services without impacting existing users?
How can I test against failures?
How does the failure of one service affect other instances of the same service?
How does the failure of one service affect other related services?
How can I protect against catastrophic failure?
Prevent the failure of one service taking everything down…
How will data be synchronized across the system?
Challenges of Microservices
@omerbarel
Service discovery
Data Store
Security
Monitoring
Log aggregation
Exception tracking
Auditing
Metrics aggregation
Alerting
Distributed tracing
Deployment
The key concern is not how to avoid failure,
but how to deal with failure.
Challenges of Microservices
@omerbarel
Kubernetes
@omerbarel
Greek for helmsman
Based on Borg, Google internal container
management system
First announced by Google in mid-2014
v1.0 released in July 21st, 2015 and donated to
the development community (CNCF)
A trip down memory lane
@omerbarel
8: The numbers of characters between the “K”
and the “S” in Kubernetes, thus K8s
388,100: The number of comments on the
Kubernetes repository on GitHub during 2017
(making it the most-discussed repository)
60%: The percentage of users who use
Kubernetes in production applications (The New
Stack’s 2017 Kubernetes Survey)
72%: The percentage of enterprises who use
Kubernetes in production (The New Stack’s 2017
Kubernetes Survey)
Kubernetes by the numbers
@omerbarel
Kubernetes is an open source system for managing
containerized applications across multiple hosts,
providing basic mechanisms for deployment,
maintenance, and scaling of applications.
What’s Kubernetes
@omerbarel
Enables you to focus on building awesome
applications while alleviating the ops stress
What’s in it for you
@omerbarel
Key Concepts
Container Orchestration
The simplicity of PaaS with the flexibility of IaaS
Enables portability across infrastructure providers
Reconciliation Loops
Drive current state → desired state
Self-healing, automagically observe
diff
act
@omerbarel
Architecture
@omerbarel
Core primitives
Pod
Container
Small group containing 1 or more tightly-
coupled containers, using shared storage
and network
Use cases:
Master & Worker (Dependency)
Data producer and provider (Shared Storage)
Close proximity for low-latency
Pod
@omerbarel
Core primitives
Declaratively manage the lifecycle of
the micro service:
Creation
Scaling
Upgrade
Rollback
Termination
Contains Pods and ReplicaSets
Deployment
Deployment
ReplicaSet
Pod
Container
@omerbarel
Core primitives
Pods are ephemeral. wait, wait. WHAT???
They’re created and terminated
automagically, based on state changes
Their IP and name changes
Service establishes a persistent endpoint
for Pods
Allows internal and external access to
Pods (NodePort, ClusetrIP, LoadBalancer)
Labels and Selectors connects between
Service and Pods
Service
Service
Pod
Container
Pod
Container
Pod
Container
@omerbarel
Summary
Containers Pods
Deployment
DaemonSet
CronJob
StatefulSet
Service
app: my-app
track: stable
tier: FE
app: my-app
track: stable
tier: FE
env: devenv: dev
env: dev
app: my-app
tier: FE
track: stable
pv, pvcsecertconfigMap
@omerbarel
Demo
Build our App using Kubernetes
Deploy our App using Kubernetes
Fight!
Round 2
@omerbarel
Thank You!
Omer Barel
@omerbarel
DevOps Engineer
omerb@codevalue.net
@omerbarel

More Related Content

What's hot

Kubernetes Architecture with Components
 Kubernetes Architecture with Components Kubernetes Architecture with Components
Kubernetes Architecture with ComponentsAjeet Singh
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmJessica Deen
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018Jessica Deen
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDMustafa AKIN
 
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...Quinton Hoole
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap BreakfastJimmy Dahlqvist
 
The container ecosystem @ Microsoft A story of developer productivity
The container ecosystem @ MicrosoftA story of developer productivityThe container ecosystem @ MicrosoftA story of developer productivity
The container ecosystem @ Microsoft A story of developer productivityNills Franssens
 
Beyond Ingresses - Better Traffic Management in Kubernetes
Beyond Ingresses - Better Traffic Management in KubernetesBeyond Ingresses - Better Traffic Management in Kubernetes
Beyond Ingresses - Better Traffic Management in KubernetesMark McBride
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceIlyas F ☁☁☁
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?Eficode
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesQAware GmbH
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to ContainersRauno De Pasquale
 
Deploying Containers on Azure
Deploying Containers on AzureDeploying Containers on Azure
Deploying Containers on AzureHussein Salman
 
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps dayIntroducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps dayPlain Concepts
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes serviceVishwas N
 

What's hot (20)

Kubernetes Architecture with Components
 Kubernetes Architecture with Components Kubernetes Architecture with Components
Kubernetes Architecture with Components
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and Helm
 
Why Kubernetes on Azure
Why Kubernetes on AzureWhy Kubernetes on Azure
Why Kubernetes on Azure
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap Breakfast
 
The container ecosystem @ Microsoft A story of developer productivity
The container ecosystem @ MicrosoftA story of developer productivityThe container ecosystem @ MicrosoftA story of developer productivity
The container ecosystem @ Microsoft A story of developer productivity
 
Beyond Ingresses - Better Traffic Management in Kubernetes
Beyond Ingresses - Better Traffic Management in KubernetesBeyond Ingresses - Better Traffic Management in Kubernetes
Beyond Ingresses - Better Traffic Management in Kubernetes
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
 
Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to Containers
 
Azure Pipeline
Azure PipelineAzure Pipeline
Azure Pipeline
 
Deploying Containers on Azure
Deploying Containers on AzureDeploying Containers on Azure
Deploying Containers on Azure
 
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps dayIntroducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes service
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 

Similar to Containers behind the curtains

Containerization Report
Containerization ReportContainerization Report
Containerization ReportJatin Chauhan
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureJessica Deen
 
Role of Containerization in Automation Testing
Role of Containerization in Automation TestingRole of Containerization in Automation Testing
Role of Containerization in Automation TestingpCloudy
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleApigee | Google Cloud
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenTrang Nguyen
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfGuillaume Kpotufe
 
Kubernetes: A Top Notch Automation Solution
Kubernetes: A Top Notch Automation SolutionKubernetes: A Top Notch Automation Solution
Kubernetes: A Top Notch Automation SolutionFibonalabs
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsJules Pierre-Louis
 
stupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdfstupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdfDaniloQueirozMota
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...Katy Slemon
 
Kubernetes in The Enterprise
Kubernetes in The EnterpriseKubernetes in The Enterprise
Kubernetes in The EnterpriseTyrone Systems
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Introduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerIntroduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerShakthi Weerasinghe
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...eZ Systems
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 

Similar to Containers behind the curtains (20)

Containerization Report
Containerization ReportContainerization Report
Containerization Report
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
 
Role of Containerization in Automation Testing
Role of Containerization in Automation TestingRole of Containerization in Automation Testing
Role of Containerization in Automation Testing
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdf
 
Kubernetes: A Top Notch Automation Solution
Kubernetes: A Top Notch Automation SolutionKubernetes: A Top Notch Automation Solution
Kubernetes: A Top Notch Automation Solution
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
 
stupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdfstupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdf
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...
Kubernetes Vs. Docker Swarm: Comparing the Best Container Orchestration Tool ...
 
Kubernetes in The Enterprise
Kubernetes in The EnterpriseKubernetes in The Enterprise
Kubernetes in The Enterprise
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Introduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerIntroduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with Docker
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 

Containers behind the curtains

  • 2. Omer Barel DevOps Engineer @ CodeValue Husband to Naama Father to Leo & Theo Love Whiskey & Travelling (preferably together! ) @omerbarel http://about.me/omerbarel
  • 4. In the beginning, there was chaos… @omerbarel
  • 6. Same problem, different industry @omerbarel
  • 8. Container runtime environment (engine) Sealed application software OS virtualization, not Hardware virtualization What’s Docker? @omerbarel
  • 9. Hypervisor Architecture Free space Host OS Server VM OS App VM OS App VM OS App App VM OS Hypervisor Server Container Architecture Host OS Docker Engine App App App App @omerbarel
  • 10. As a runtime docker provide access to devices, file system, privileges, variables, functions, API etc. App Docker Engine App Dev Machine App Docker Engine App App Docker Engine App Infrastructure Agnostic @omerbarel
  • 11. A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. A container image is a template used to provision a container instance A container is an instantiation of the image One can create multiple container instances from a single image Container Image vs. Instance @omerbarel
  • 12. Image registries are a centralized place to store and retrieve images. There are many solutions out there, one of the most known one is Docker Hub. Image registries @omerbarel
  • 13. Push Pull Basic Docker Workflow FROM ubuntu CMD ["/usr/bin/mongod“] RUN apt-key adv COPY /file /dir/file Build @omerbarel
  • 14. Demo Build our App using Docker Deploy our App using Docker Fight!
  • 15. Let’s get ready to rumble… @omerbarel
  • 16. Return of Investment and Cost Savings Docker can help facilitate this type of savings by dramatically reducing infrastructure resources. The nature of Docker is that fewer resources are necessary to run the same application. Benefits of Docker @omerbarel
  • 17. Return of Investment and Cost Savings Standardization and Productivity Docker containers ensure consistency across multiple development and release cycles, standardizing your environment. Docker provides repeatable development, build, test, and production environments. Benefits of Docker @omerbarel
  • 18. Return of Investment and Cost Savings Standardization and Productivity CI Efficiency Docker enables you to build a container image and use that same image across every step of the deployment process. A huge benefit of this is the ability to separate non-dependent steps and run them in parallel. The length of time it takes from build to production can be sped up notably. Benefits of Docker @omerbarel
  • 19. Return of Investment and Cost Savings Standardization and Productivity CI Efficiency Compatibility and Maintainability Eliminate the “it works on my machine” problem once and for all. Benefits of Docker @omerbarel
  • 20. Return of Investment and Cost Savings Standardization and Productivity CI Efficiency Compatibility and Maintainability Portability Well, docker container can run wherever docker engine is installed Benefits of Docker @omerbarel
  • 21. Return of Investment and Cost Savings Standardization and Productivity CI Efficiency Compatibility and Maintainability Portability Docker ensures your applications and resources are isolated and segregated. Docker makes sure each container has its own resources that are isolated from other containers. Isolation Benefits of Docker @omerbarel
  • 22. Return of Investment and Cost Savings Standardization and Productivity CI Efficiency Compatibility and Maintainability Portability No Docker container can look into processes running inside another container. From an architectural point of view, each container gets its own set of resources ranging from processing to network stacks. Isolation Benefits of Docker Security @omerbarel
  • 23. How can I find the services I need? What if it moves? Which instance do I use if there are multiple instances? Is my service up & running? What I have to do if it is not running? How can I scale my services? How do I spread my workload against multiple instances? How can I introduce new version of services without impacting existing users? How can I test against failures? How does the failure of one service affect other instances of the same service? How does the failure of one service affect other related services? How can I protect against catastrophic failure? Prevent the failure of one service taking everything down… How will data be synchronized across the system? Challenges of Microservices @omerbarel
  • 24. Service discovery Data Store Security Monitoring Log aggregation Exception tracking Auditing Metrics aggregation Alerting Distributed tracing Deployment The key concern is not how to avoid failure, but how to deal with failure. Challenges of Microservices @omerbarel
  • 26. Greek for helmsman Based on Borg, Google internal container management system First announced by Google in mid-2014 v1.0 released in July 21st, 2015 and donated to the development community (CNCF) A trip down memory lane @omerbarel
  • 27. 8: The numbers of characters between the “K” and the “S” in Kubernetes, thus K8s 388,100: The number of comments on the Kubernetes repository on GitHub during 2017 (making it the most-discussed repository) 60%: The percentage of users who use Kubernetes in production applications (The New Stack’s 2017 Kubernetes Survey) 72%: The percentage of enterprises who use Kubernetes in production (The New Stack’s 2017 Kubernetes Survey) Kubernetes by the numbers @omerbarel
  • 28. Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. What’s Kubernetes @omerbarel
  • 29. Enables you to focus on building awesome applications while alleviating the ops stress What’s in it for you @omerbarel
  • 30. Key Concepts Container Orchestration The simplicity of PaaS with the flexibility of IaaS Enables portability across infrastructure providers Reconciliation Loops Drive current state → desired state Self-healing, automagically observe diff act @omerbarel
  • 32. Core primitives Pod Container Small group containing 1 or more tightly- coupled containers, using shared storage and network Use cases: Master & Worker (Dependency) Data producer and provider (Shared Storage) Close proximity for low-latency Pod @omerbarel
  • 33. Core primitives Declaratively manage the lifecycle of the micro service: Creation Scaling Upgrade Rollback Termination Contains Pods and ReplicaSets Deployment Deployment ReplicaSet Pod Container @omerbarel
  • 34. Core primitives Pods are ephemeral. wait, wait. WHAT??? They’re created and terminated automagically, based on state changes Their IP and name changes Service establishes a persistent endpoint for Pods Allows internal and external access to Pods (NodePort, ClusetrIP, LoadBalancer) Labels and Selectors connects between Service and Pods Service Service Pod Container Pod Container Pod Container @omerbarel
  • 35. Summary Containers Pods Deployment DaemonSet CronJob StatefulSet Service app: my-app track: stable tier: FE app: my-app track: stable tier: FE env: devenv: dev env: dev app: my-app tier: FE track: stable pv, pvcsecertconfigMap @omerbarel
  • 36. Demo Build our App using Kubernetes Deploy our App using Kubernetes Fight!
  • 38. Thank You! Omer Barel @omerbarel DevOps Engineer omerb@codevalue.net @omerbarel

Editor's Notes

  1. Dockerfile is a plain-text file, consists of instructions for the docker-engine on how to build the image. Dockerfile will placed in a directory where all of the artifacts that should be part of our image are placed. The image will also include the artifacts in the subdirectories.
  2. 30