Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / IEICE NW NWS16
Search
ozzozz
June 07, 2018
Technology
0
130
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / IEICE NW NWS16
2018年6月7日に電子情報通信学会第16回ネットワークソフトウェア研究会に招待いただき講演したものです。
ozzozz
June 07, 2018
Tweet
Share
More Decks by ozzozz
See All by ozzozz
BOSH 101 winter 2018
ozzozz
3
1.1k
BOSH101 autumn 2017
ozzozz
5
1.9k
Cloud Foundry について 〜日本国内のCFコミュニティ界隈の状況など〜 / Session 4-B2-1 at OpenStack Days Tokyo 2017
ozzozz
1
480
Cloud Foundry on OpenStack deep dive / Session 4-B2-5 at OpenStack Days Tokyo 2017
ozzozz
2
230
Cloud Foundry Summit Silicon Valley 2017 参加報告
ozzozz
1
310
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
530
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
890
Other Decks in Technology
See All in Technology
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
450
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
270
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
190
グレートファイアウォールを自宅に建てよう
ctes091x
0
140
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
1k
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
250
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
220
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
280
乗りこなせAI駆動開発の波
eltociear
1
1k
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
180
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Invisible Side of Design
smashingmag
302
51k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Why Our Code Smells
bkeepers
PRO
340
57k
Unsuck your backbone
ammeep
671
58k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Site-Speed That Sticks
csswizardry
13
990
Designing for Performance
lara
610
69k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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ɺ࢜௨ɺཱɾɾɾ