SlideShare a Scribd company logo
Copyright © 2016 NTT DATA Corporation
15, July 2016
Hiroshi Miura
Systems Engineering Headquarters, NTT DATA Corporation
Distributed application use case on container clusters -
automated operations with Hinemos and Docker
2Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Self introduction
• Senior IT-Specialist for Platform
on NTT DATA Corporation.
• Lead Platform Engineering Services
using OSS/Linux and related
technologies
• Github/Twitter: @Miurahr
• Contributions:
– Some Linux drivers for laptop, CPU,
power management etc.
– Tools such as Vagrant-kvm
– OpenStack Swift
– OmegaT Translation tool
– Etc….
3Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Evaluation project with Docker in enterprise application.
Service Information in NTT DATA web page in 2015 fall.
4Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Evaluation project with Docker in enterprise application.
Service Information in NTT DATA web page in 2015 fall.
Docker Enterprise use case
Start PoC
We now resulted it is useful and go forward for production!!
After a half year
5Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Why Docker/ container
From Enterprise Docker/Container BoF<on LinuxCon/ContainerCon 2015 Tokyo>
Discussed about barriers and solutions for enterprise use case.
6Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Why Docker/ container
From Enterprise Docker/Container BoF<on LinuxCon/ContainerCon 2015 Tokyo>
Discussed about barriers and solutions for enterprise use case.
→ Agrees to share use cases.
7Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
2. lightweight
Docker from enterprise application perspective
1. Portability
3. History management 4. API: Docker Hub ecosystem
evaluation Private cloud
container
Apps A Update
Apps A
Apps A
Std. libs
CentOS6 Base
Apps B
Library B
Std. libs
CentOS6 Base
Share base images
C
h
a
n
g
e
l
a
y
e
r
Source
Container
definition
Image
management
Automated
test and
deploy
Automated
launch
Automated
launch
Server
OS
application
Virtual server
OS
application
コンテナ
Hypervisorapplication
Low
overhead
Hight
overhead
8Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
General use case for Docker/Container
Popular use case: Web application development/DevOps
• Portable application environment, wrap environment difference
• Easy deploy and accelerate delivery.
• Integrated environment for integration test and real service.
Dev
VM
Service
Bare metal
Test
container
test
feedba
ck
release
commit deploy deploy
9Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Use case
Media search system with finger print
• Massive images/videos/sounds search system
• High speed and precise detection of snippets
• Use finger prints of sounds and images
• SaaS service for media search and detection at Media business division
at NTT Data.
• Applied NTT Research and Development results.
RMS Engine
contents 特徴データ
・・・
Hit!
1
2
3
4
N
特徴データ
Search rapidly
Query(目的信号) Database(蓄積信号)
特徴データ抽出
関連情報付与
Sound
Video
Result(Music tile ・CD Identifier・Movie title etc.)
照合
# Service Application
1 Full music report
service
Watch and count
music utilization in
broadcast, and report
for copyright
accounting.
2 Contents
monitoring
Watch illegally
uploaded contents on
major sites world wide
3 Contents filtering Detect illegal upload
on movie sharing sites.
4 Several services CM combined service
etc.
10Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Use case
Features
• Distributed processing architecture with 10 – over 100 servers
• Use heavily hardware resources such as CPU and memory.
• Multiple application for multiple services and customers.
Finger print database
Distributed db
Service A cluster
server
AP a
serve
r
AP a
サーバ
AP a
・・・
サーバ
AP a
Services B cluster
サーバ
AP b
サーバ
AP b
・・・
サーバ
AP b
・・・
Distributed process for
search data in each
servers.
11Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Technical findings
5
5.5
6
6.5
7
7.5
8
100 300 500 700 1000
TAT
Test Cases #
Average TAT
コンテナ
ハード
Application performance between bare metal and container
- 1.0 sec
12Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Technical findings
• Key difference
– Bare metal environment: CentOS 6.x
– Docker host environment: CentOS 7.x (guest libraries : 6.x)
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
CPUUsage
CPU cores
CPU load %
物理
コンテナ
13Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker use case
Challenges
To archive performance and deliverable time, operator need
to work on complex data distribution management.
VMware and/or OpenStack? Not good for “High resource demand”
Docker/Container? Both flexibility and low overhead
Different dependency for system on each
applications.
=>Impossible to integrate environment
=> High management cost.
Balancing server spec and
process load
Difficult to restart with fallback servers.
⇒ standby with whole system deployment
=> Duplex investment!!
Service A cluster
Server
AP a
Serv
AP a
サーバ
AP a ・・・
サーバ
AP
サーバ
AP a
サーバ
AP a
? ?
Service B cluster
サーバ
AP b
サーバ
AP b
・・・
サーバ
AP b
14Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Dockerの活用事例ご紹介
Automated distribution of App/Data by Docker Container
Deploy Docker containers on servers for each data management unit.
⇒ Automated deployment. Multiple application deployment with
common servers.
Server Server Server
・・・
APa APa APa APa APa APa
・・・
APa APa APa
Server
APa APa
Server Server
APb APb APb APb APb
Server
APb APb
APa APa APa APb APb APb
・・・ ・・・
Container
registory
Deploy on server with
load balanced way.
Service a Service b
Single server
cluster for
multiple
applications
15Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
N
A
N
A
Docker use case
Rebalance containers when hardware corruption
When detecting hardware defeat, rebalance containers according to
resource status. ⇒ Reduce cost and down time by automation
Server Server Server
・・・AP AP AP AP AP AP AP AP
Server
AP AP
Server
AP AP
Server
AP AP
Broken
Server Server Server
・・・AP AP AP AP AP AP AP AP AP
Server
AP AP
Server
AP AP AP
Server
AP AP
Replace affected
containers
16Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Use case
Key points for enterprise
Docker + Enterprise => Operation Improvement
• Automate rebalance keeps app performance
and reduces PF cost
• Squeeze hardware resources by precise
container placement
①Automated operations
• Reduce downtime and operational cost by
automated operations by trigger from breakage
detection
②Automated fallback on breakage
17Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Use case
Key points
Docker + Enterprise => Operation Improvement
• Wrap a PF difference for applications inside
container image.
• Consolidate operation procedure and platforms
③Consolidation of application PFs
• Consul name-resolver provide communication
base for dynamic PF
• Archive an operational improvement only with
platform change
④Non Application modification
18Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Missing piece
WHAT is a missing piece to deploy
19Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker use case
communication using consul name resolver
Communicate using name resolver by consul.
⇒ Containerize application w/o Modifications
Search
001
Search
003
10.0.1.2
Search001 10.0.1.2
Search002 10.0.2.2
Search003 10.0.2.3
Search004 10.0.3.2 ⇒ 10.0.4.2
Add 001
Register itself
On startup
10.0.2.3
Search
002
10.0.2.2
Resolve Search001
⇒10.0.1.2
communicate
Search
004
10.0.3.2
Search
004
10.0.4.2
Broken replace
Update registration
Update 004
consul
10.0.0.0/8
20Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker User case
Automated operations
• Hinemos works as delegate of operators:
• container replacement, restart it and update provisioning db.
• Breakage detection, fallback
Server
r
Server Server Server Server Server
Container
Contain
er
Container
COntain
er
COntain
er
コンテナ
コンテナ コンテナ
AP AP
AP AP
AP
AP APAP AP
コンテナ
コンテナ コンテナ
コンテナ
コンテナ コンテナ
コンテナ
コンテナ コンテナ
AP AP AP
AP AP AP AP AP AP
Breakage
detect
コンテナ
AP
コンテナ
AP
コンテナ
AP
Replacement
Replacement of
container,
then monitor it
Detect breakage and
replace containers
placement・
Monitor
21Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Hinemos
System monitoring and management application
for Enterprise applications.
 Born in Japan, home of quality crazy users
 Born as Open Source Software from first bit
 Simple UI for trivial use cases
 Multiple environmental support
 Private systems, Public cloud and Containers
 Linux, Windows
 PostgreSQL, MySQL, Oracle
 Job management capability, complex job executions
22Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
(1)Docker deployment automation
[Preexist Docker management products and services]
・From Image repository to orchestration for infrastructure layer
・No tools to monitor both application and infrastructure layer, and job
control
Docker Registorygitリポジトリ
commit ビルド
オンプレミス環境仮想化環境クラウド環境
コンテナ動作インフラ
デプロイ
オーケストレーション
クラスタ
VCS Image Management
CI Tool
dev
Docker
Operation tool
モニタリング
Job control
Monitor
both container and host
Missing place
23Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Job management: container operations
• Operates Start/Stop of Docker containers, by GUI and scheduled way.
• Remote and Agent less operation of Docker Containers.
• Integrate cloud management and Container operations.
Launch container
Restart container
Stop container
Remove container
Delete EC2
instance
Launch EC2
instance
Stop EC2 instance
Create EC2
instance
Backup EC2
instance
Hinemos Container management Hinemos Cloud management
24Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Job management
• Support job management on-premises, private/public cloud
and container environment.
• Schedule execution for container internal commands.
• Agent less execution for container commands.
✔
✔
▲
Remote
&
Agent less
Job controls
25Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Job management
Hinemos can call docker API natively.
Two job execution ways
Hinemos(Docker API)Old Hinemos way
CLI
Proce
ss X
Process in
Container A
Launch
nsenter
(similar to
call ssh)
CLI
Proce
ss X
Process in
container A
Launch
Docker API(exec)
Container A
cgroups
Other
cgroups
Container A
cgroups
26Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
(2)Docker Container configuration management
• Push button management only with specify Docker host.
• Automated update follows life cycle of Docker Containers
• Each to manage among Docker containers and hosting
servers.
Automated detection
Automated Tracking
Monitor/Job management
GUI window
27Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker container configuration management
Docker
container list
Docker hosts list
Map
Docker hosts
and
Docker
containers
28Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker configuration management tag recognition
Operation and management configuration follows dynamic container
deployments.
Automated service group detection with Docker label such as Web or DB,
resulted scope and grouping automation.
Docker
Label: web container
Label: app container
Hinemos scope for Web servers
Hinemos Scope for App servers
Automated
grouping
Automated
grouping
Web server
monitoring
App server
Monitoring
Hands free
management
29Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
(3)Docker monitoring features
Monitoring metrics for Docker host and guest.
Container A start
Operation events
Manage container events
Container A
Container C
CPU#1
Load balances
Container B start
Container C Start
Container A Delete
Container D start
Detect
unwanted
Operations
CPU#2
Container B
Contianer A
Container C
Unbalanced
load
30Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Monitoring
• Monitoring for Docker Architecture
• Monitoring All Docker hosts
• Monitoring precisely for containers.
Docker Host Docker Container
Status
Resources
Events
Status
resources
Docker monitoring by Hinemos
31Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Monitoring: docker hosts
Docker Host status … Status=0(OK)/1(NG)
Docker Host CPU load … DockerホストのOS全体のCPU使用状況
Container numbers … Count per statuses (running/paused/exited/restarting)
Disk Usage by Docker … Usage per status
32Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Docker Monitoring: precise resource monitoring
Monitor CPU load per
container
Monitor Core loads per
container
33Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
White Paper for Docker with Hinemos
Hinemos white paper for docker usage.
Also share
sample scripts
34Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation
Resulted Architecture
Database Provisioning
Automation
Puppet
Ansible
Monitor/Job
Operation
Container
Image
management
(docker-registry)
Container Host
App
Brid
ge
NAT
consu
l
Hinemos agent
Container Host
App
Brid
ge
NAT
consu
l
Hinemos agent
Container Host
App
Brid
ge
NAT
consu
l
Hinemos agent
Container Host
App
Brid
ge
NAT
consu
l
Hinemos agent
registory
NAT
Application
Monitoring
search400
search001
…
Hinemos
manager
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation

