Khalid will share on emerging container technologies and their role in supporting an agile cloud-native application development model. He will discuss the basics of containers compared to traditional virtualization, review use cases, and explore the open-source container management ecosystem.
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Containers as Infrastructure for New Gen Apps
1. Containers as the
Infrastructure for New
Generation Applications
Khalid Ahmed, STSM, Chief Architect - Infrastructure Software ,
IBM Spectrum Computing
khalida@ca.ibm.com
2. IBM Systems
The Complex Apps and Infrastructure Challenge
| 2
Data
Virtualization
Compute
Virtualization
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
3. 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
4. IBM Systems
Containers and VMs Solve Different Problems
Containers 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
5. What are the Basic Functions of Docker?
Docker
Registry
Image
Repository
Dockerfile for
Application
ImageN
Docker Engine
(Build)
Server
Host OS
Docker Engine
ContainerA
ContainerB
ContainerN
Push new
Image to
Repository
Describes steps to build
container automatically
from source
Get N
…
Run N
Build M
Source Code
Repository
Build Store Run
Developer
Creates App,
Builds Container
And pushes to
Registry
Operator
Deploys
Containers
6. 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
7. 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 Environment
On-prem / off-prem
Auto-scaling / Upgrade
Image Management
(App Catalog, registry)
Service
Registration & Discovery
Security / Compliance
Routing & Load
Balancing
Monitoring & Logging
Scheduling
HA / Backup & Restore
| 7
CMP Architectural Components
9. 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
10. IBM Systems
Kubernetes Concepts
A group of co-located containers
| 10
A service defines a set of pods and
a means by which to access them,
such as single stable IP address and
corresponding DNS name.
A volume is a directory, possibly
with some data in it, which is
accessible to a Container as part of
its filesystem.
A label is a key/value pair that is
attached to a resource, such as a
pod, to convey a user-defined
identifying attribute.
A replication controller ensures that
a specified number of pod replicas
are running at any one time.
12. 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
Web
Apps
Web
Apps
Web
Apps
Web
Apps
Web
Apps
Web
Apps
Web
Apps
Open
Source
Tooling
and
SW
Mongo
Redis
etc
SQL
DB’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
SDNRegistry
Operations
Dashboard
RegistryUI
13. 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
Docker
Compose
Files
Scalable
Container
Groups
Bare metal hosts
crawlers
IBM managed service delivered through Bluemix
14. 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
PrivateRegistry
Monitoringand
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
We approach our discussion with the understanding of the new generation environment layers.
1 Application Layer
2 Data Layer
3 Infrastructure Layer
4 Virtualization Layer
Each with its own management structure. (show in arrows)
Q. What is the make up of these layers ? (click to answer)
Q. Which of these are most relevant to your environment ? (Mark the slide based on client’s answers)
Q Which of your (client’s) responses are most critical or challenging to you ?
IBM’s approach can solve the challenges at the Application Layer or the Data Layer. However for full optimization we can solve it in all Layers.
Containers are not new… technology goes back 10+ years in Linux.. With key contributions from IBM, Google, Sun and others
Docker is the most popular instance of Containers in the industry