SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Docker Penang Meetup # 1
@DockerPenang
Docker Community
How to be part of Docker Community & its benefits ...
● Sign up page - https://goo.gl/pjKMFS
● Everyone is welcome as long as we comply with Code of Conduct
● Docker Docs - https://docs.docker.com
● Docker Forum - https://forums.docker.com
● Play with Docker Classroom - http://training.play-with-docker.com
● DockerCon 2018 - [June 12-15, Moscone Center, San Francisco]
Docker Bday #5
March 19th - 25th
Goal: Give the community the opportunity
to use and learn Docker through fun and
engaging HOL with the help of mentors.
Mentors will be on hand to help to answer
any one on one questions.
Docker Bday #5
Week of: March 19th - 25th
Guidelines:
● Host in-person workshop in March, ideally the week of March 19th -25th
● Announce through your chapter page on events.docker.com
● Recruit mentors
● All Docker advocacy groups can participate -
all campus ambassadors etc.
Content: Play with Docker
● Docker 101 Windows, Linux
● Getting started w/ d4m / d4w + K8s
● Orchestration - Kubernetes, Swarm
Introduction to Docker
The open platform to build, ship and run any applications anywhere
What is Container?
OS-level virtualization solution
• Standardized packaging for software and
dependencies.
• Provides a lightweight virtual environment that
groups and isolates a set of processes and
resources such as memory, CPU, disk, etc., from
the host and any other containers.
Container vs Virtual Machine
VM VM VM
Container Container Container
Containerization Platform
VS
Guests
share same
kernel
• Abstract
application
from OS
Each guest
has it own
OS kernel
• Abstract OS
from
Hardware
OS level virtualization
Hardware level virtualization
Key Benefits for Container
Efficiency Speed Portability
What is Docker?
“World’s leading software containerization
platform”
Facilitate an ecosystem to build, ship and run
any applications, anywhere.
History of Docker
Incredible adoption in just 4 years
Why Docker?
• Speed up
development
environment setup
• Support use of
different (best)
technology stack
BUILD
Development Environments
Developers (Dev) IT Operations (Ops)
• Eliminate environment
inconsistencies
• Share and distribute
application become
easier via Docker Hub
SHIP
Secure Contents and Collaboration
• Scale in seconds
• Allow rollback
infrastructure changes
that cause production
issue quickly and easily
RUN
Deploy, Manage and Scale
Core Components for Docker
Client
docker build
docker pull
docker run
Docker RegistryDocker Host
Docker Daemon / Engine
Containers Images
dockerfile
Source code
management
Example of dockerfile
Docker Compose
Tool for defining and running
multi-container Docker applications.
Docker Registry
The Registry is a stateless, highly scalable server side
application that stores and lets you distribute Docker images.
Why use it:
• Tightly control where your images are being stored
• Fully own your images distribution pipeline
• Integrate image storage and distribution tightly into
your in-house development workflow
Docker Hub
A cloud-based registry service which allows you to link to code repositories, build your images and test
them, stores manually pushed images, and links to Docker Cloud so you can deploy images to your hosts.
Major Features:
• Image Repositories
• Automate Builds
• Webhooks
• Organizations
• Github & Bitbucket integration
Docker Swarm
A swarm is a group of machines that are
running Docker and joined into a cluster.
Features:
• Cluster management integrated with Docker Engine
• Decentralized design
• Declarative service model
• Scaling
• Desired state reconciliation
• Multi-host networking
• Service discovery
• Load balancing
• Secure by default
• Rolling updates
Docker Machine
Tool for provisioning and managing your Dockerized hosts
You can use Docker Machine to:
• Install and run Docker on Mac or Windows
• Provision and manage multiple remote Docker hosts
• Provision Swarm clusters
Community Edition
Enterprise Edition
Open source framework for
assembling core
components that make a
container platform Free, community-supported
product for delivering a
container solution
Subscription-based,
commercially supported
products for delivering a
secure software supply chain
Intended for:
Production deployments +
Enterprise customers
Intended for:
Software dev & test
Intended for:
Open source contributors +
ecosystem developers
The Docker Family Tree
Docker in Seek Asia
Why we make a move?
• Dependency management.
• Communication overhead.
• Slow CI & CD.
Huge Code Base
(Monolithic
Architecture)
• Flexibility in rollback deployment.
• One service failure not impact other
services.
Improve
Delivery
Efficiency
Service Reliability
Microservices + Docker as the Solution
Moving to Microservices Architecture is the
solution, which emphasize build decoupled
services in small and independently.
However, we do not wish to maintain large
amount of VMs which cause the overhead.
Docker come in to the picture, which solve the
environment consistency as well.
Technology Adoption Strategy
Starting mid of 2016
Containerized
services
Container
management
Microservices
The Big Picture
https://{domain}/v{version_number}/{service_name}
Route based on service name to
specific port expose by containers.
Load Balancer
Docker Host 1
{IP}:8081/v3/jobs
Service Container
{IP}:8082
Service Container
Docker Host 2
{IP}:8081/v3/jobs
Service Container
{IP}:8082
Service Container
Docker Host N
{IP}:8081/v3/jobs
Service Container
{IP}:8082
Service Container
Production Deployment
Docker Hub
GitHub
Pull latest image
Engineer
Configure jobs
Pull application
source code
Jenkins
Cluster of Docker Host
Node 1 Node 2 Node N
2
4
Deploy container5
Deploy source code3
1
Install Docker host &
setup directory
0
Reason:
• Support frequent deployment
• Cost: Portability
Image built and store in Docker Hub
Docker Hub
GitHub Whenever got new commit push to GitHub,
automated build is triggered in Docker Hub
DeveloperPush code to
service-container
repository
store container
images
store
dockerfile
2
1
Use Docker Compose to run it
docker-compose.yml
docker-compose up -d
Use Supervisor to manage Services
• 1 microservice 1 container.
• Reduce complexity in managing multiple container during adoption period.
Use cAdvisor to monitor Docker
• Is a Docker container too.
• Will be running in each Docker Host.
• To monitor all running process inside each container in that Docker Host.
Better Container Management in Cloud
Use of AWS Elastic Container Service
• Pets -> Cattle
• Auto Scaling
• Security
• Save developer time
So, what we gain?
Consistent
Environment
Speed up
Development
Flexibility in
Rollback
Reduce
Maintenance
with ECS
Facilitate better in Microservices
Development
Docker at Jabil
Our journey from CE to EE
Movement in the Cloud
80%
80% of Jabil workloads will be cloud-based in 3 years
and
25% of all IT Spend
Migrate workloads to cloud
Portability across environments
Want to avoid cloud vendor lock-in
Applications are transforming
~2000 Today
Loosely
Coupled
Services
Many Small
Servers or devices
Monolithic
Big Servers
Slow
changing
Rapidly
updated
The Myth of Bi-Modal IT
MICROSERVICES TRADITIONAL APPS
Cloud or New
Infrastructure
You are either here..
Old Infrastructure …or here
MICROSERVICES
AGILE TRADITIONAL
APPS
TRADITIONAL APPS
Cloud or New
Infrastructure
Old Infrastructure
…that is past AND future proof
Enabling a Journey
What we learned with CE
• Started with CE 1.13 and upgraded to 17.06.0-ce
• 9 node cluster (5 manager + 4 worker nodes)
• DFP – HAProxy + custom logic provides on-demand reconfiguration
• GlusterFS for storage ( 2 clustered servers)
• Standalone registry server & Portus as web frontend
• Portainer – Management solution for Docker
• Prometheus - Monitoring
Manager ManagerManager
DFP
Image Registry
Worker WorkerWorkerWorker
push/pull
Admin / User
Deploy / manage
Registry
Docker CE Architecture
Manager Manager
GlusterFS
GlusterFS
/mnt/dokr/??? Volume created by any node
would be written to GlusterFS & replicated
*.docker.corp.jabil.org
httpd
portus
LDAP/AD
https://docker.corp.jabil.org/portus
https://foo.docker.corp.jabil.org
Docker Enterprise Edition Capabilities
Enterprise Edition
Optimized Container Engine
Integrated App and Cluster
Management
Certification and Support
Policy Management
Image Scanning and
Monitoring
Secure Access and
User Management
Content Trust and
Verification
Application and
Cluster Management
Image Management
Security
Distributed State
Network
Container Runtime
Volumes
Orchestration
Application Composition, Deployment and Reliability
Certified Containers Certified Plugins
Certified Infrastructure
Azure L4 Load Balancer
UCP Manager UCP ManagerUCP Manager
Internal distributed store
Raft consensus group
Image Registry
UCP
Worker
UCP
Worker
UCP
Worker
push / pull
Admin / User
Deploy / manage
LDAP/AD
Monitoring
Logging
External CA
Image
Storage
DTR
Replica
Worker
Docker EE Architecture
Azure L4 Load Balancer
UCP
Worker
Azure L4 Load Balancer
DTR
Replica
Worker
DTR
Replica
Worker
DockerPenang Meetup#1

