Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / IEICE NW NWS16
Search
ozzozz
June 07, 2018
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / IEICE NW NWS16
2018年6月7日に電子情報通信学会第16回ネットワークソフトウェア研究会に招待いただき講演したものです。
ozzozz
June 07, 2018
More Decks by ozzozz
See All by ozzozz
BOSH 101 winter 2018
ozzozz
3
1.2k
BOSH101 autumn 2017
ozzozz
5
2k
Cloud Foundry について 〜日本国内のCFコミュニティ界隈の状況など〜 / Session 4-B2-1 at OpenStack Days Tokyo 2017
ozzozz
1
490
Cloud Foundry on OpenStack deep dive / Session 4-B2-5 at OpenStack Days Tokyo 2017
ozzozz
2
240
Cloud Foundry Summit Silicon Valley 2017 参加報告
ozzozz
1
330
Cloud Foundryに関する日本国内コミュニティについて / About Cloud Foundry community in Japan
ozzozz
0
1.4k
Dockerイメージ置き場の件
ozzozz
5
4k
Running Concourse CI on enterprise private cloud
ozzozz
1
550
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
920
Other Decks in Technology
See All in Technology
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
280
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
210
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
8.1k
事業会社は今こそSWEを高給で雇ってWebシステムを内製しよう
masaokb
0
110
product engineering with qa
nealle
0
100
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
300
徹底討論!ECS vs EKS!
daitak
3
1.8k
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
240
Why is RC4 still being used?
tamaiyutaro
0
250
Amazon Redshift zero-ETL 統合を活用した軽量なマルチプロダクトデータ可視化基盤 / Lightweight Multi-Product Data Visualization with Amazon Redshift Zero-ETL
kaminashi
0
120
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
460
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
A designer walks into a library…
pauljervisheath
211
24k
Un-Boring Meetings
codingconduct
0
330
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
The Curious Case for Waylosing
cassininazir
1
410
New Earth Scene 8
popppiees
3
2.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
290
Transcript
ίϯςφϕʔεͷΫϥυج൫ͱ ϚΠΫϩαʔϏεΞʔΩςΫνϟ /55ιϑτΣΞΠϊϕʔγϣϯηϯλ ʗຊ$MPVE'PVOESZάϧʔϓձ ඌ৲݈ ిࢠใ௨৴ֶձୈ16ճωοτϫʔΫιϑτΣΞݚڀձ
ʰίϯςφϕʔεͷΫϥυج൫ͱ ɹɹϚΠΫϩαʔϏεΞʔΩςΫνϟʱ l ίϯςφͱ l ίϯςφϕʔεͷΫϥυج൫ͱ l ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ l σδλϧτϥϯεϑΥʔϝʔγϣϯʹ
͚ͯ ࣍
ίϯςφͱ l Χʔωϧ͕Ϣʔβʹఏڙ͢Δػೳ l Χʔωϧ͕ཧ͢ΔҎԼͷϦιʔεΛίϯ ςφຖʹִ ίϯςφͷϓϩηε͔Βί ϯςφ֎ͷ֤Ϧιʔε͕ݟ͑ͳ͍ l
ϓϩηε*%ɺ6*%ɺ(*% l ϝϞϦ l ϑΝΠϧγεςϜ l ωοτϫʔΫ l ίϯςφؒͰΧʔωϧΛڞ༻
ΞϓϦέʔγϣϯϓϩηε͔ΒΈͨ ɹɹԾϚγϯ 7. ͱίϯςφͷҧ͍ 7.ϗετ ϗετ04Χʔωϧ ϋΠύʔόΠβ ԾϚγϯ ήετ04Χʔωϧ ΞϓϦϓϩηε
ίϯςφϗετ ϗετ04Χʔωϧ ίϯςφ ΞϓϦϓϩηε ϑΝΠϧγεςϜԾԽͳͲ ɾɾɾ ɾɾɾ
7.ϗετͰQTίϚϯυ $ ps axw PID TTY STAT TIME COMMAND 1
? Ss 1:24 /sbin/init 2 ? S 0:02 [kthreadd] 3 ? S 0:09 [ksoftirqd/0] 5 ? S< 0:00 [kworker/0:0H] ... 1230 ? Ssl 0:00 /usr/sbin/libvirtd ... 21498 ? Sl 2703:27 qemu-system-x86_64 -enable-kvm -name vm101 -S -machine pc-1.0,accel=kvm,usb=off -m 4096 -realtime mlock= 21500 ? S 25:26 [vhost-21498] 21503 ? S 0:00 [kvm-pit/21498] ...
%PDLFSίϯςφϗετͰQTίϚϯυ $ ps axw PID TTY STAT TIME COMMAND 1
? Ss 0:14 /sbin/init 2 ? S 0:00 [kthreadd] 3 ? S 0:01 [ksoftirqd/0] 5 ? S< 0:00 [kworker/0:0H] ... 1035 ? Ssl 49:20 /usr/bin/dockerd -H fd:// 1237 ? Ssl 33:09 docker-containerd -l unix:///var/run/docker/ libcontainerd/docker-containerd.sock --metrics-interval=0 --s ... 2114 ? Sl 0:02 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 14567 -container-ip 172.17.0.3 -container-po 2129 ? Sl 0:02 docker-containerd-shim 7ce15569757d613f301bfafd9da34450102f1e9b8bfae74f46ef23f178dbe922 /var/ run/docker/l 2146 pts/1 Ssl+ 0:00 ruby app.rb -e production ...
%PDLFSίϯςφͰQTίϚϯυ $ docker exec -it app_container sh /home/app # ps
axw PID TTY STAT TIME COMMAND 1 ? Ssl+ 0:00 ruby app.rb -e production 189 ? Ss 0:00 sh 193 ? R+ 0:00 ps axw /home/app #
%PDLFSίϯςφ֎ͰVOBNFBίϚϯυ $ docker exec -it app_container sh /home/app # uname
-a Linux 7ce15569757d 4.4.0-103-generic #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64 Linux • ίϯςφ • %PDLFSϗετ 6CVOUV-54 $ uname -a Linux docker01 4.4.0-103-generic #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
7.ͱൺֱͯ͠ͷ ίϯςφͷಛ l ىಈɾఀࢭ͕͍ l ϒʔτγϟοτμϯͷγʔέϯε͕ͳ͍ l Χʔωϧબͳ͍ l ྫ͑ɺ-JOVYϗετ্Ͱ8JOEPXTωΠςΟϒ
ίʔυͷίϯςφ ͦͷ··Ͱ ಈ͔ͳ͍ l σʔλΛӬଓతʹอ࣋͢ΔϑΝΠϧγεςϜͷ ΞΫηε͍ l ϑΝΠϧγεςϜԾԽͷͨΊɺετϨʔδΞ ΫηεʹΦʔόʔϔου͕͔͔Δ
ίϯςφͳͥྲྀߦͬͨʁ l %PDLFSͷొ͕͖͔͚ͬ l ίϯςφΠϝʔδʢίϯςφͷσΟϨΫτϦ πϦʔʣͷϏϧυͱɺίϯςφΠϯελϯ εͷ࡞ͱ࣮ߦΛ؆қԽ l ίϯςφΠϝʔδΛϨΠϠߏͱ͠ɺࠩͰ ͋ΔϨΠϠΛϏϧυɾ͢ΔػೳΛ۩උ
l %PDLFS)VCʢίϯςφΠϝʔδͷڞ༗ɾެ ։ɾαΠτʣ͕ଘࡏ l Ϋϥυར༻ʹ͓͍ͯ7.ϨϕϧͷԾԽ͕ඞཁෆ ՄܽͰͳ͔ͬͨ͜ͱͷؾ͖͕͕Δ
ʰίϯςφϕʔεͷΫϥυج൫ͱ ɹɹϚΠΫϩαʔϏεΞʔΩςΫνϟʱ l ίϯςφͱ l ίϯςφϕʔεͷΫϥυج൫ͱ l ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ l σδλϧτϥϯεϑΥʔϝʔγϣϯʹ
͚ͯ ࣍
ίϯςφϕʔεͷΫϥυج൫ͱ l 7.Ͱͳ͘ίϯςφΛಉ࣌େྔʹՔಇ͞ ͤɺܭࢉػϦιʔεͷޮతͳར༻ΛਤΔ ίϯςφϗετ ίϯςφϗετ ίϯςφϗετ ɾɾɾ "αʔϏ ε༻ίϯ
ςφ "αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ $αʔϏ ε༻ίϯ ςφ ੍ޚܥ(εέδϡʔϦϯάɺΦʔέετϨʔγϣϯɺɾɾɾ)
ίϯςφϕʔεͷΫϥυج൫ͷಛ l εέʔϧΞτɾεέʔϧΠϯ͕͍ l ίϯςφىಈɾఀࢭ͕͍͔Β l ಛʹॲཧෛՙ͕ࠁʑͱେ͖͘มಈ͢Δ 8FCαʔϏεͳͲʹ͏͚ͬͯͭ l σʔλͷӬଓతอ࣋ۤख
l ίϯςφͷϑΝΠϧγεςϜ͍ l ίϯςφͷஔઌϗετ͕ෆఆͩͱڞ༗ε τϨʔδΛߟྀཁ l ஔઌϗετݻఆͩͱނোੑʹ͋Γ
ෳίϯςφϗετͱετϨʔδ l ίϯςφϗετͷϩʔΧϧετϨʔδσʔλӬ ଓԽʹ͑ͳ͍ l ڞ༗ετϨʔδ͕ඞཁ l ͔͠͠ɺڞ༗ετϨʔδ*0ίετ͕ߴ͍ɾɾɾ ίϯςφϗετ ίϯςφϗετ
ίϯςφϗετ ɾɾɾ "αʔϏ ε༻ίϯ ςφ "αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ "αʔϏ ε༻ίϯ ςφ ڞ༗ετϨʔδ
ΦʔϓϯιʔεͷίϯςφϕʔεΫϥυج൫ l ߴεΩϧͷΤϯδχΞ͕࣮ͨ͠ෳࡶͳߏΛί ϯςφͱԾωοτϫʔΫΛۦͯ͠Քಇͤ͞Δ ʮίϯςφΦʔέετϨʔγϣϯπʔϧʯ l ΞϓϦέʔγϣϯ։ൃऀͷฏқͳΫϥυ ར༻ମݧͷఏڙͱϚϧνςφϯγʔΛॏࢹ͢Δ ʮΫϥυΞϓϦέʔγϣϯج൫ʯ
ෳίϯςφͷߏʢ༻͢ΔίϯςφΠϝʔδɺί ϯςφϓϩηεىಈํ๏ͳͲʣίϯςφؒωοτ ϫʔΫଓ݅ͳͲΛࡉ͔͘ఆٛ͠ೖ ίϯςφϗετ ίϯςφϗετ ίϯςφϗετ ɾɾɾ "αʔϏ ε༻ίϯ ςφ
"αʔϏ ε༻ίϯ ςφ ੍ޚܥ(εέδϡʔϦϯάɺΦʔέετϨʔγϣϯɺɾɾɾ) "αʔϏε༻ Ծ/8 #αʔϏε༻ Ծ/8 #αʔϏ ε༻ίϯ ςφ #αʔϏ ε༻ίϯ ςφ #αʔ Ϗεߏ ఆٛ
ΞϓϦέʔγϣϯίϯςφͷϏϧυͱΠϝʔδͷཧɺ ίϯςφͷஔআɾىಈఀࢭɾࢹ෮چɾϩάϝ τϦΫεͷऩूɺ--ϧʔςΟϯάͳͲΛશͯ୲͏ • CVJMEQBDLʹΑΔίϯςφΠϝʔδͷϏϧυʹରԠ • CVJMEQBDLϓϩάϥϛϯάݴޠϑϨʔϜϫʔΫͷࣗಈݕɺ࣮ ߦڥͷੜɺىಈ࣌ॲཧͷࣗಈઃఆΛ୲͏ • %PDLFSΠϝʔδͷ࣋ͪࠐΈʹରԠ • SVODίϯςφΛඪ४αϙʔτ
• 8JOEPXTαʔό্Ͱͷ8JOEPXTωΠςΟϒΞϓϦ࣮ߦʹରԠ • ϚϧνϢʔβɺϚϧνςφϯτରԠ
$MPVE'PVOESZͷ෦ߏ IUUQTEPDTDMPVEGPVOESZPSHDPODFQUTBSDIJUFDUVSFJOEFYIUNMΑΓ ֤ʑผϓϩηε͔ΒͳΔϚΠΫϩαʔϏεΞʔΩςΫνϟɺෳࡶͳࢄγεςϜ
$MPVE'PVOESZͷجຊతͳಈ͖ ʰ$MPVE'PVOESZͰֶͿɺ1BB4ͷ͘͠Έߨ࠲ʱIUUQXXXTMJEFTIBSFOFUKBDPQFOQBBTGPSCFHJOOFSTʹՃච $ cf push ΞϓϦͷ Ξοϓϩʔυ εςʔδϯά ίϯςφΠϝʔδͷϏϧυ
ίϯςφͷىಈ
ͪͳΈʹ%PDLFSͷ߹ ʰ$MPVE'PVOESZͰֶͿɺ1BB4ͷ͘͠Έߨ࠲ʱIUUQXXXTMJEFTIBSFOFUKBDPQFOQBBTGPSCFHJOOFSTʹՃච ΞϓϦͷ Ξοϓϩʔυ ίϯςφΠϝʔδͷ Ϗϧυ ίϯςφͷىಈ $ scp $
docker run Dockerfile $ docker build
ίϯςφϕʔεΫϥυج൫ͷ͍͚ l ͕ߴ͘ࠓޙվमػೳ֦ॆ͕͋·Γͳͦ͞͏ͳίϯςφ܈ ΛՔಇͤ͞Δͷʹ͍͍ͯΔ l ߴεΩϧͷอकΤϯδχΞ͕͍Δ߹ʹ͍͍ͯΔ l ։ൃ్্͘͠ࠓޙසൟʹվम͕ݟࠐ·ΕΔΞϓϦΛՔಇ͞ ͤΔͷʹ͍͍ͯΔ
l ΞϓϦ։ൃऀ͕ηϧϑαʔϏεͰΞϓϦͷอकӡ༻Λ୲͏߹ʹ ͍͍ͯΔ ແཧʹΘͳ͍ʂʢඇίϯςφߏɺΦϒδΣΫτετϨʔδ׆༻ʣ l σʔλΛӬଓతʹอ͍࣋ͨ͠߹
ʰίϯςφϕʔεͷΫϥυج൫ͱ ɹɹϚΠΫϩαʔϏεΞʔΩςΫνϟʱ l ίϯςφͱ l ίϯςφϕʔεͷΫϥυج൫ͱ l ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ l σδλϧτϥϯεϑΥʔϝʔγϣϯʹ
͚ͯ ࣍
ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ l ϩδοΫͷ༰ɾׂϓϩηεෛՙͷ ͳͲʹج͍ͮͯదʹׂ͞Εͨෳͷ ϓϩηεʢϚΠΫϩαʔϏεʣΛ࿈ܞͤ͞ɺ શମͱͯ͠εέʔϥϒϧͳαʔϏεΛఏڙ ͠Α͏ͱ͢ΔΞʔΩςΫνϟ l ରٛޠϞϊϦγοΫΞʔΩςΫνϟ
ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ http://www.nttdata.com/jp/ja/insights/trend_keyword/2015072301.html ΑΓҾ༻
ϚΠΫϩαʔϏεΞʔΩςΫνϟͷద༻ࢦ l ͍ͭಋೖ͢ΕΑ͍ͷ͔ɺͲ͏ׂ͢Ε Α͍ͷ͔ɺͳͲͷ֬ݻͨΔࢦ·ͩແ͍ l αʔϏεͷ༰ಛੑɺ։ൃӡ༻ϓϩ δΣΫτͷମ੍จԽͳͲɺෳͷཁҼ ʹΑΓ࠷దղ͕େ͖͘ҟͳΔͷͰ l ׂ͢Δࡍʹɺͦͷ*'༷ΛͳΔ͘
ૄ݁߹ͱ͢Δͱͱʹɺ໌จԽͯ͠ɺ૬ޓ ͷ࣮ͷӨڹΛۃখԽ͢Δ͖
ίϯςφͱϚΠΫϩαʔϏεΞʔΩςΫνϟ l ϚΠΫϩαʔϏεΛίϯςφϕʔεͷΫϥ υج൫্Ͱ࣮ߦ͢Δ͜ͱʹΑΔϝϦοτ l *'༷ͷ໌֬Խͱૄ݁߹͕ڧ੍͞ΕΔ l ༻͢ΔܭࢉػϦιʔεͷ؍ଌɾ੍ޚ͕ ߋʹ༰қʹͳΔ l
࣮ߦڥʹର͢ΔϙʔλϏϦςΟ͕૿͢
ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ৫ ใγεςϜ෦ Ұຕؠͳ৫͕*5αʔϏεΛఏڙ ଞͷ෦ॺ ސ٬ ཁ݅ ఏڙ ϚΠΫϩαʔϏεΞʔΩςΫνϟʹదԠͨ͠ ৫͕*5αʔϏεΛఏڙ ఏڙ
ఏڙ ఏڙ ఏڙ ఏڙ
$POXBZͷ๏ଇ システムを設計する組織は、 その構造をそっくりまねた構造 の設計を生み出してしまう Melvin Conway (英)
ʰίϯςφϕʔεͷΫϥυج൫ͱ ɹɹϚΠΫϩαʔϏεΞʔΩςΫνϟʱ l ίϯςφͱ l ίϯςφϕʔεͷΫϥυج൫ͱ l ϚΠΫϩαʔϏεΞʔΩςΫνϟͱ l σδλϧτϥϯεϑΥʔϝʔγϣϯʹ
͚ͯ ࣍
σδλϧτϥϯεϑΥʔϝʔγϣϯʹ͚ͯ l ࣌ʑࠁʑͱมԽ͢Δސ٬χʔζࣄۀڥʹਝʹԠ͑ Δ͜ͱͰސ٬Λຬͤ͞ΔͨΊʹɺ*5Λ༗ޮ׆༻ͨ͠ ΞδϟΠϧͳࣄۀӡӦ͕ඞཁෆՄܽ l ΞδϟΠϧͳࣄۀӡӦͷͨΊʹඞཁͳͷ l దʹݖݶҕৡ͞ΕখճΓ͕ར͖ΞδϦςΟͷߴ͍Τ ϯδχΞνʔϜͷߏஙʢ·ׂͨʣɺҭɺ૿৩
l lQJ[[BSVMFz ֓Ͷʙ໊ఔͱݴΘΕΔ l ͦΕΛࢧ͑ΔπʔϧΫϥυج൫ͷಋೖͱར༻ l ͦΕΒʹجͮ͘ࢼߦࡨޡΛ౿·͑ɺ݁Ռͱͯ͠ϚΠΫϩ αʔϏεΞʔΩςΫνϟΛ࠾͍ͬͯΔՄೳੑߴ͍
ʲએʳ$MPVE'PVOESZؔ࿈ͷίϛϡχςΟ • IUUQDMPVEGPVOESZHSKQ • ຊࠃͰͷ$MPVE'PVOESZͷීٴΛਤΔϢ ʔβάϧʔϓ • (PPHMF(SPVQT·ͨ4MBDLʹొʹೖձ • IUUQQBBTDPOOQBTTDPN
• ʰ$MPVE'PVOESZιʔείʔυྠಡձʱ͔Βൃల ٕͨ͠ज़ษڧձ • IUUQTXXXDMPVEGPVOESZPSH • શੈքͷ$MPVE'PVOESZ։ൃऀɾϢʔβΛ·ͱΊΔ • ͍͔ͭ͘ͷຊاۀձһʹ • /55ɺ࢜௨ɺཱɾɾɾ