SlideShare uma empresa Scribd logo
1 de 39
ManageImplementAdviseEducate
Container Orchestration using
Docker & Kubernetes
By Mahendra Shinde
ManageImplementAdviseEducate
Agenda
Module 1: Introduction to Containers
Module 2: Container Architecture
Module 3: Docker Architecture
HOL 1: Installing Docker CE on Windows & Linus Host
Module 4: Application modernization using docker
Demo : Deploying TWO TIER application Using Docker compose
HOL 2: Deploying TWO TIER application (DotNet Core + MS SQL) using Docker compose
Module 5: Understanding Orchestration
ManageImplementAdviseEducate
Module 1
Introduction to Containers
ManageImplementAdviseEducate
Application packaging strategies
 Every Application has certain dependencies.
 Libraries provided by Operating System
 Libraries provided by runtime environment like Java, Python & Dot Net runtime
 Server Runtime like Tomcat for Java, IIS for Asp.net, Apache httpd
 Third Party Libraries
 Change in Dependencies affects Application.
ManageImplementAdviseEducate
Application packaging strategies /challenges
 Application goes through following phases:
 Development
 Testing
 Staging
 Production
 Managing dependencies across all these environments could be challenging.
 Creating compatible dev-test environment may take considerable time.
 Question : Challenges in moving application between environments
 Question: List Existing solutions based on Virtualization