More Related Content

PDF
Virtual Hadoop Introduction In Chinese
PPTX
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
PDF
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
PDF
DCEU 18: Provisioning and Managing Storage for Docker Containers
PDF
Cloud Foundry Overview
PPTX
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
PDF
Kubernetes for the PHP developer
PPTX
Kubernetes day 2 Operations
Virtual Hadoop Introduction In Chinese
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Provisioning and Managing Storage for Docker Containers
Cloud Foundry Overview
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Kubernetes for the PHP developer
Kubernetes day 2 Operations

What's hot (20)

PPTX
A Dive Into Containers and Docker
PDF
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
PPTX
Application Modernization with PKS / Kubernetes
PDF
Puppet on a string
PDF
Building Your Docker Swarm Tech Stack
PDF
DCEU 18: State of the Docker Engine
PDF
Docker meetup-20-apr-17-openshit
PDF
DCEU 18: Developing with Docker Containers
PPTX
Using Docker EE to Scale Operational Intelligence at Splunk
PPTX
Galera on kubernetes_no_video
PDF
CoreOS automated MySQL Cluster Failover using Galera Cluster
PDF
Containers in depth – Understanding how containers work to better work with c...
PDF
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
PDF
Enabling NFV features in kubernetes
PPT
Suggestion for an IPv6 Roll Out
PDF
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
PDF
Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)
PDF
DCEU 18: Building Your Development Pipeline
PPTX
Introduction to Kubernetes
PDF
Containers - Portable, repeatable user-oriented application delivery. Build, ...
A Dive Into Containers and Docker
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Application Modernization with PKS / Kubernetes
Puppet on a string
Building Your Docker Swarm Tech Stack
DCEU 18: State of the Docker Engine
Docker meetup-20-apr-17-openshit
DCEU 18: Developing with Docker Containers
Using Docker EE to Scale Operational Intelligence at Splunk
Galera on kubernetes_no_video
CoreOS automated MySQL Cluster Failover using Galera Cluster
Containers in depth – Understanding how containers work to better work with c...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
Enabling NFV features in kubernetes
Suggestion for an IPv6 Roll Out
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
Autoscaling Distributed System with BOSH (Cloud Foundry Summit 2014)
DCEU 18: Building Your Development Pipeline
Introduction to Kubernetes
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Ad

