Last Updated: June. 2015
Bringing N-Tier Apps To Containers
Vice President, Platform Evangelism, WSO2
@cobiacomm
Chris Haddad
Moving from
Lab to Production
Moving from Old to New
Legacy 3-Tier Applications
Legacy Enterprise Topologies – Complex Interactions
N-Tier Perspectives
6
Solution Template
Infrastructure
Policy
Architecture
N-Tier Solution Attributes
o Architecture
o Application Oriented, Service-Oriented, Resource-Oriented
o Composition / Orchestration
o Policy
o Quality of Service
o Resiliency, High Availability, Scalability
o Security
o Isolation
o Infrastructure
o Topology
o Connectivity - Networking
o Resource Management - Scheduling, Reservation
o Storage
7
Architecture:
Application, Resource, Service-Oriented
8
Constraint Platform Requirement Kubernetes
Mesos
Marathon
Docker
Compose
Apache
Stratos
higher level, aggregate
view
application as first-class
citizen, labels N Y Y Y
Resource view
resource as first-class
citizen, labels, URLS Y N N N
Business capability view
service as first-class citizen,
labels Y Y N Y
Composition
9
Constraint Platform Requirement Kubernetes
Mesos
Marathon
Docker
Compose
Apache
Stratos
cluster (session and state
management)
network addressable,
coordination service N N N * N
container group (web app
database )
network overlays,
orchestration N N N Y
container links (web app ,
database )
network overlays,
orchestration
N (flat,
plug-in?) N ? Y Y
server farm register worker nodes Y Y N Y
Isolation
10
Constraint Kubernetes
Mesos
Marathon
Docker
Compose
Apache
Stratos
CPU, PID, Memory Y Y Y Y
Network N N (?) Y Y
Tenant Management N N N Y
Networking
11
Constraint Platform Requirement Kubernetes
Mesos
Marathon
Docker
Compose
Apache
Stratos
Load balancer (HW, SW)
known routes, hostname
addressing Y (plug-in) N ? Y
Public IP
public IP, hostname
assignment, route Y (plug-in) N Y Y
Resource Management
12
Constraint Platform Requirement Kubernetes
Mesos
Marathon
Docker
Compose
Apache
Stratos
CPU load
resource reservation,
scheduling * Y Y S
memory footprint
resource reservation,
scheduling * Y Y S
More Constraints
13
Category Constraint Platform Requirement
Security identity management
Security
network segment security
(web app, database) access control policies
Storage
shared access to database
service
Storage shared access to files shared volumes
Storage shared access to files networked drives
Topology Cross-Data Center cross-zone monitor and control
Topology Cross-IaaS cross-zone monitor and control
Topology pre-built, hardwired complex declarations
Moving N-Tier Apps to Containers
Containerization Adoption Barriers
Networking and
Load Balancing
Monitoring and QoS
Clustering
Backing Stores /
Persistence Strategies
Discovery and
Composition
Workflow
Common Level Zero
Container Challenges
o Networking
o Discovery
o Load balancing between Tiers
o Persistence – Tight Coupling with File System
o Monitoring and Log files
16
Operate at the Speed of BusinessAccelerate
DevOps Flow
Operate at the Speed of Business
o Deployment
o Discovery
o Linking
o Monitoring
o Resiliency
DevOps Vectors
o Continuous delivery
o Continuous build
o Continuous integration
o Continuous deployment
DevOps Vectors
o Reliability
o Availability
o Scalability
o Performance
o Iterative releases
o Incremental testing
o Co-evolution
Compass and Gearing
Platform Compass
Operations Perspective
• Manage Container Quality of Service
• Ensure Security
Development perspective
• Micro-service architecture patterns
• Application packaging strategies
• Container lifecycle decisions
Composite Application Model and Policy Model
*
What are the smart policies?
๏ Auto scaling
๏ Deployment
Auto scaling policy
๏ Define thresholds values pertaining scale up/down
decision
๏ Auto Scaler refer this policy
๏ Defined by DevOps
Deployment policy
๏ Defined how and where to spawn cartridge instances
๏ Defined min and max instances in a selected service
cluster
๏ Defined by DevOps based on deployment patterns
Smart Policies
*
Groups Compose Container Instances
*
Scaling algorithm can use multiple factors. such as
- Load average of the instance
- Memory consumption of the instance
- In-flight request count in LB
How do you specify elastic scale?
*
Group Scaling Scenario
*
Dependent Scaling Scenario
Internet as a Data Center
© Mathias Rosenthal - Fotolia.com
*
Burst based on policy and load
Ever try to Cloud Burst Containers?
*
Rapidly Evolve with Micro-service Applications
Infrastructure Alternatives
o Docker Compose
o Apache Mesos / Mesos Marathon
o Google Kubernetes
o Apache Stratos
33
*
Manage clusters and
containers
● Schedule
● Control
Concepts
● Pods
● Labels
● Nodes
Why add Kubernetes?
*
Kubernetes – Opportunity Zone
Source: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md
“we want Kubernetes to be built as a collection of pluggable
components and layers, with the ability to use alternative
schedulers, storage systems, and distribution mechanisms, and
we're evolving its current code in that direction.”
“A single Kubernetes cluster is not intended to span multiple
availability zones. Instead, we recommend building a higher-level
layer to replicate complete deployments of highly available
applications across multiple zones.”
*
The Role of Apache Stratos
● Package Manager
● Define Security and Network Policies
● Manage Micro-service Definition
● Define Composite Application
● Container Auto-Scaler Logic
● Manage Service Subscriptions
*
Containerize Applications and Services
*
Apache Stratos L1 Deployment Architecture
for Docker based Cartridges
Stratos Architecture
Test Drive the Cloud in a Box Distro
Install Kubernetes Distro:
https://github.com/imesh/kubernetes-vagrant-setup.git
Download Stratos distribution, load balancer & samples:
http://stratos.apache.org
Follow Getting Started Guide