ManageImplementAdviseEducate
Containers as alternative
• A Typical container would have application
& all its dependencies packed together.
• This makes container “decoupled” from
targeted environment.
• Only restriction being Windows or Linux
platform.
Container
Base Image
Runtime (JRE / Python / Node)
Third Party Libs
Application Image
Writable Layer
ManageImplementAdviseEducate
Benefits of Containers
• Isolate application from underlying OS and
Hardware.
• Lightweight, provides higher density than
Virtual machines.
• Dev-Ops ready. Many CI/CD platforms
support container deployments/build.
• Every container executes in a separate user
space.
ManageImplementAdviseEducate
Container vs Virtual machines
• Virtual machines provides hardware level
virtualization.
• Virtual machines contains Operating system.
• Virtual machines use guest OS kernel.
• Host OS and Guest OS could be completely
different.
• Booting up VM is equivalent of booting a
physical machine.
• Containers provide software level isolation,
no hardware virtualization.
• Containers use “base image” which provide
basic OS level libraries but not the OS.
• Containers use host OS kernel.
• Due to dependence on Host OS Kernel,
containers must be deployed on compatible
host OS.
• Launching container is equivalent of
launching an application.
ManageImplementAdviseEducate
Container platforms
• Docker from Docker Inc
• LXC from Linux
• LXD from Ubuntu
• RKT from CoreOS
ManageImplementAdviseEducate
Module 2
Container Architecture
ManageImplementAdviseEducate
Container & Images
• Containers are running instances of image
• Image is a read-only filesystem made of “layers”
• Each “layer” is an image which may contain a specific application, library or runtime.
• Container has an extra “Writable” layer.
• The bottom-most image is “base” image.
Host Kernel
Debian Image [Read Only]
BusyBox Image [Read Only]
Apache2 HTTP Image [Read Only]
MySQL DB Image [Read Only]
Writable Layer
Writable Layer
ManageImplementAdviseEducate
Read-Only vs Writable layers
• Read-only layers are shared by multiple containers / images.
• Writable layer allows read and write operations
• Every container has ONE writable layer.
• Every layer has unique ID and meta-data.
ManageImplementAdviseEducate
Image repositories
• An Image repository is persistent storage for container images
• A private repository can be accessed by selected users.
• A public repository can be accessed by any one.
• A Developer may “Push” application as container image.
• An operations team may “Pull” the same image for deployment.
• Many cloud platforms do provide “Hosted” container repositories.
• Host repositories are managed by vendor.
ManageImplementAdviseEducate
Container Networking
• Containers can communicate through a container network.
• Container platform like docker have
Multiple network models.
Host Kernel
Container Network
Container
1
Container 2
ManageImplementAdviseEducate
Module 03
Docker Architecture
ManageImplementAdviseEducate
Docker As a Container platform
• An open platform for developing, shipping, and running applications.
• Started it’s life as a PaaS provider by name dotCloud.
• Since its inception, working with linux container.
• The container platform was named “Docker”
• In 2013, got “rebranded” as Docker Inc.
• A container platform based on “runc” and “libcontainer”
ManageImplementAdviseEducate
Docker Editions
• Community edition (Docker CE)
• Ideal for developers and small teams experimenting with containers.
• Enterprise Edition (Docker EE)
• Enterprise development & IT team for business critical
applications at production scale.
ManageImplementAdviseEducate
Docker components
• Docker engine (docker daemon)
• Docker container images
• Docker containers
• Docker CLI (client)
• Docker (REST) API
• Docker Registry
ManageImplementAdviseEducate
Docker components
• Batteries included but “removable” (“replaceable”)
• Built in security
• Linux hosts can use AppArmor or SELinux
• Namespaces to restrict access to host system resources.
ManageImplementAdviseEducate
Docker on Windows & Linux hosts
• Docker being only container platform supporting both Windows and Linux.
• Windows based container supported only on Windows 10 PRO and Windows Server 2016.
• Docker installation on windows uses different components than linux host.
• Images built for linux cannot be deployed on windows hosts.
• Windows do have a trick: docker-machine and moby project to run linux containers through
a lightweight VM.
ManageImplementAdviseEducate
Hands On LAB
• HOL 1: Installing Docker CE on Windows Server 2016
• Pre-requisite:
• Azure subscription
• Basic Windows administration w/ powershell.
• Windows server 2016 VM on Azure
• Remote Desktop client (built in windows) for accessing windows VM.
ManageImplementAdviseEducate
Hands On LAB
• HOL 2: Installing Docker CE on Ubuntu Server 18.04 LTS
• Pre-requisite:
• Azure subscription
• Basic Linux administration using bash shell.
• Ubuntu Server 18.04 LTS VM on Azure
• SSH Client (PuTTY or Git Bash or Ubuntu Bash)
ManageImplementAdviseEducate
Module 04
Application modernization
ManageImplementAdviseEducate
Application types
• A multi-layered monolith application
• A distributed application / SOA
• Micro-services
• Containers do support
all of them!
• Monolith = Single large
Container for App
+ DB Container
• Distributed =
Container for each
Service / Module
ManageImplementAdviseEducate
A typical TWO TIER Application
Front End App Container
Back End App Container
Back End App Container
Back End App Container
Front End App Container
ManageImplementAdviseEducate
Dockerfile
• Automates the “Build” process of a container.
• Integrates with all popular CI/CD tools.
• Simple language to define entire build workflow
• Basic system administration commands needed.
• Windows : prefer powershell
• Linux: prefer bash
• Can be placed in SCM
ManageImplementAdviseEducate
Docker compose
• A Tool for defining and deploying multi-container application.
• Compose is a THREE STEP process
• Define the application environment using Dockerfile
• Define the services that make up your application using docker-compose.yml file
• Run docker-compose up command to quickly run entire application in isolated environment.
• Provides re-producible deployment artefacts.
• Only recreates container that have changed.
• Upon “restart” containers are spawned from “cached” versions if no change detected.
• Supports environment variables
• Supports “secrets”
• Traditionally used for Single host deployment.
ManageImplementAdviseEducate
Docker Compose
“Web” container
“Redis” Container
ManageImplementAdviseEducate
Docker Compose vs Dockerfile
ManageImplementAdviseEducate
Dockerfile reference
Command Description
FROM Initializes a new build and define “base” image to be used for building.
RUN A Step to be executed in build process. Can be used for installing necessary package.
CMD Provide DEFAULT “startup” action for container. Must be used only ONCE.
LABEL Provides additional META-DATA like Author name
EXPOSE A Hint for port used by container, can be overridden at run-time.
ENV Define environment variables.
COPY Copy files from host system to container.
NOTE : optional feature --chown for linux containers
ManageImplementAdviseEducate
Docker-compose reference
Section Description
Services: Define one or more service [YAML syntax]
Build: Provide relative path to directory which contains “Dockerfile”
Image: Provide image name using syntax: [repository-name]/[image-name]:[tag]
For public images on docker-hub [repository-name] is dropped.
Volumes: Define volumes to be mounted
Networks: Define a private network for application.
Labels: Additional meta-data
ManageImplementAdviseEducate
Demos
• Demo 1: Deploying an application back-end and front-end as single
application.
• Demo 1-A Using MySQL with Wordpress
• Demo 1-B Using MS-SQL with Asp.net core
ManageImplementAdviseEducate
Hands On
• HOL 2] Deploying front-end application (ASP.NET core) and Back-end (MS
SQL) using single docker-compose.
• Use docker-compose to define entire application
• Use existing VM created in HOL-1
ManageImplementAdviseEducate
Module 05
Understanding Orchestration
ManageImplementAdviseEducate
Orchestration
• Need for Orchestration
• Ephemeral computing
• Desired State
• Cluster management
• Container Orchestration platforms
• Docker Swarm (from Docker Inc)
• Kubernetes (from Google)
• DC/OS (based on Apache Mesos)
• Nomad (from HashiCorp)
ManageImplementAdviseEducate
Docker Swarm
• Cluster management integrated with Docker engine
• Decentralized design (for cluster management)
• Declarative service model (ref: docker-compose)
• Scaling
• Desired state reconciliation
• Multi-host networking
• Service discovery
• Load balancing
ManageImplementAdviseEducate
Kubernetes
• Cluster managed from google with 10+ years of internal use by google.
• Open source, run anywhere
• Service discovery
• Load balancing
• Self healing
• Storage
orchestration
• Scaling
ManageImplementAdviseEducate
DC/OS
• Distributed OS based on Apache Mesos
• Treat cluster as a single machine
• High resource utilization
• Container orchestration using “Marathon”
• Cloud agnostic installation
ManageImplementAdviseEducate
Q/A

