containers as infrastructure for new gen apps
TRANSCRIPT
Containers as the Infrastructure for New Generation ApplicationsKhalid Ahmed, STSM, Chief Architect - Infrastructure Software , IBM Spectrum [email protected]
IBM Systems
The Complex Apps and Infrastructure Challenge
| 2
Data Virtualization
ComputeVirtualization
Application Layer
Infrastructure Layer
• Microsoft Exchange• SQL Databases & Data
Warehouses• Virtual Desktops (VDI)
• Test / Dev Private Clouds
• Traditional server and storage systems
• Hypervisor environments
• Storage silos
• Hadoop• Spark• In-memory analytics• NoSQL Databases• Analytics Grids• Traditional HPC• Serverless (OpenWhisk)
• Cloud Native architectures• Container environments• Data Ocean architecture for
unstructured data storage and lifecycle management
Traditional New Gen
A standard way to package an application and all its dependencies so that it can be
moved between environments and run without changes.
Containers work by isolating the differences between applications inside
the container so that everything outside the container can be standardized.
Containers
3
IBM Systems
Containers and VMs Solve Different ProblemsContainers are lighter and perform better:
• Portability: VM (Gigabytes) vs. Container (Megabytes), VMs are constraint to Hypervisor and hardware-emulation
• Performance: Containers can boot and restart in seconds, compared to minutes for virtual machines. And no extra overhead of a hypervisor and guest OS makes containers consume less CPU and memory.
• Management cost: Each VM requires a full functional operating system, and then extra management for them.
Great advantage to use containers in:• DevOps• Batch computing• Lightweight PaaS• Microservices
Host Server
Host Operating System
Hypervisor
OS
Bins/Libs
App1
OS
Bins/Libs
App2
OS
Bins/Libs
App3
Host Server
Host Operating System
Container Engine
Bins/Libs
App1
Bins/Libs
App2
Bins/Libs
App3
Virtual Machines Containers
| 4
What are the Basic Functions of Docker?
DockerRegistry
Image Repository
Dockerfile for Application
Image N
Docker Engine (Build)
Server
Host OS
Docker Engine
Container A
Container B
Container N
Push new Image to
Repository
Describes steps to build container automatically
from source
Get N
…Run NBuild M
Source Code Repository
Build Store Run
DeveloperCreates App,
Builds Container And pushes to
Registry
OperatorDeploys
Containers
IBM Systems
Cloud Native Applications are being built with Microservices Using Containers
6
Cloud Native applications are characterized by the following:• DevOps and continuous integration /
continuous delivery methods• User experience centric principles• Use of microservice architecture, and
API-centric approach to applications• Multisource data collection mechanisms
from sources such as social media streams or IOT sensors.
• Built-in analytics capabilities intended to help inform/develop process
• Low-risk technology investments that avoid lock-in Source: Gartner
IBM Systems
Container Management Platforms are Emerging• Container Management Platforms (CMPs) are also known as container
managers, container orchestration engines, container orchestration platforms and containers-as-a-service (CaaS) platforms.
• They help enterprises address the challenges of deploying containers. These platforms let administrators monitor, manage, secure, and scale containers similar to how they treat existing servers and virtual machines.
Bare Metal / Virtualization EnvironmentOn-prem / off-prem
Auto-scaling / Upgrade
Image Management(App Catalog, registry)
ServiceRegistration & Discovery
Security / Compliance
Routing & Load Balancing
Monitoring & Logging
Scheduling
HA / Backup & Restore
| 7
CMP Architectural Components
IBM Systems
Layer 1Infrastructure
Layer 2 Operating System
Layer 3 ContainerEngine
Layer 4 Orchestration
Layer 5 CMP
Tool Chain
| 8
Container Ecosystem
IBM Systems
What is Kubernetes?
• Container orchestrator• Runs and manages containers• Supports multiple cloud and bare-metal
environments• Inspired and informed by Google's
experiences and internal systems• 100% Open source, written in Go• Manage applications, not machines• Rich ecosystem of plug-ins for scheduling,
storage, networking
| 9
IBM Systems
Kubernetes Concepts
A group of co-located containers
|10
A service defines a set of pods anda means by which to access them,
such as single stable IP address andcorresponding DNS name.
A volume is a directory, possiblywith some data in it, which isaccessible to a Container as part ofits filesystem.
A label is a key/value pair that isattached to a resource, such as apod, to convey a user-definedidentifying attribute.
A replication controller ensures thata specified number of pod replicasare running at any one time.
IBM Systems
Kubernetes Architecture
IBM Systems
Cloud Native Docker Container Cloud – Client Use Case
12
• Supporting a new Cloud Native DevOps Docker model with a Scale Out Infrastructure
• Modernizing Hundreds of Websphere Apps on Power providing services both to internal employees and external clients
• Embracing Open Source Technologies like Docker, Mongo, Redis etc.
• Cooperatively Integrating Open Source Components to deliver a complete Container Cloud Service Power Compute Node Cloud
Approx 100’s of Systems
Container Management Service
WebApps
WebApps
WebApps
WebApps
WebApps
WebApps
WebApps
Open Source Tooling
and SW
MongoRedis
etc
SQLDB’s
Data Services
User Applications (Internal and External) Self Service Developer Portal to Get
Containers and Data Services
…
Docker Containers
RedHat 7.1 LE Linux O/S & KVM
SD
NR
egis
tryO
pera
tions
D
ashb
oard
Reg
istry
UI
IBM Systems
IBM Bluemix Container Service
Scheduler
Networking Volume Mgmt
…
Orchestration
Image Build Image Registry Vulnerability Scanning
Logging/Metrics
IBM Managed
User Managed
Load Balancing
Auto-Recovery
Auto-Scaling
Docker Images
Single Docker
Containers
DockerCompose
Files
Scalable Container Groups
Bare metal hosts
crawlers
IBM managed service delivered through Bluemix
IBM Systems
IBM Spectrum Conductor for Containers
Container orchestration• Resource management• Application life-cycle
management/schedule/deployment• Scaling, Rolling upgrade• Service Registry/Discovery
Container infrastructure• Load Balance• Multi-host Networking • Distribute storage management• Image/Software repository management• Configure management• Logs/Meters/Alert• User/Account management (Multiple tenancy &
RBAC)Ops management
• Installation/upgrade• Health check
Hypervisor
IBM Spectrum Conductor for Containers
Unified Web-based Interface
Resource Management
Pattern based cluster template
Private Registry
Monitoring and Reporting
Cloud Native Spark
Pattern based cluster template
Container Orchestration
Framework
x86
|14
Software stack for building on-prem customer-managed containers optimized for IBM Systems
IBM Systems
15© 2016 IBM Corporation
• Community Edition v0.2 (Tech Preview) available now!
• Free to download and use as you wish• We are looking for feedback for our
roadmap• Learn more and register on our
community page: http://ibm.biz/ConductorForContainers
IBM Conductor for Containers Community Edition
Thank You