Virtualisierung und Container
im Kontext
kognitiver Workloads
Dr. Basil Moshous
Executive Client IT Architect
Member of the IBM Academy of Technology (AoT)
E-mail: [email protected]
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
1. Build & Run of Services
• Monolithic Services
• Microservices
2. Virtualization Concepts
• Bare Metal Systems and Virtualized Machines
• Containers
• Container Evolution and what makes Docker interesting
3. How to deploy cognitive workloads
• Hybrid Cloud
• Public APIs
Agenda
| 2
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
The industry has changed!
Introduction
Systems of Record: • easy definition of functionality• monolithic applications • long development cycles • slowly scaling up
Systems of Engagement: • new functionality as business advantage• decoupled services • fast, iterative improvements • quickly scaling out
| 3
Cognitive Systems: • Leverages elements of both worlds
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Traditional Requests from the Business
”I want a XYZ system”, XYZ=[ERP,HR,SCM,…]
Traditional Services:• Enterprise Resource Planning• Human Resources Tools• Supply Chain Management• Custom• …
DB2WITH BLUACCELERATION
DB2WITH BLUACCELERATION
DB2WITH BLUACCELERATION
| 5
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Traditional Services were build using monolithic
Designs
• Three Tier Architectures are very popular
• All Application Logic is done in one layer,
the monolithic Application Server
• Consistency is key for Data
• Predominant development method: Waterfall
- One Releases a year
- Program changes have to be tested very well
• Connectivity to other Services: APIs and/or Service Bus
Monolithic Design, Service Bus
Front End
Application Server
Persistent Storage
BrowserJAVA
WebSphereNetweaverTomcat
DB2Oracle
Examples
| 6
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Cloud deployment: Open Source LAMP
Source: https://en.wikipedia.org/wiki/LAMP_(software_bundle)
Applications:
| 7
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Issues with Waterfall development model
Changes to monolithic applications using a Waterfall development method tend to take a long time !
We finally adjusted the application to your needs
Sorry it took so long.
| 8
IBM SystemsIBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
A microservice should only provide a single
service. “Do only one thing and do it good.”
A business process will be composed out of a
series of microservices.
A microservice should terminate after it
performed it’s duty.
| 9
Microservices
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Decomposition of a process into
| 10
Step 1 Step 2 Step 3 Step 4 Step 5
Service 1 Service 2 Service 3 Service 4 Service 5
Monolithic Design
MicroservicesStar
t
Star
t
Sto
pSt
art
Sto
pSt
art
Sto
p Star
t
Sto
pSt
art
Sto
p
TIME
Co
ntin
ue u
p to
n
ext Release
Ch
ange
Microservices
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Monolithic Design
Operating Microservices adds Complexity
Microservices
Be aware of the complexity
you get☺
| 11
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Bare Metal and Virtualized Machines
| 14
AppA
Server
HostOS
Bins/Libs
AppA
Hypervisor (Type 2)
Host OS
Server
GuestOS
Bins/Libs
AppA’
GuestOS
Bins/Libs
AppB
GuestOS
Bins/Libs
VM
GuestOS
GuestOS
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Linux Startup Process / Bare Metal
| 15
BIOS Phase• performs startup tasks;
• executes the boot code
Boot loader Phase• menu of possible boot
options
• loads the kernel into memory
• gives it control kernel
Kernel Phase• essential hardware and
memory paging
• start_kernel() performs the majority of system setup
• starts up the idle process
• starts up the scheduler
• starts up the init process
Init process • establishes and operates the
entire user space
• Starts up all dameonsconfigured
• sshd
• networkd
• multipathd
• ...
Application Phase
Startup Time: Minutes
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Linux Startup Process / Virtual Machines
| 16
BIOS PhaseBoot
loader Phase
Kernel Phase
Initprocess
Application Phase
Hyp
ervi
sor
BIOS PhaseBoot loader
PhaseKernel Phase
Init process Application
Phase
BIOS PhaseBoot loader
PhaseKernel Phase
Init process Application
Phase
BIOS PhaseBoot loader
PhaseKernel Phase
Init process Application
Phase
QEM
UQ
EMU
QEM
U
Startup Time (Once): Minutes Startup Time: Minutes
IBM SystemsIBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
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.
| 17
Containers
IBM SystemsIBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Cgroups:
confinement and prioritization of resources
(CPU, memory, block I/O, network, etc.)
Namespaces:
Isolation of process trees, networking,
user IDs and mounted file systems
| 18
Linux Kernel Level
Virtualization
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Application Container
| 19
Ap
plic
atio
n
Co
nta
ine
r
Host OS
Server
Bins/Libs
Ap
p 1
Linux Kernel
Container Engine
Ap
p 1
Ap
p 1
Bins/Libs
Ap
p 1
Ap
p 1
Ap
p 2
Bins/Libs
Ap
p 1
Ap
p 1
Ap
p 3
multiple isolated user-space instances - look and feel like a real server
AppA
Hypervisor (Type 2)
Host OS
Server
GuestOS
Bins/Libs
AppA’
GuestOS
Bins/Libs
AppB
GuestOS
Bins/Libs
GuestOS
GuestOS
Vir
tual
izat
ion
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Linux Startup Process /
| 20
BIOS PhaseBoot
loader Phase
Kernel Phase
Initprocess
Application Phase
Co
nta
iner
En
gin
e App2
App1
App 3
Startup Time (Once): Minutes Startup Time: ms, no resources dedicated
Application Container
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Memory Resources
| 22
MemoryDedicated to the
Host OS
All Applications share the available
Memory
Bare Metal Virtualized Machines
MemoryDedicated to the
Guest OS
All Applications in a particular guest
share the available Memory in this guest
MemoryDedicated to the
Host OS
All Applications share the available
Memory
Container
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Container
2015
1980
1990
20002005
2010
1995
1985UNIXchroot
LXCLXD
VMware
ThinApp
Jails
rkt
cgroups
namespaces
| 23
Evolution
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017 | 24
“Purpose of creating open industry standards around container formats and runtime”
Supp
ort
ing
Co
mpa
nie
s
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
What makes docker so attractive?
| 25
BUILD, SHIP, RUNDocker is a software containerization platform
• Build the container anywhere (for example on your notebook !)• Ship containers with all their dependencies into a corporate repository
• Break image into layers• Only ship layers that have changed• Save disk, network, memory usage• Deploy from that corporate repository
• Run anywhere
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Docker Build, Ship, Run
| 26
DockerfileFor A
Source CodeRepository Dev Host: OS (Linux, Mac OS, Windows)
Pull Image
Co
ntain
er
CompanyDocker
Repository
Prod Hosts: OS (Linux)Prod Hosts: OS (Linux)Prod Hosts: OS (Linux)Prod Hosts: OS (Linux)
Co
ntain
er A
Co
ntain
er B
Co
ntain
er C
Sear
ch
Pu
ll
Push
Bu
ildRUN
On or Off Premise Cloud DeploymentDevelopment Environment
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Managing Containers
Container Engine
Container Orchestration
PaaS
Serverless
SwarmIBM Spectrum
Conductor for Containers
| 27
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
How to deploy
cognitive workloads
| 28
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
What did we learn for the infrastructure
| 29
Bare Metal Virtualized ApplicationContainer
Application Start Time ++ - ++
Memory Usage ++ + ++
Separation -- ++ ++
Agile Application Deployment
-- -- ++
Data Persistency ++ ++ --
High IO Performance ++ ++ --
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
What is important if dealing with monolithic apps
| 30
Bare Metal Virtualized ApplicationContainer
Application Start Time ++ - ++
Memory Usage ++ + ++
Separation -- ++ ++
Agile Application Deployment
-- -- ++
Data Persistency ++ ++ --
High IO Performance ++ ++ --
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
What is important if dealing with microservices
| 31
Bare Metal Virtualized ApplicationContainer
Application Start Time ++ - ++
Memory Usage ++ + ++
Separation -- ++ ++
Agile Application Deployment
-- -- ++
Data Persistency ++ ++ --
High IO Performance ++ ++ --
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
So how to bridge the different requirements?
| 32
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Hybrid Cloud:Systems of Record
Systems of Engagement
Systems of Record & Engagement
| 33
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Bluemix On-Premise API Enablement
Mobile
Applications
CICS
IMS
WAS
DataPower GW
appliance
DMZ
Enterprise
APIs
API
Management
Web Services or REST based
services
Enterprise Transaction Processing
Enterprise API s
Cloud -Integration Services
Cloud – Mobile App
Enablement
z/OS Connect
discovery/
invocation
Power Systems
z Systems
IBM
Worklight
discovery/
invocation
Hybrid Cloud:
Off Premise or On Premise (p,z)
Infrastructure View
| 36
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
IBM Power Systems Container Solution
| 37
IBM Hardware
IBM Spectrum Cluster Foundation
IBM Spectrum Scale ( + Ubiquity !)
IBM Spectrum Software
IBM Spectrum Conductor for Containers
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
• IBM LinuxONE gives you the ability to run industry leading enterprise containers.
• IBM LinuxONE offer integrated container solutions that can meet the diverse needs of
enterprises.
• Supporting the creation and deployment of multi-platform, multi-container workloads
across hybrid infrastructures.
• IBM LinuxONE and containers accelerate application delivery and enable application
lifecycle management for Dockerized containers.
IBM LinuxONE Container Solution
| 38
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
IBM Systems + IBM Cloud - Build your apps, your way
Use a combination of the most prominent open-source compute technologies to power your apps.
Ease of getting started Full stack Control
OpenWhisk
Event-driven apps, deployed in a
serverless environment.
Instant Runtimes
App-centric runtimeenvironments
based on Cloud Foundry.
IBM Containers
Portable andconsistent
delivery of yourapp
without having tomanage an OS.
Virtual Machines
Get the mostflexibility
and control over yourenvironment with
VMs.
Bare Metal
For the ultimateperformance and
scale
A Full Spectrum from Bare Metal to Event Driven
| 40
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
ThaiHindiTraditional Chinese
Russian
GraciasSpanish
ObrigadoBrazilian Portuguese
Merci
French
KoreanJapanese
Simplified Chinese
Grazie
Italian
Arabic
DankeGermanThank You
English
| 41
IBM Systems for Cognitive Solutions, Ehningen July 11-12, 2017
Disclaimer
| 42
Copyright © 2014 by International Business Machines Corporation. This publication is provided “AS IS.” IBM product information is subject to change without notice.No part of this document may be reproduced or transmitted in any form without written permission from IBM Corporation. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This information could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or programs(s) at any time without notice. The information provided in this document is distributed “AS IS” without any warranty, either express or implied. IBM EXPRESSLY DISCLAIMS any warranties of merchantability, fitness for a particular purpose OR INFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
IBM makes no representations or warranties, expressed or implied, regarding non-IBM products and services, including those designated as Server Proven.
IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice. Consult your local IBM business contact for information on the product or services available in your area.
All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. Contact your local IBM office or IBM authorized reseller for the full text of the specific Statement of Direction.
The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM, IBM Logo, on demand business logo, Enterprise Storage Server, BladeCenter, eServer, ServeRAID and FlashCopy, System Storage, Tivoli, Easy Tier, Active Cloud Engine The following are trademarks or registered trademarks of other companies.* All other products may be trademarks or registered trademarks of their respective companies.
Notes:Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here.IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions.This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice. Consult your local IBM business contact for information on the product or services available in your area. The information on the new products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new products is for informational purposes only and may not be incorporated into any contract. The information on the new products is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion. All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only.
Information about non-IBM products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the performance, compatibility, or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
This presentation and the claims outlined in it were reviewed for compliance with US law. Adaptations of these claims for use in other geographies must be reviewed by the local country counsel for compliance with local laws.