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
2.1k
Cloud Foundry について 〜日本国内のCFコミュニティ界隈の状況など〜 / Session 4-B2-1 at OpenStack Days Tokyo 2017
ozzozz
1
500
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
560
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
930
Other Decks in Technology
See All in Technology
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
350
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
130
AIで仕事のやり方を変える
matsu7874
1
700
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.6k
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
190
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
570
enechainの内製セルフサービスプラットフォーム
hiyosi
0
110
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
390
Webとヘルスデータ
yukukotani
0
190
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
130
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Making Projects Easy
brettharned
120
6.7k
Building AI with AI
inesmontani
PRO
1
1.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Chasing Engaging Ingredients in Design
codingconduct
0
300
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
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ɺ࢜௨ɺཱɾɾɾ