Más contenido relacionado

La actualidad más candente

Cloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev KeynoteCloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev Keynote
Patrick Chanezon
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 

La actualidad más candente (20)

Cloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev KeynoteCloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev Keynote
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Why docker | OSCON 2013
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013
 
Docker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker Federal Summit 2017 General Session
Docker Federal Summit 2017 General Session
 
Docker In Cloud
Docker In CloudDocker In Cloud
Docker In Cloud
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Getting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | EdurekaGetting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | Edureka
 
Dockercon 2018 Announcement
Dockercon 2018 AnnouncementDockercon 2018 Announcement
Dockercon 2018 Announcement
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 

Similar a DockerPenang Meetup#1

Similar a DockerPenang Meetup#1 (20)

Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker Mentor Week 2016 - Medan
Docker Mentor Week 2016 - MedanDocker Mentor Week 2016 - Medan
Docker Mentor Week 2016 - Medan
 
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Docker and Kubernetes Training | Docker Online Training
Docker and Kubernetes Training | Docker Online TrainingDocker and Kubernetes Training | Docker Online Training
Docker and Kubernetes Training | Docker Online Training
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
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
 
Docker birthday #4 Cluj Meetup Intro Deck
Docker birthday #4 Cluj Meetup Intro DeckDocker birthday #4 Cluj Meetup Intro Deck
Docker birthday #4 Cluj Meetup Intro Deck
 