Similar to Distributed application usecase on docker (20)

PDF
Using Databases and Containers From Development to Deployment
PDF
SD Times - Docker v2
PPTX
Docker - A high level introduction to dockers and containers
PPTX
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
PDF
Http Services in Rust on Containers
PDF
CA Performance Manager Agility by using Docker Containers for Network Manag...
PDF
01282016 Aerospike-Docker webinar
PDF
56k.cloud training
PDF
How to integrate OpenStack Swift to your "legacy" system
PDF
Docker San Diego 2015-03-25
PDF
Cloud Foundry Marketplace
PDF
Webinar: OpenStack Best Practices for Production
PDF
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
PDF
Deploying Containers in Production and at Scale
PDF
Slides: How to Select a PaaS
PPTX
Optimizing Cloud Foundry and OpenStack for large scale deployments
PDF
Tampere Docker meetup - Happy 5th Birthday Docker
PDF
introduction to kubernetes slide deck by Roach
PPTX
Media processing with serverless architecture
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Using Databases and Containers From Development to Deployment
SD Times - Docker v2
Docker - A high level introduction to dockers and containers
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
Http Services in Rust on Containers
CA Performance Manager Agility by using Docker Containers for Network Manag...
01282016 Aerospike-Docker webinar
56k.cloud training
How to integrate OpenStack Swift to your "legacy" system
Docker San Diego 2015-03-25
Cloud Foundry Marketplace
Webinar: OpenStack Best Practices for Production
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Deploying Containers in Production and at Scale
Slides: How to Select a PaaS
Optimizing Cloud Foundry and OpenStack for large scale deployments
Tampere Docker meetup - Happy 5th Birthday Docker
introduction to kubernetes slide deck by Roach
Media processing with serverless architecture
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Ad

More from Hiroshi Miura (20)

