SlideShare a Scribd company logo
1 of 39
Download to read offline
Agenda
• An Introduction to Virtualization
• An Introduction to Containers
• An Introduction to Docker
• An Introduction to Kubernetes
• Deploying WSO2 products on Kubernetes
• WSO2 Cloud Ecosystem
• Demo on App Cloud
Virtualization
• Enables multiple operating systems
to run on a single host computer
• Benefits
• Saves money
• Resource optimization
Server
Host OS
Hypervisor
Guest OS Guest OS
Bins/ Libs Bins/ Libs
A
p
p
A
p
p
A
p
p
A
p
p
An Introduction to Containers
Containers
• Reduced the requirement to have an
OS for each application
• OS level virtualization, NO hypervisor
(Hypervisor abstracts an entire device,
containers just abstract the OS kernel.) Server
Host OS
Bins/ Libs Bins/ Libs
A
p
p
A
p
p
A
p
p
A
p
p
LXC - Linux Containers
• A tool that Implements the container concept in Linux
• Make use of Host OS Kernel features
• Namespaces -> separates process tree, network, file access
• cgroups -> isolate CPU / memory / network resources
• chroot -> isolate access to disk
• Other implementations
• FreeBSD -> Jails, Solaris -> Zones
An Introduction to Docker
Docker
• Started as a project by dotCloud
• Initially based on LXC,
but now build their own
implementation -> libcontainer
https://en.wikipedia.org/wiki/Docker_(software)
Virtual Machines vs Docker
https://www.docker.com/what-docker
Why Docker?
• Continuous integration / deployment benefits
• portable deployments
• Lightweight
• more efficient use of RAM
• layered filesystem
• Scale (up / down) quickly
• Easy to distribute / share
• dockerhub
Enterprise Docker, Adrien BLIND, Aurelien GABET, Arnaud MAZIN
FROM ubuntu:14.04
WORKDIR /opt/
ADD packs/jdk-7u4-linux-x64.tar.gz /opt/
RUN ln -s /opt/jdk1.7.0_04 /opt/java
WORKDIR /mnt/
ADD packs/wso2as-5.2.1.zip /mnt/wso2as-5.2.1.zip
RUN unzip -q wso2as-5.2.1.zip
EXPOSE 22 9443 9763
ADD run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
ENTRYPOINT /usr/local/bin/run
https://www.docker.com
•
•
•
•
•
•
•
•
[1] https://docs.docker.com/engine/installation/
[2] https://github.com/sajhak/wso2as-docker
• Docker → Container lifecycle management
Kubernetes → Orchestration and container cluster
management
• First announced by Google, in 2014,
v1.0 released in July 2015
https://en.wikipedia.org/wiki/Kubernetes
Why Container Clusters?
• Avoid single point of failure
• Make horizontally scalable
• Have more granular
management for distributed
applications (microservices)
• Self healing systems
http://googlecloudplatform.blogspot.com/2015/01/what-makes-a-container-cluster.html
[image ref] https://www.docker.com/what-docker
Kubernetes Architecture
Docker Host 1 Docker Host 2 Docker Host n
Physical Network
Controller Host
KubernetesAPI
Overlay Network (SDN)Scheduler
Getting Started with Kubernetes, Jonathan Baier
Kubernetes Pods
● A group of containers which can share
resources and context
● Shared namespaces:
○ PID namespace (can see each other’s processes)
○ network namespace (same IP and port space)
○ IPC namespace (SystemV IPC or POSIX)
○ UTS namespace (share a hostname)
Pod
C1 C2 C3
http://kubernetes.io/v1.0/docs/user-guide/pods.html
Kubernetes Labels & Selectors
● Labels are key/value pairs
attached to objects
● Selectors use the label key to
find a collection of objects
matched with the same value
○ L1 -> ClusterID = C1
○ L2 -> ClusterID = C2
Pod 1
http://kubernetes.io/v1.0/docs/user-guide/labels.html
L1
Pod 2
L1
Pod 3
L1
Pod 3
L2
Pod 4
L2
Pod
Template
Replicas = n
Kubernetes Replication Controllers
● Provides features for replicating
pods:
○ Auto-healing
○ Scaling
○ Rolling updates
Pod 1
http://kubernetes.io/v1.0/docs/user-guide/replication-controller.html
Pod 2 Pod n
Replication
Controller
Node IP: 172.17.8.102
Port: 9443
Domain Name: service1
IP: 10.2.10.20
Port: 9443
NodePort: 32001
Protocol: TCP
Kubernetes Services
● Service types:
○ ClusterIP (default)
○ NodePort
○ LoadBalancer
● Service discovery:
○ DNS
○ Environment variables
● Session Affinity
Pod 1
http://kubernetes.io/v1.0/docs/user-guide/services.html
Pod 2 Pod n
Service
L1
L1 L1 L1
Node
● A distributed key value store
● Read and write values with curl
and other HTTP libraries
● Store data in directories, similar
to a file system
● Watch a key or directory for
changes and react to the new
values
https://coreos.com/etcd/
etcd
● A software defined network
● Runs an agent, flanneld, on each
host
● Uses etcd to store the network
configuration, allocated subnets,
and auxiliary data (host ips)
https://github.com/coreos/flannel
flannel
Deploying WSO2 products on
Kubernetes
Carbon Cluster Discovery on
Kubernetes
Pod 1 Pod 2 Pod n
Service
Server 1 Server 2 Server n
Pod 1
Service
Server 1
Pod 1 Pod 2
Service
Server 1 Server 2
Hazelcast member
initialization
Hazelcast member
initialization
Hazelcast member
initialization
1 2 n
WSO2 Carbon Reference Architecture
for Kubernetes
Pod 1 Pod 2
Manager Cluster
Services
Pod 3 Pod 4 Pod n
Worker Cluster
Services
Manager
Replication
Controller
Worker Replication
Controller
Client
Gov
Reg
Conf
Reg
User
Store
https://github.com/wso2/kubernetes-artifacts
•
•
•
•
•
•
•
•
[1] https://github.com/imesh/kubernetes-vagrant-setup
•
•
•
•
➢
➢
•
•
➢
➢
➢
•
•
…
•
•
➢
➢
➢
➢
➢
•
➢
➢
➢
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker

More Related Content

What's hot

Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013
Mirantis
 

What's hot (20)

Building a universal search interface for the Cloud
Building a universal search interface for the CloudBuilding a universal search interface for the Cloud
Building a universal search interface for the Cloud
 
Scale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with Containers
 
Docker Workshop
Docker WorkshopDocker Workshop
Docker Workshop
 
Introduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and CommunityIntroduction to OpenShift Origin- Private, Public and Community
Introduction to OpenShift Origin- Private, Public and Community
 
Welcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhat
Welcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhatWelcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhat
Welcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhat
 
DNSaaS and FWaaS
DNSaaS and FWaaSDNSaaS and FWaaS
DNSaaS and FWaaS
 
(Open)Stacking Containers
(Open)Stacking Containers(Open)Stacking Containers
(Open)Stacking Containers
 
OpenStack Kilo - April 2015
OpenStack Kilo - April 2015OpenStack Kilo - April 2015
OpenStack Kilo - April 2015
 
Openstack and Reddwarf Overview
Openstack and Reddwarf OverviewOpenstack and Reddwarf Overview
Openstack and Reddwarf Overview
 
How Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App ModernizationHow Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App Modernization
 
Mirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 OverviewMirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 Overview
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernization
 
Open Source Clouds: Be The Change...
Open Source Clouds: Be The Change...Open Source Clouds: Be The Change...
Open Source Clouds: Be The Change...
 
OpenStack in Action 4! Thierry Carrez - From Havana to Icehouse
OpenStack in Action 4! Thierry Carrez - From Havana to IcehouseOpenStack in Action 4! Thierry Carrez - From Havana to Icehouse
OpenStack in Action 4! Thierry Carrez - From Havana to Icehouse
 
Heat Updates - Liberty Edition
Heat Updates - Liberty EditionHeat Updates - Liberty Edition
Heat Updates - Liberty Edition
 
3 - Delen Private Bank: FOSS adventures in a Cloud Native world
3 - Delen Private Bank: FOSS adventures in a Cloud Native world3 - Delen Private Bank: FOSS adventures in a Cloud Native world
3 - Delen Private Bank: FOSS adventures in a Cloud Native world
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013Open stack architecture overview-meetup-6-6_2013
Open stack architecture overview-meetup-6-6_2013
 
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
Rightscale Webinar: Designing Private & Hybrid Clouds (Hosted by Citrix)
 

Similar to WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker

Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
WSO2
 

Similar to WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker (20)

WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
DockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 Barcelona
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 
DevOps'n the Operating System
DevOps'n the Operating SystemDevOps'n the Operating System
DevOps'n the Operating System
 

More from WSO2

More from WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
 