Más de Sujay Pillai (6)

Frome Code to Cloud: Exploring AWS CDK for Infrastructure Management
Frome Code to Cloud: Exploring AWS CDK for Infrastructure ManagementFrome Code to Cloud: Exploring AWS CDK for Infrastructure Management
Frome Code to Cloud: Exploring AWS CDK for Infrastructure Management
 
Rover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker ContainerRover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker Container
 
Things I've learned working with Docker Support
Things I've learned working with Docker SupportThings I've learned working with Docker Support
Things I've learned working with Docker Support
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
 
DockerCon EU 2018 Announcements & Updates
DockerCon EU 2018 Announcements & UpdatesDockerCon EU 2018 Announcements & Updates
DockerCon EU 2018 Announcements & Updates
 
DockerPenang Meetup #3
DockerPenang Meetup #3DockerPenang Meetup #3
DockerPenang Meetup #3
 

Último

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
Safe Software
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
+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...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

DockerPenang Meetup#1

  • 1. Docker Penang Meetup # 1 @DockerPenang
  • 3. How to be part of Docker Community & its benefits ... ● Sign up page - https://goo.gl/pjKMFS ● Everyone is welcome as long as we comply with Code of Conduct ● Docker Docs - https://docs.docker.com ● Docker Forum - https://forums.docker.com ● Play with Docker Classroom - http://training.play-with-docker.com ● DockerCon 2018 - [June 12-15, Moscone Center, San Francisco]
  • 4. Docker Bday #5 March 19th - 25th Goal: Give the community the opportunity to use and learn Docker through fun and engaging HOL with the help of mentors. Mentors will be on hand to help to answer any one on one questions.
  • 5. Docker Bday #5 Week of: March 19th - 25th Guidelines: ● Host in-person workshop in March, ideally the week of March 19th -25th ● Announce through your chapter page on events.docker.com ● Recruit mentors ● All Docker advocacy groups can participate - all campus ambassadors etc. Content: Play with Docker ● Docker 101 Windows, Linux ● Getting started w/ d4m / d4w + K8s ● Orchestration - Kubernetes, Swarm
  • 6. Introduction to Docker The open platform to build, ship and run any applications anywhere
  • 7. What is Container? OS-level virtualization solution • Standardized packaging for software and dependencies. • Provides a lightweight virtual environment that groups and isolates a set of processes and resources such as memory, CPU, disk, etc., from the host and any other containers.
  • 8. Container vs Virtual Machine VM VM VM Container Container Container Containerization Platform VS Guests share same kernel • Abstract application from OS Each guest has it own OS kernel • Abstract OS from Hardware OS level virtualization Hardware level virtualization
  • 9. Key Benefits for Container Efficiency Speed Portability
  • 10. What is Docker? “World’s leading software containerization platform” Facilitate an ecosystem to build, ship and run any applications, anywhere.
  • 12. Incredible adoption in just 4 years
  • 13. Why Docker? • Speed up development environment setup • Support use of different (best) technology stack BUILD Development Environments Developers (Dev) IT Operations (Ops) • Eliminate environment inconsistencies • Share and distribute application become easier via Docker Hub SHIP Secure Contents and Collaboration • Scale in seconds • Allow rollback infrastructure changes that cause production issue quickly and easily RUN Deploy, Manage and Scale
  • 14. Core Components for Docker Client docker build docker pull docker run Docker RegistryDocker Host Docker Daemon / Engine Containers Images dockerfile Source code management
  • 16. Docker Compose Tool for defining and running multi-container Docker applications.
  • 17. Docker Registry The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. Why use it: • Tightly control where your images are being stored • Fully own your images distribution pipeline • Integrate image storage and distribution tightly into your in-house development workflow
  • 18. Docker Hub A cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to Docker Cloud so you can deploy images to your hosts. Major Features: • Image Repositories • Automate Builds • Webhooks • Organizations • Github & Bitbucket integration
  • 19. Docker Swarm A swarm is a group of machines that are running Docker and joined into a cluster. Features: • Cluster management integrated with Docker Engine • Decentralized design • Declarative service model • Scaling • Desired state reconciliation • Multi-host networking • Service discovery • Load balancing • Secure by default • Rolling updates
  • 20. Docker Machine Tool for provisioning and managing your Dockerized hosts You can use Docker Machine to: • Install and run Docker on Mac or Windows • Provision and manage multiple remote Docker hosts • Provision Swarm clusters
  • 21. Community Edition Enterprise Edition Open source framework for assembling core components that make a container platform Free, community-supported product for delivering a container solution Subscription-based, commercially supported products for delivering a secure software supply chain Intended for: Production deployments + Enterprise customers Intended for: Software dev & test Intended for: Open source contributors + ecosystem developers The Docker Family Tree
  • 23. Why we make a move? • Dependency management. • Communication overhead. • Slow CI & CD. Huge Code Base (Monolithic Architecture) • Flexibility in rollback deployment. • One service failure not impact other services. Improve Delivery Efficiency Service Reliability
  • 24. Microservices + Docker as the Solution Moving to Microservices Architecture is the solution, which emphasize build decoupled services in small and independently. However, we do not wish to maintain large amount of VMs which cause the overhead. Docker come in to the picture, which solve the environment consistency as well.
  • 25. Technology Adoption Strategy Starting mid of 2016 Containerized services Container management Microservices
  • 26. The Big Picture https://{domain}/v{version_number}/{service_name} Route based on service name to specific port expose by containers. Load Balancer Docker Host 1 {IP}:8081/v3/jobs Service Container {IP}:8082 Service Container Docker Host 2 {IP}:8081/v3/jobs Service Container {IP}:8082 Service Container Docker Host N {IP}:8081/v3/jobs Service Container {IP}:8082 Service Container
  • 27. Production Deployment Docker Hub GitHub Pull latest image Engineer Configure jobs Pull application source code Jenkins Cluster of Docker Host Node 1 Node 2 Node N 2 4 Deploy container5 Deploy source code3 1 Install Docker host & setup directory 0 Reason: • Support frequent deployment • Cost: Portability
  • 28. Image built and store in Docker Hub Docker Hub GitHub Whenever got new commit push to GitHub, automated build is triggered in Docker Hub DeveloperPush code to service-container repository store container images store dockerfile 2 1
  • 29. Use Docker Compose to run it docker-compose.yml docker-compose up -d
  • 30. Use Supervisor to manage Services • 1 microservice 1 container. • Reduce complexity in managing multiple container during adoption period.
  • 31. Use cAdvisor to monitor Docker • Is a Docker container too. • Will be running in each Docker Host. • To monitor all running process inside each container in that Docker Host.
  • 32. Better Container Management in Cloud Use of AWS Elastic Container Service • Pets -> Cattle • Auto Scaling • Security • Save developer time
  • 33. So, what we gain? Consistent Environment Speed up Development Flexibility in Rollback Reduce Maintenance with ECS Facilitate better in Microservices Development
  • 34. Docker at Jabil Our journey from CE to EE
  • 35. Movement in the Cloud 80% 80% of Jabil workloads will be cloud-based in 3 years and 25% of all IT Spend Migrate workloads to cloud Portability across environments Want to avoid cloud vendor lock-in
  • 36. Applications are transforming ~2000 Today Loosely Coupled Services Many Small Servers or devices Monolithic Big Servers Slow changing Rapidly updated
  • 37. The Myth of Bi-Modal IT MICROSERVICES TRADITIONAL APPS Cloud or New Infrastructure You are either here.. Old Infrastructure …or here
  • 38. MICROSERVICES AGILE TRADITIONAL APPS TRADITIONAL APPS Cloud or New Infrastructure Old Infrastructure …that is past AND future proof Enabling a Journey
  • 39. What we learned with CE • Started with CE 1.13 and upgraded to 17.06.0-ce • 9 node cluster (5 manager + 4 worker nodes) • DFP – HAProxy + custom logic provides on-demand reconfiguration • GlusterFS for storage ( 2 clustered servers) • Standalone registry server & Portus as web frontend • Portainer – Management solution for Docker • Prometheus - Monitoring
  • 40. Manager ManagerManager DFP Image Registry Worker WorkerWorkerWorker push/pull Admin / User Deploy / manage Registry Docker CE Architecture Manager Manager GlusterFS GlusterFS /mnt/dokr/??? Volume created by any node would be written to GlusterFS & replicated *.docker.corp.jabil.org httpd portus LDAP/AD https://docker.corp.jabil.org/portus https://foo.docker.corp.jabil.org
  • 41. Docker Enterprise Edition Capabilities Enterprise Edition Optimized Container Engine Integrated App and Cluster Management Certification and Support Policy Management Image Scanning and Monitoring Secure Access and User Management Content Trust and Verification Application and Cluster Management Image Management Security Distributed State Network Container Runtime Volumes Orchestration Application Composition, Deployment and Reliability Certified Containers Certified Plugins Certified Infrastructure
  • 42. Azure L4 Load Balancer UCP Manager UCP ManagerUCP Manager Internal distributed store Raft consensus group Image Registry UCP Worker UCP Worker UCP Worker push / pull Admin / User Deploy / manage LDAP/AD Monitoring Logging External CA Image Storage DTR Replica Worker Docker EE Architecture Azure L4 Load Balancer UCP Worker Azure L4 Load Balancer DTR Replica Worker DTR Replica Worker