This document discusses moving legacy n-tier applications to container platforms like Docker and Kubernetes. It covers challenges like networking, discovery, load balancing, and persistence when containerizing applications. It then discusses how a DevOps approach can accelerate development and operations workflows through continuous delivery, integration, deployment, etc. The role of platforms like Kubernetes and Stratos in defining policies, composite applications, and auto-scaling container instances is also covered.
7. 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
8. 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
9. 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
11. 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
12. 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
13. 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
16. 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
25. *
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
27. *
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?
35. *
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.”
36. *
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
40. 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