Mais conteúdo relacionado

Mais procurados

Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDDBasav Nagur
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
ACM Gazi Docker?
ACM Gazi Docker?ACM Gazi Docker?
ACM Gazi Docker?kloia
 
Docker crash course
Docker crash courseDocker crash course
Docker crash courseVishwas N
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDocker, Inc.
 
What is jenkins
What is jenkinsWhat is jenkins
What is jenkinslinuxdady
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDocker, Inc.
 
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
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thingaspyker
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsJames Strong
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 

Mais procurados (20)

Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Jenkins
JenkinsJenkins
Jenkins
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
ACM Gazi Docker?
ACM Gazi Docker?ACM Gazi Docker?
ACM Gazi Docker?
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
What is jenkins
What is jenkinsWhat is jenkins
What is jenkins
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTR
 
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
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 

Semelhante a Introduction to Containers & Diving a little deeper into the benefits of Containerisation

C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherHendrik van Run
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101Naukri.com
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...Ido Flatow
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by StepAdnan Siddiqi
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
indico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdfindico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdfssuser8d64ca
 
indico-workshop-container-deployment.pptx
indico-workshop-container-deployment.pptxindico-workshop-container-deployment.pptx
indico-workshop-container-deployment.pptxssuser0c1819
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
 

Semelhante a Introduction to Containers & Diving a little deeper into the benefits of Containerisation (20)

Docker slides
Docker slidesDocker slides
Docker slides
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better Together
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Docker
DockerDocker
Docker
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by Step
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker
DockerDocker
Docker
 
indico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdfindico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdf
 
indico-workshop-container-deployment.pptx
indico-workshop-container-deployment.pptxindico-workshop-container-deployment.pptx
indico-workshop-container-deployment.pptx
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 