Recently uploaded (20)

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...
 
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
 
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)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker

  • 1.
  • 2. Agenda • An Introduction to Virtualization • An Introduction to Containers • An Introduction to Docker • An Introduction to Kubernetes • Deploying WSO2 products on Kubernetes • WSO2 Cloud Ecosystem • Demo on App Cloud
  • 3. Virtualization • Enables multiple operating systems to run on a single host computer • Benefits • Saves money • Resource optimization Server Host OS Hypervisor Guest OS Guest OS Bins/ Libs Bins/ Libs A p p A p p A p p A p p
  • 4. An Introduction to Containers
  • 5. Containers • Reduced the requirement to have an OS for each application • OS level virtualization, NO hypervisor (Hypervisor abstracts an entire device, containers just abstract the OS kernel.) Server Host OS Bins/ Libs Bins/ Libs A p p A p p A p p A p p
  • 6. LXC - Linux Containers • A tool that Implements the container concept in Linux • Make use of Host OS Kernel features • Namespaces -> separates process tree, network, file access • cgroups -> isolate CPU / memory / network resources • chroot -> isolate access to disk • Other implementations • FreeBSD -> Jails, Solaris -> Zones
  • 8. Docker • Started as a project by dotCloud • Initially based on LXC, but now build their own implementation -> libcontainer https://en.wikipedia.org/wiki/Docker_(software)
  • 9. Virtual Machines vs Docker https://www.docker.com/what-docker
  • 10. Why Docker? • Continuous integration / deployment benefits • portable deployments • Lightweight • more efficient use of RAM • layered filesystem • Scale (up / down) quickly • Easy to distribute / share • dockerhub
  • 11. Enterprise Docker, Adrien BLIND, Aurelien GABET, Arnaud MAZIN
  • 12. FROM ubuntu:14.04 WORKDIR /opt/ ADD packs/jdk-7u4-linux-x64.tar.gz /opt/ RUN ln -s /opt/jdk1.7.0_04 /opt/java WORKDIR /mnt/ ADD packs/wso2as-5.2.1.zip /mnt/wso2as-5.2.1.zip RUN unzip -q wso2as-5.2.1.zip EXPOSE 22 9443 9763 ADD run /usr/local/bin/run RUN chmod +x /usr/local/bin/run ENTRYPOINT /usr/local/bin/run
  • 15.
  • 16. • Docker → Container lifecycle management Kubernetes → Orchestration and container cluster management • First announced by Google, in 2014, v1.0 released in July 2015 https://en.wikipedia.org/wiki/Kubernetes
  • 17. Why Container Clusters? • Avoid single point of failure • Make horizontally scalable • Have more granular management for distributed applications (microservices) • Self healing systems http://googlecloudplatform.blogspot.com/2015/01/what-makes-a-container-cluster.html [image ref] https://www.docker.com/what-docker
  • 18. Kubernetes Architecture Docker Host 1 Docker Host 2 Docker Host n Physical Network Controller Host KubernetesAPI Overlay Network (SDN)Scheduler Getting Started with Kubernetes, Jonathan Baier
  • 19. Kubernetes Pods ● A group of containers which can share resources and context ● Shared namespaces: ○ PID namespace (can see each other’s processes) ○ network namespace (same IP and port space) ○ IPC namespace (SystemV IPC or POSIX) ○ UTS namespace (share a hostname) Pod C1 C2 C3 http://kubernetes.io/v1.0/docs/user-guide/pods.html
  • 20. Kubernetes Labels & Selectors ● Labels are key/value pairs attached to objects ● Selectors use the label key to find a collection of objects matched with the same value ○ L1 -> ClusterID = C1 ○ L2 -> ClusterID = C2 Pod 1 http://kubernetes.io/v1.0/docs/user-guide/labels.html L1 Pod 2 L1 Pod 3 L1 Pod 3 L2 Pod 4 L2
  • 21. Pod Template Replicas = n Kubernetes Replication Controllers ● Provides features for replicating pods: ○ Auto-healing ○ Scaling ○ Rolling updates Pod 1 http://kubernetes.io/v1.0/docs/user-guide/replication-controller.html Pod 2 Pod n Replication Controller
  • 22. Node IP: 172.17.8.102 Port: 9443 Domain Name: service1 IP: 10.2.10.20 Port: 9443 NodePort: 32001 Protocol: TCP Kubernetes Services ● Service types: ○ ClusterIP (default) ○ NodePort ○ LoadBalancer ● Service discovery: ○ DNS ○ Environment variables ● Session Affinity Pod 1 http://kubernetes.io/v1.0/docs/user-guide/services.html Pod 2 Pod n Service L1 L1 L1 L1 Node
  • 23. ● A distributed key value store ● Read and write values with curl and other HTTP libraries ● Store data in directories, similar to a file system ● Watch a key or directory for changes and react to the new values https://coreos.com/etcd/ etcd
  • 24. ● A software defined network ● Runs an agent, flanneld, on each host ● Uses etcd to store the network configuration, allocated subnets, and auxiliary data (host ips) https://github.com/coreos/flannel flannel
  • 25. Deploying WSO2 products on Kubernetes
  • 26. Carbon Cluster Discovery on Kubernetes Pod 1 Pod 2 Pod n Service Server 1 Server 2 Server n Pod 1 Service Server 1 Pod 1 Pod 2 Service Server 1 Server 2 Hazelcast member initialization Hazelcast member initialization Hazelcast member initialization 1 2 n
  • 27. WSO2 Carbon Reference Architecture for Kubernetes Pod 1 Pod 2 Manager Cluster Services Pod 3 Pod 4 Pod n Worker Cluster Services Manager Replication Controller Worker Replication Controller Client Gov Reg Conf Reg User Store https://github.com/wso2/kubernetes-artifacts
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.