Bring N-Tier Apps to containers 2015 ContainerCon

  • 1.
    Last Updated: June.2015 Bringing N-Tier Apps To Containers Vice President, Platform Evangelism, WSO2 @cobiacomm Chris Haddad
  • 2.
  • 3.
  • 4.
  • 5.
    Legacy Enterprise Topologies– Complex Interactions
  • 6.
  • 7.
    N-Tier Solution Attributes oArchitecture o Application Oriented, Service-Oriented, Resource-Oriented o Composition / Orchestration o Policy o Quality of Service o Resiliency, High Availability, Scalability o Security o Isolation o Infrastructure o Topology o Connectivity - Networking o Resource Management - Scheduling, Reservation o Storage 7
  • 8.
    Architecture: Application, Resource, Service-Oriented 8 ConstraintPlatform Requirement Kubernetes Mesos Marathon Docker Compose Apache Stratos higher level, aggregate view application as first-class citizen, labels N Y Y Y Resource view resource as first-class citizen, labels, URLS Y N N N Business capability view service as first-class citizen, labels Y Y N Y
  • 9.
    Composition 9 Constraint Platform RequirementKubernetes Mesos Marathon Docker Compose Apache Stratos cluster (session and state management) network addressable, coordination service N N N * N container group (web app database ) network overlays, orchestration N N N Y container links (web app , database ) network overlays, orchestration N (flat, plug-in?) N ? Y Y server farm register worker nodes Y Y N Y
  • 10.
    Isolation 10 Constraint Kubernetes Mesos Marathon Docker Compose Apache Stratos CPU, PID,Memory Y Y Y Y Network N N (?) Y Y Tenant Management N N N Y
  • 11.
    Networking 11 Constraint Platform RequirementKubernetes Mesos Marathon Docker Compose Apache Stratos Load balancer (HW, SW) known routes, hostname addressing Y (plug-in) N ? Y Public IP public IP, hostname assignment, route Y (plug-in) N Y Y
  • 12.
    Resource Management 12 Constraint PlatformRequirement Kubernetes Mesos Marathon Docker Compose Apache Stratos CPU load resource reservation, scheduling * Y Y S memory footprint resource reservation, scheduling * Y Y S
  • 13.
    More Constraints 13 Category ConstraintPlatform Requirement Security identity management Security network segment security (web app, database) access control policies Storage shared access to database service Storage shared access to files shared volumes Storage shared access to files networked drives Topology Cross-Data Center cross-zone monitor and control Topology Cross-IaaS cross-zone monitor and control Topology pre-built, hardwired complex declarations
  • 14.
    Moving N-Tier Appsto Containers
  • 15.
    Containerization Adoption Barriers Networkingand Load Balancing Monitoring and QoS Clustering Backing Stores / Persistence Strategies Discovery and Composition Workflow
  • 16.
    Common Level Zero ContainerChallenges o Networking o Discovery o Load balancing between Tiers o Persistence – Tight Coupling with File System o Monitoring and Log files 16
  • 17.
    Operate at theSpeed of BusinessAccelerate DevOps Flow
  • 18.
    Operate at theSpeed of Business
  • 19.
    o Deployment o Discovery oLinking o Monitoring o Resiliency
  • 20.
    DevOps Vectors o Continuousdelivery o Continuous build o Continuous integration o Continuous deployment
  • 21.
    DevOps Vectors o Reliability oAvailability o Scalability o Performance
  • 22.
    o Iterative releases oIncremental testing o Co-evolution
  • 23.
    Compass and Gearing PlatformCompass Operations Perspective • Manage Container Quality of Service • Ensure Security Development perspective • Micro-service architecture patterns • Application packaging strategies • Container lifecycle decisions
  • 24.
  • 25.
    * What are thesmart policies? ๏ Auto scaling ๏ Deployment Auto scaling policy ๏ Define thresholds values pertaining scale up/down decision ๏ Auto Scaler refer this policy ๏ Defined by DevOps Deployment policy ๏ Defined how and where to spawn cartridge instances ๏ Defined min and max instances in a selected service cluster ๏ Defined by DevOps based on deployment patterns Smart Policies
  • 26.
  • 27.
    * Scaling algorithm canuse multiple factors. such as - Load average of the instance - Memory consumption of the instance - In-flight request count in LB How do you specify elastic scale?
  • 28.
  • 29.
  • 30.
    Internet as aData Center © Mathias Rosenthal - Fotolia.com
  • 31.
    * Burst based onpolicy and load Ever try to Cloud Burst Containers?
  • 32.
    * Rapidly Evolve withMicro-service Applications
  • 33.
    Infrastructure Alternatives o DockerCompose o Apache Mesos / Mesos Marathon o Google Kubernetes o Apache Stratos 33
  • 34.
    * Manage clusters and containers ●Schedule ● Control Concepts ● Pods ● Labels ● Nodes Why add Kubernetes?
  • 35.
    * Kubernetes – OpportunityZone Source: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md “we want Kubernetes to be built as a collection of pluggable components and layers, with the ability to use alternative schedulers, storage systems, and distribution mechanisms, and we're evolving its current code in that direction.” “A single Kubernetes cluster is not intended to span multiple availability zones. Instead, we recommend building a higher-level layer to replicate complete deployments of highly available applications across multiple zones.”
  • 36.
    * The Role ofApache Stratos ● Package Manager ● Define Security and Network Policies ● Manage Micro-service Definition ● Define Composite Application ● Container Auto-Scaler Logic ● Manage Service Subscriptions
  • 37.
  • 38.
    * Apache Stratos L1Deployment Architecture for Docker based Cartridges
  • 39.
  • 40.
    Test Drive theCloud in a Box Distro Install Kubernetes Distro: https://github.com/imesh/kubernetes-vagrant-setup.git Download Stratos distribution, load balancer & samples: http://stratos.apache.org Follow Getting Started Guide