ODP
Wireless display-on-linux
ODP
圧縮・伸張・アーカイブサポートの現状と課題
PDF
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
ODP
Libreoffice and translation
ODP
ライブラリ インストール マネージャ For Visual C/C++
PDF
Starting OpenStreetMap Japan 2008 in SotM2008
PDF
Iwfst 2005.Position Paper
PDF
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
PDF
Sinsai.info, CrisisMap and the next
PDF
Sinsai.info Symposium: OSM now
PDF
日本国際地図学会 20110808 震災とジオメディア 
PDF
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
PDF
unihandecode: An Unicode transliteration library
PDF
SotM2011 crisis mapping and sinsai.info
PDF
Building production server on docker
PDF
How GNSS changes mapping?
PDF
Osm how to_mapping_2014
PDF
How to mapping_hondout
PDF
"Up" with vagrant and docker
PDF
webdb forum_sinsai
Wireless display-on-linux
圧縮・伸張・アーカイブサポートの現状と課題
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Libreoffice and translation
ライブラリ インストール マネージャ For Visual C/C++
Starting OpenStreetMap Japan 2008 in SotM2008
Iwfst 2005.Position Paper
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Sinsai.info, CrisisMap and the next
Sinsai.info Symposium: OSM now
日本国際地図学会 20110808 震災とジオメディア 
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
unihandecode: An Unicode transliteration library
SotM2011 crisis mapping and sinsai.info
Building production server on docker
How GNSS changes mapping?
Osm how to_mapping_2014
How to mapping_hondout
"Up" with vagrant and docker
webdb forum_sinsai

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
AI in Product Development-omnex systems
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administration Chapter 2
PDF
Digital Strategies for Manufacturing Companies
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
AI in Product Development-omnex systems
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ISO 45001 Occupational Health and Safety Management System
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Understanding Forklifts - TECH EHS Solution
How to Choose the Right IT Partner for Your Business in Malaysia
PTS Company Brochure 2025 (1).pdf.......
System and Network Administration Chapter 2
Digital Strategies for Manufacturing Companies
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
VVF-Customer-Presentation2025-Ver1.9.pptx