Mais de Synergetics Learning and Cloud Consulting

Mais de Synergetics Learning and Cloud Consulting (20)

Monitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & InsightsMonitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & Insights
 
Implementing governance in the cloud era
Implementing governance in the cloud eraImplementing governance in the cloud era
Implementing governance in the cloud era
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
 
The social employee
The social employeeThe social employee
The social employee
 
Microsoft Azure New Certification Training roadmap
Microsoft Azure New Certification Training roadmapMicrosoft Azure New Certification Training roadmap
Microsoft Azure New Certification Training roadmap
 
Synergetics Microsoft engagement work
Synergetics Microsoft engagement workSynergetics Microsoft engagement work
Synergetics Microsoft engagement work
 
Deep architectural competency for deploying azure solutions
Deep architectural competency for deploying azure solutionsDeep architectural competency for deploying azure solutions
Deep architectural competency for deploying azure solutions
 
Pre sales engineer
Pre sales engineerPre sales engineer
Pre sales engineer
 
Synergetics Re-skilling pitch deck
Synergetics Re-skilling pitch deckSynergetics Re-skilling pitch deck
Synergetics Re-skilling pitch deck
 
Synergetics On boarding pitch deck
Synergetics On boarding pitch deckSynergetics On boarding pitch deck
Synergetics On boarding pitch deck
 
Apache Spark on HDinsight Training
Apache Spark on HDinsight TrainingApache Spark on HDinsight Training
Apache Spark on HDinsight Training
 
Thank you global azure boot camp 2018, mumbai
Thank you global azure boot camp 2018, mumbaiThank you global azure boot camp 2018, mumbai
Thank you global azure boot camp 2018, mumbai
 
Synergetics Digital Transformation Note
Synergetics Digital Transformation NoteSynergetics Digital Transformation Note
Synergetics Digital Transformation Note
 
Synergetics digital transformation
Synergetics digital transformationSynergetics digital transformation
Synergetics digital transformation
 
Synergetics India Corporate Presentation
Synergetics India Corporate PresentationSynergetics India Corporate Presentation
Synergetics India Corporate Presentation
 
Synergetics Consulting project details
Synergetics Consulting  project detailsSynergetics Consulting  project details
Synergetics Consulting project details
 
Core synergetics presentation 2015-16
Core synergetics presentation 2015-16Core synergetics presentation 2015-16
Core synergetics presentation 2015-16
 
Asap session 2
Asap session 2Asap session 2
Asap session 2
 
Asap session 1
Asap session 1Asap session 1
Asap session 1
 
ASAP Session 4
ASAP Session 4ASAP Session 4
ASAP Session 4
 

