Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コンテナベースのクラウド基盤とマイクロサービスアーキテクチャ / 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
250
Cloud Foundry Summit Silicon Valley 2017 参加報告
ozzozz
1
330
Cloud Foundryに関する日本国内コミュニティについて / About Cloud Foundry community in Japan
ozzozz
0
1.5k
Dockerイメージ置き場の件
ozzozz
5
4k
Running Concourse CI on enterprise private cloud
ozzozz
1
570
Running Concourse CI on enterprise private cloud【日本語版】
ozzozz
4
930
Other Decks in Technology
See All in Technology
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
継続的なAIコスト最適化
bgpat
1
340
会社説明資料
persolserverworks
0
9.8k
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
130
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
夫婦で子育てするための育児標準化
codmoninc
PRO
0
330
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Believing is Seeing
oripsolob
1
240
Art, The Web, and Tiny UX
lynnandtonic
304
22k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
GitHub's CSS Performance
jonrohan
1033
470k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Exploring anti-patterns in Rails
aemeredith
4
540
Fireside Chat
paigeccino
43
4.1k
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ɺ࢜௨ɺཱɾɾɾ