Distributed application usecase on docker

  • 1. Copyright © 2016 NTT DATA Corporation 15, July 2016 Hiroshi Miura Systems Engineering Headquarters, NTT DATA Corporation Distributed application use case on container clusters - automated operations with Hinemos and Docker
  • 2. 2Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Self introduction • Senior IT-Specialist for Platform on NTT DATA Corporation. • Lead Platform Engineering Services using OSS/Linux and related technologies • Github/Twitter: @Miurahr • Contributions: – Some Linux drivers for laptop, CPU, power management etc. – Tools such as Vagrant-kvm – OpenStack Swift – OmegaT Translation tool – Etc….
  • 3. 3Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Evaluation project with Docker in enterprise application. Service Information in NTT DATA web page in 2015 fall.
  • 4. 4Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Evaluation project with Docker in enterprise application. Service Information in NTT DATA web page in 2015 fall. Docker Enterprise use case Start PoC We now resulted it is useful and go forward for production!! After a half year
  • 5. 5Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Why Docker/ container From Enterprise Docker/Container BoF<on LinuxCon/ContainerCon 2015 Tokyo> Discussed about barriers and solutions for enterprise use case.
  • 6. 6Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Why Docker/ container From Enterprise Docker/Container BoF<on LinuxCon/ContainerCon 2015 Tokyo> Discussed about barriers and solutions for enterprise use case. → Agrees to share use cases.
  • 7. 7Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation 2. lightweight Docker from enterprise application perspective 1. Portability 3. History management 4. API: Docker Hub ecosystem evaluation Private cloud container Apps A Update Apps A Apps A Std. libs CentOS6 Base Apps B Library B Std. libs CentOS6 Base Share base images C h a n g e l a y e r Source Container definition Image management Automated test and deploy Automated launch Automated launch Server OS application Virtual server OS application コンテナ Hypervisorapplication Low overhead Hight overhead
  • 8. 8Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation General use case for Docker/Container Popular use case: Web application development/DevOps • Portable application environment, wrap environment difference • Easy deploy and accelerate delivery. • Integrated environment for integration test and real service. Dev VM Service Bare metal Test container test feedba ck release commit deploy deploy
  • 9. 9Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Use case Media search system with finger print • Massive images/videos/sounds search system • High speed and precise detection of snippets • Use finger prints of sounds and images • SaaS service for media search and detection at Media business division at NTT Data. • Applied NTT Research and Development results. RMS Engine contents 特徴データ ・・・ Hit! 1 2 3 4 N 特徴データ Search rapidly Query(目的信号) Database(蓄積信号) 特徴データ抽出 関連情報付与 Sound Video Result(Music tile ・CD Identifier・Movie title etc.) 照合 # Service Application 1 Full music report service Watch and count music utilization in broadcast, and report for copyright accounting. 2 Contents monitoring Watch illegally uploaded contents on major sites world wide 3 Contents filtering Detect illegal upload on movie sharing sites. 4 Several services CM combined service etc.
  • 10. 10Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Use case Features • Distributed processing architecture with 10 – over 100 servers • Use heavily hardware resources such as CPU and memory. • Multiple application for multiple services and customers. Finger print database Distributed db Service A cluster server AP a serve r AP a サーバ AP a ・・・ サーバ AP a Services B cluster サーバ AP b サーバ AP b ・・・ サーバ AP b ・・・ Distributed process for search data in each servers.
  • 11. 11Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Technical findings 5 5.5 6 6.5 7 7.5 8 100 300 500 700 1000 TAT Test Cases # Average TAT コンテナ ハード Application performance between bare metal and container - 1.0 sec
  • 12. 12Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Technical findings • Key difference – Bare metal environment: CentOS 6.x – Docker host environment: CentOS 7.x (guest libraries : 6.x) 0 10 20 30 40 50 60 70 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CPUUsage CPU cores CPU load % 物理 コンテナ
  • 13. 13Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker use case Challenges To archive performance and deliverable time, operator need to work on complex data distribution management. VMware and/or OpenStack? Not good for “High resource demand” Docker/Container? Both flexibility and low overhead Different dependency for system on each applications. =>Impossible to integrate environment => High management cost. Balancing server spec and process load Difficult to restart with fallback servers. ⇒ standby with whole system deployment => Duplex investment!! Service A cluster Server AP a Serv AP a サーバ AP a ・・・ サーバ AP サーバ AP a サーバ AP a ? ? Service B cluster サーバ AP b サーバ AP b ・・・ サーバ AP b
  • 14. 14Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Dockerの活用事例ご紹介 Automated distribution of App/Data by Docker Container Deploy Docker containers on servers for each data management unit. ⇒ Automated deployment. Multiple application deployment with common servers. Server Server Server ・・・ APa APa APa APa APa APa ・・・ APa APa APa Server APa APa Server Server APb APb APb APb APb Server APb APb APa APa APa APb APb APb ・・・ ・・・ Container registory Deploy on server with load balanced way. Service a Service b Single server cluster for multiple applications
  • 15. 15Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation N A N A Docker use case Rebalance containers when hardware corruption When detecting hardware defeat, rebalance containers according to resource status. ⇒ Reduce cost and down time by automation Server Server Server ・・・AP AP AP AP AP AP AP AP Server AP AP Server AP AP Server AP AP Broken Server Server Server ・・・AP AP AP AP AP AP AP AP AP Server AP AP Server AP AP AP Server AP AP Replace affected containers
  • 16. 16Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Use case Key points for enterprise Docker + Enterprise => Operation Improvement • Automate rebalance keeps app performance and reduces PF cost • Squeeze hardware resources by precise container placement ①Automated operations • Reduce downtime and operational cost by automated operations by trigger from breakage detection ②Automated fallback on breakage
  • 17. 17Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Use case Key points Docker + Enterprise => Operation Improvement • Wrap a PF difference for applications inside container image. • Consolidate operation procedure and platforms ③Consolidation of application PFs • Consul name-resolver provide communication base for dynamic PF • Archive an operational improvement only with platform change ④Non Application modification
  • 18. 18Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Missing piece WHAT is a missing piece to deploy
  • 19. 19Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker use case communication using consul name resolver Communicate using name resolver by consul. ⇒ Containerize application w/o Modifications Search 001 Search 003 10.0.1.2 Search001 10.0.1.2 Search002 10.0.2.2 Search003 10.0.2.3 Search004 10.0.3.2 ⇒ 10.0.4.2 Add 001 Register itself On startup 10.0.2.3 Search 002 10.0.2.2 Resolve Search001 ⇒10.0.1.2 communicate Search 004 10.0.3.2 Search 004 10.0.4.2 Broken replace Update registration Update 004 consul 10.0.0.0/8
  • 20. 20Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker User case Automated operations • Hinemos works as delegate of operators: • container replacement, restart it and update provisioning db. • Breakage detection, fallback Server r Server Server Server Server Server Container Contain er Container COntain er COntain er コンテナ コンテナ コンテナ AP AP AP AP AP AP APAP AP コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ コンテナ AP AP AP AP AP AP AP AP AP Breakage detect コンテナ AP コンテナ AP コンテナ AP Replacement Replacement of container, then monitor it Detect breakage and replace containers placement・ Monitor
  • 21. 21Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Hinemos System monitoring and management application for Enterprise applications.  Born in Japan, home of quality crazy users  Born as Open Source Software from first bit  Simple UI for trivial use cases  Multiple environmental support  Private systems, Public cloud and Containers  Linux, Windows  PostgreSQL, MySQL, Oracle  Job management capability, complex job executions
  • 22. 22Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation (1)Docker deployment automation [Preexist Docker management products and services] ・From Image repository to orchestration for infrastructure layer ・No tools to monitor both application and infrastructure layer, and job control Docker Registorygitリポジトリ commit ビルド オンプレミス環境仮想化環境クラウド環境 コンテナ動作インフラ デプロイ オーケストレーション クラスタ VCS Image Management CI Tool dev Docker Operation tool モニタリング Job control Monitor both container and host Missing place
  • 23. 23Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Job management: container operations • Operates Start/Stop of Docker containers, by GUI and scheduled way. • Remote and Agent less operation of Docker Containers. • Integrate cloud management and Container operations. Launch container Restart container Stop container Remove container Delete EC2 instance Launch EC2 instance Stop EC2 instance Create EC2 instance Backup EC2 instance Hinemos Container management Hinemos Cloud management
  • 24. 24Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Job management • Support job management on-premises, private/public cloud and container environment. • Schedule execution for container internal commands. • Agent less execution for container commands. ✔ ✔ ▲ Remote & Agent less Job controls
  • 25. 25Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Job management Hinemos can call docker API natively. Two job execution ways Hinemos(Docker API)Old Hinemos way CLI Proce ss X Process in Container A Launch nsenter (similar to call ssh) CLI Proce ss X Process in container A Launch Docker API(exec) Container A cgroups Other cgroups Container A cgroups
  • 26. 26Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation (2)Docker Container configuration management • Push button management only with specify Docker host. • Automated update follows life cycle of Docker Containers • Each to manage among Docker containers and hosting servers. Automated detection Automated Tracking Monitor/Job management GUI window
  • 27. 27Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker container configuration management Docker container list Docker hosts list Map Docker hosts and Docker containers
  • 28. 28Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker configuration management tag recognition Operation and management configuration follows dynamic container deployments. Automated service group detection with Docker label such as Web or DB, resulted scope and grouping automation. Docker Label: web container Label: app container Hinemos scope for Web servers Hinemos Scope for App servers Automated grouping Automated grouping Web server monitoring App server Monitoring Hands free management
  • 29. 29Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation (3)Docker monitoring features Monitoring metrics for Docker host and guest. Container A start Operation events Manage container events Container A Container C CPU#1 Load balances Container B start Container C Start Container A Delete Container D start Detect unwanted Operations CPU#2 Container B Contianer A Container C Unbalanced load
  • 30. 30Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Monitoring • Monitoring for Docker Architecture • Monitoring All Docker hosts • Monitoring precisely for containers. Docker Host Docker Container Status Resources Events Status resources Docker monitoring by Hinemos
  • 31. 31Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Monitoring: docker hosts Docker Host status … Status=0(OK)/1(NG) Docker Host CPU load … DockerホストのOS全体のCPU使用状況 Container numbers … Count per statuses (running/paused/exited/restarting) Disk Usage by Docker … Usage per status
  • 32. 32Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Docker Monitoring: precise resource monitoring Monitor CPU load per container Monitor Core loads per container
  • 33. 33Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation White Paper for Docker with Hinemos Hinemos white paper for docker usage. Also share sample scripts
  • 34. 34Copyright © 2015 NTT DATA CorporationCopyright © 2016 NTT DATA Corporation Resulted Architecture Database Provisioning Automation Puppet Ansible Monitor/Job Operation Container Image management (docker-registry) Container Host App Brid ge NAT consu l Hinemos agent Container Host App Brid ge NAT consu l Hinemos agent Container Host App Brid ge NAT consu l Hinemos agent Container Host App Brid ge NAT consu l Hinemos agent registory NAT Application Monitoring search400 search001 … Hinemos manager
  • 35. Copyright © 2011 NTT DATA Corporation Copyright © 2016 NTT DATA Corporation