Último

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Introduction to Containers & Diving a little deeper into the benefits of Containerisation

  • 2. ManageImplementAdviseEducate Agenda Module 1: Introduction to Containers Module 2: Container Architecture Module 3: Docker Architecture HOL 1: Installing Docker CE on Windows & Linus Host Module 4: Application modernization using docker Demo : Deploying TWO TIER application Using Docker compose HOL 2: Deploying TWO TIER application (DotNet Core + MS SQL) using Docker compose Module 5: Understanding Orchestration
  • 4. ManageImplementAdviseEducate Application packaging strategies  Every Application has certain dependencies.  Libraries provided by Operating System  Libraries provided by runtime environment like Java, Python & Dot Net runtime  Server Runtime like Tomcat for Java, IIS for Asp.net, Apache httpd  Third Party Libraries  Change in Dependencies affects Application.
  • 5. ManageImplementAdviseEducate Application packaging strategies /challenges  Application goes through following phases:  Development  Testing  Staging  Production  Managing dependencies across all these environments could be challenging.  Creating compatible dev-test environment may take considerable time.  Question : Challenges in moving application between environments  Question: List Existing solutions based on Virtualization
  • 6. ManageImplementAdviseEducate Containers as alternative • A Typical container would have application & all its dependencies packed together. • This makes container “decoupled” from targeted environment. • Only restriction being Windows or Linux platform. Container Base Image Runtime (JRE / Python / Node) Third Party Libs Application Image Writable Layer
  • 7. ManageImplementAdviseEducate Benefits of Containers • Isolate application from underlying OS and Hardware. • Lightweight, provides higher density than Virtual machines. • Dev-Ops ready. Many CI/CD platforms support container deployments/build. • Every container executes in a separate user space.
  • 8. ManageImplementAdviseEducate Container vs Virtual machines • Virtual machines provides hardware level virtualization. • Virtual machines contains Operating system. • Virtual machines use guest OS kernel. • Host OS and Guest OS could be completely different. • Booting up VM is equivalent of booting a physical machine. • Containers provide software level isolation, no hardware virtualization. • Containers use “base image” which provide basic OS level libraries but not the OS. • Containers use host OS kernel. • Due to dependence on Host OS Kernel, containers must be deployed on compatible host OS. • Launching container is equivalent of launching an application.
  • 9. ManageImplementAdviseEducate Container platforms • Docker from Docker Inc • LXC from Linux • LXD from Ubuntu • RKT from CoreOS
  • 11. ManageImplementAdviseEducate Container & Images • Containers are running instances of image • Image is a read-only filesystem made of “layers” • Each “layer” is an image which may contain a specific application, library or runtime. • Container has an extra “Writable” layer. • The bottom-most image is “base” image. Host Kernel Debian Image [Read Only] BusyBox Image [Read Only] Apache2 HTTP Image [Read Only] MySQL DB Image [Read Only] Writable Layer Writable Layer
  • 12. ManageImplementAdviseEducate Read-Only vs Writable layers • Read-only layers are shared by multiple containers / images. • Writable layer allows read and write operations • Every container has ONE writable layer. • Every layer has unique ID and meta-data.
  • 13. ManageImplementAdviseEducate Image repositories • An Image repository is persistent storage for container images • A private repository can be accessed by selected users. • A public repository can be accessed by any one. • A Developer may “Push” application as container image. • An operations team may “Pull” the same image for deployment. • Many cloud platforms do provide “Hosted” container repositories. • Host repositories are managed by vendor.
  • 14. ManageImplementAdviseEducate Container Networking • Containers can communicate through a container network. • Container platform like docker have Multiple network models. Host Kernel Container Network Container 1 Container 2
  • 16. ManageImplementAdviseEducate Docker As a Container platform • An open platform for developing, shipping, and running applications. • Started it’s life as a PaaS provider by name dotCloud. • Since its inception, working with linux container. • The container platform was named “Docker” • In 2013, got “rebranded” as Docker Inc. • A container platform based on “runc” and “libcontainer”
  • 17. ManageImplementAdviseEducate Docker Editions • Community edition (Docker CE) • Ideal for developers and small teams experimenting with containers. • Enterprise Edition (Docker EE) • Enterprise development & IT team for business critical applications at production scale.
  • 18. ManageImplementAdviseEducate Docker components • Docker engine (docker daemon) • Docker container images • Docker containers • Docker CLI (client) • Docker (REST) API • Docker Registry
  • 19. ManageImplementAdviseEducate Docker components • Batteries included but “removable” (“replaceable”) • Built in security • Linux hosts can use AppArmor or SELinux • Namespaces to restrict access to host system resources.
  • 20. ManageImplementAdviseEducate Docker on Windows & Linux hosts • Docker being only container platform supporting both Windows and Linux. • Windows based container supported only on Windows 10 PRO and Windows Server 2016. • Docker installation on windows uses different components than linux host. • Images built for linux cannot be deployed on windows hosts. • Windows do have a trick: docker-machine and moby project to run linux containers through a lightweight VM.
  • 21. ManageImplementAdviseEducate Hands On LAB • HOL 1: Installing Docker CE on Windows Server 2016 • Pre-requisite: • Azure subscription • Basic Windows administration w/ powershell. • Windows server 2016 VM on Azure • Remote Desktop client (built in windows) for accessing windows VM.
  • 22. ManageImplementAdviseEducate Hands On LAB • HOL 2: Installing Docker CE on Ubuntu Server 18.04 LTS • Pre-requisite: • Azure subscription • Basic Linux administration using bash shell. • Ubuntu Server 18.04 LTS VM on Azure • SSH Client (PuTTY or Git Bash or Ubuntu Bash)
  • 24. ManageImplementAdviseEducate Application types • A multi-layered monolith application • A distributed application / SOA • Micro-services • Containers do support all of them! • Monolith = Single large Container for App + DB Container • Distributed = Container for each Service / Module
  • 25. ManageImplementAdviseEducate A typical TWO TIER Application Front End App Container Back End App Container Back End App Container Back End App Container Front End App Container
  • 26. ManageImplementAdviseEducate Dockerfile • Automates the “Build” process of a container. • Integrates with all popular CI/CD tools. • Simple language to define entire build workflow • Basic system administration commands needed. • Windows : prefer powershell • Linux: prefer bash • Can be placed in SCM
  • 27. ManageImplementAdviseEducate Docker compose • A Tool for defining and deploying multi-container application. • Compose is a THREE STEP process • Define the application environment using Dockerfile • Define the services that make up your application using docker-compose.yml file • Run docker-compose up command to quickly run entire application in isolated environment. • Provides re-producible deployment artefacts. • Only recreates container that have changed. • Upon “restart” containers are spawned from “cached” versions if no change detected. • Supports environment variables • Supports “secrets” • Traditionally used for Single host deployment.
  • 30. ManageImplementAdviseEducate Dockerfile reference Command Description FROM Initializes a new build and define “base” image to be used for building. RUN A Step to be executed in build process. Can be used for installing necessary package. CMD Provide DEFAULT “startup” action for container. Must be used only ONCE. LABEL Provides additional META-DATA like Author name EXPOSE A Hint for port used by container, can be overridden at run-time. ENV Define environment variables. COPY Copy files from host system to container. NOTE : optional feature --chown for linux containers
  • 31. ManageImplementAdviseEducate Docker-compose reference Section Description Services: Define one or more service [YAML syntax] Build: Provide relative path to directory which contains “Dockerfile” Image: Provide image name using syntax: [repository-name]/[image-name]:[tag] For public images on docker-hub [repository-name] is dropped. Volumes: Define volumes to be mounted Networks: Define a private network for application. Labels: Additional meta-data
  • 32. ManageImplementAdviseEducate Demos • Demo 1: Deploying an application back-end and front-end as single application. • Demo 1-A Using MySQL with Wordpress • Demo 1-B Using MS-SQL with Asp.net core
  • 33. ManageImplementAdviseEducate Hands On • HOL 2] Deploying front-end application (ASP.NET core) and Back-end (MS SQL) using single docker-compose. • Use docker-compose to define entire application • Use existing VM created in HOL-1
  • 35. ManageImplementAdviseEducate Orchestration • Need for Orchestration • Ephemeral computing • Desired State • Cluster management • Container Orchestration platforms • Docker Swarm (from Docker Inc) • Kubernetes (from Google) • DC/OS (based on Apache Mesos) • Nomad (from HashiCorp)
  • 36. ManageImplementAdviseEducate Docker Swarm • Cluster management integrated with Docker engine • Decentralized design (for cluster management) • Declarative service model (ref: docker-compose) • Scaling • Desired state reconciliation • Multi-host networking • Service discovery • Load balancing
  • 37. ManageImplementAdviseEducate Kubernetes • Cluster managed from google with 10+ years of internal use by google. • Open source, run anywhere • Service discovery • Load balancing • Self healing • Storage orchestration • Scaling
  • 38. ManageImplementAdviseEducate DC/OS • Distributed OS based on Apache Mesos • Treat cluster as a single machine • High resource utilization • Container orchestration using “Marathon” • Cloud agnostic installation