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
Dockerを本番導入するにあたり得た知見
Search
Shoichiro Nagai(shnagai)
July 19, 2017
Technology
18
8.9k
Dockerを本番導入するにあたり得た知見
JAWS-UG横浜 #10 - Docker での発表資料です
Shoichiro Nagai(shnagai)
July 19, 2017
Tweet
Share
More Decks by Shoichiro Nagai(shnagai)
See All by Shoichiro Nagai(shnagai)
GoでBigQueryを操作する時にStructを使うか悩んでる話/go-bigquery-struct-worries
shoichiron
1
140
AWS Step Functions × AWS SAMで実現する家族ノートの低運用コストETL基盤/ kazokunote-stepfunctions-awssam-etl
shoichiron
4
4.9k
機械学習PJのデータ収集における課題を解決する データ基盤の取組み/Efforts of data infrastructure to solve problems in data collection of machine learning PJ
shoichiron
1
2.1k
ECS×Fargateで実現する運用コストほぼ0なコンテナ運用の仕組み/ ecs fargate low cost operation
shoichiron
14
18k
ママリで動くカテゴリ類推エンジンの仕組み ~機械学習導入の4つの勘所を添えて~/mamari category analogy
shoichiron
0
740
SIGNATEの練習問題コンペで 57位までスコアを上げた話/ The story of the signate competition
shoichiron
2
5.5k
AWSサービスで実現するバッチ実行環境のコンテナ/サーバレス化/ Container service of batch execution environment realized by AWS service
shoichiron
11
6.6k
Fargateは何がうれしいのか/ fargate-whats-nice
shoichiron
4
11k
コンテナ導入の正攻法〜ママリのコンテナ移行舞台裏〜/Confrontation-of-Container-Transfer
shoichiron
1
3.5k
Other Decks in Technology
See All in Technology
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
220
Amazon Aurora のバージョンアップ手法について
smt7174
2
140
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
270
クラウド食堂とは?
hiyanger
0
110
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
430
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
160
分解して理解する Aspire
nenonaninu
2
1k
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
170
Pwned Labsのすゝめ
ken5scal
1
380
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.4k
AIエージェント入門
minorun365
PRO
31
17k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
What's in a price? How to price your products and services
michaelherold
244
12k
Code Review Best Practice
trishagee
67
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
Thoughts on Productivity
jonyablonski
69
4.5k
Docker and Python
trallard
44
3.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Facilitating Awesome Meetings
lara
52
6.2k
Site-Speed That Sticks
csswizardry
4
400
Transcript
ՈͷຖΛͬͱসإʹɻ +"846(ԣ%PDLFS $POOFIJUPJODӬҪউҰ %PDLFSΛຊ൪ಋೖ͢Δʹ͋ͨΓಘͨݟ
ࣗݾհ ӬҪউҰ @twitter shnagai Connehito inc. ΠϯϑϥΤϯδχΞ http://kobitosan.hatenablog.com/ http://qiita.com/nagais ৬ྺɿ
SIerɹɹɹɹ3 Ұٳɹɹɹ 7 ίωώτ ࠓ5݄͔Β
ϚϚϦͷαʔϏεհ ϚϚϦ2 ϚϚΛࢧ͑Δ2"ΞϓϦ ʹग़࢈ͨ͠ঁੑͷਓʹਓ͕ ձһొ ϚϚϦ ϚϚΛࢧ͑Δ8FCϝσΟΞ
˞݄࣌ ݄ؒར༻ऀɿສਓ ݄ؒߘɿສ݅Ҏ্ ݄ؒӾཡɿԯ17
ΞδΣϯμ w ίωώτͰͷ%PDLFSࣄ w ΦʔέετϨʔγϣϯπʔϧͱͯ͠ͷ&$4 w %PDLFSӡ༻Ͱಘͨݟ
ίωώτͰͷ%PDLFSࣄ
ͳͥ%PDLFS w ։ൃڥͷվળͱͯ͠%PDLFSΛಋೖͯ͠Ռग़ͨ ʲ։ൃڥվળͱͯ͠%PDLFSΛಋೖͨ͠ʳ IUUQUFDIDPOOFIJUPDPNFOUSZ w ຊ൪%PDLFSԽͨ͠Βྑͦ͞͏ w ग़དྷΔͱ͜Ζ͔Β%PDLFSΛಋೖ͍ͯ͜͠͏
%PDLFSԽ͞Ε͍ͯΔͷ w %#εΩʔϚཧπʔϧͷ࣮ߦڥ &$PO%PDLFSˠɹ&$4 ࣮ߦ࣌ʹҰ͚ͩඞཁʹͳΔͷͰίϯςφ͍ࣺͯ w 8FCΞϓϦέʔγϣϯͷεςʔδϯάڥ &$4 5SBWJT$* ։ൃڥͱಉ͡%PDLFSΠϝʔδΛεςʔδϯάڥʹల։
ॳͷΞʔΩςΫνϟ
ίϯςφͷඋɾϥΠϑαΠΫϧճ͢ͷ ݁ߏେมɻɻɻ
w %PDLFSͱͯศར w ͕ͩɺίϯςφͷϥΠϑαΠΫϧΛճ͢ͷ໘ खಈͰΖ͏ͱ͢Δͱ͜Μͳεςοϓ͕ɺɺ ϩʔΧϧϚγϯ Ϗϧυˠ&$3QVTI EPDLFSCVJMEUYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU
BXTFDSHFUMPHJOSFHJPOBQOPSUIFBTU EPDLFSQVTIYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU &$ &$3QVMMˠچίϯςφഁغˠίϯςφىಈ BXTFDSHFUMPHJOSFHJPOBQOPSUIFBTU EPDLFSQVMMYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU EPDLFSLJMMIPHFEEM EPDLFSSNIPHFEEM EPDLFSSVOEOBNFIPHFEEMYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU ΦʔέετϨʔγϣϯͷਏΈ
ΦʔέετϨʔγϣϯΛ Կͱ͔͍ͨ͠
&$4 "NB[PO&$$POUBJOFS4FSWJDF ʹ ΦʔέετϨʔγϣϯΛͤΑ͏
w "84͕ఏڙ͍ͯ͠Δ ϚωʔδυαʔϏεͳͷͰӡ༻͕ෆཁ BXTίϚϯυͰૢ࡞Մೳ &$3ͱ͍͏%PDLFSΠϝʔδͷϦϙδτϦ͋Δ wίϯςφͷӡ༻ΛશͯͤΒΕΔ ԼهͷͭͷཁૉΛఆٛ͢Δ͜ͱͰίϯςφͷϥΠϑαΠΫϧΛճͤΔ ΫϥελɾɾίϯςφΛཱͯΔϗετΛཧ λεΫఆٛɾɾͲΜͳίϯςφΛཱͯΔ͔ αʔϏεɾɾίϯςφΛ͍ͭ͘උ͢Δ͔&-#ͱͷ࿈ܞ
wಈతϙʔτϚοϐϯά ಉ͡छྨͷίϯςφΛಉҰͷϗετʹෳཱͯΒΕΔ IUUQEPDTBXTBNB[PODPNKB@KQFMBTUJDMPBECBMBODJOHMBUFTUBQQMJDBUJPOUVUPSJBMUBSHFUFDT DPOUBJOFSTIUNM &$4ͷ͍͍ͱ͜Ζ
&$4ޙͷΞʔΩςΫνϟ
&$4ɾɾϋϚͬͨϙΠϯτू
w ԼهͷͭͷίϯϙʔωϯτͰ&$4ߏ͞ΕΔɻ ͜ΕΒͷ૬͕ؔதʑཧղग़དྷͣҰఘΊͨɻɻɻ λεΫ %PDLFSίϯςφ λεΫఆٛ ɹ%PDLFSίϯςφͷىಈύϥϝʔλ EPDLFSDPNQPTFZNM૬
αʔϏε ɹλεΫΛ·ͱΊΔάϧʔϓ λεΫىಈ"-#࿈ܞ"VUPTDBMFͷઃఆ Ϋϥελ ɹλεΫΛಈ͔͢ϗετ &$ ͷू߹ମΛఆٛ "VUP4DBMMJOH(SPVQPSΧελϜ&$ ᶃ&$4ͷ֤ίϯϙʔωϯτͷ૬ؔΛཧղ͢Δͷ͕͍͠
w &$4ΫϥελɺΫϥελ࡞࣌ʹ"VUP4DBMMJOHάϧʔ ϓΛ࡞Δ "VUP4DBMMJOHάϧʔϓ͍Βͳ͍͔ΒɺϢʔβσʔλͰىಈ࣌ʹࣄલॲཧͨ͠&$ ͚ͩͰΫϥελΛߏ͍ͨ͠ ˠۭͷΫϥελΛ࡞ͬͯɺ&$ޙ͔Βඥ͚͍ͨ (6*ͩͱ͜ͷνΣοΫϘοΫεΛ͍ΕΔ͚ͩͳͷʹதʑؾ͚ͮͳ͔ͬͨɻɻɻ
ᶄΧελϚΠζͨ͠Πϯελϯε͚ͩͰΫϥελΛߏ͍ͨ͠
w αʔϏεͷσϓϩΠऴΘ͍ͬͯΔͷʹɺ"-#্Ͱશ ͳτϥϑΟοΫͷΓସΘΓ͕ى͖ͳ͍ αʔϏεΛσϓϩΠ͢Δͱɺ&$4αʔϏε্৽چͭͷσϓϩΠλεΫ͕ڞଘ͢Δ ৽نαʔϏεͷσϓϩΠ13*."3:Ͱཱ͕ͪ͋Δ͕ɺچσϓϩΠͷݩʹ࣮ߦ͞Εͯ ͍ΔλεΫׂ͕ऴΘΔ·Ͱফ͑ͳ͍ "-#ԼʹλεΫ͕͍Δ߹ͷׂ"-#ͷτϥϑΟοΫάϧʔϓʹॴଐ͢Δ͜ͱ "-#ͰɺESBJOJOHঢ়ଶ طଘίωΫγϣϯͷҡ࣋͢Δ
ΛσϑΥϧτͰTҡ࣋ ͢ΔઃఆͩͬͨͷͰɺ࣮࣭σϓϩΠऴྃޙ͔ΒTαʔϏεͷσϓϩΠऴΘΒ ͳ͍ɻɻ ESBJOJOHঢ়ଶɺT͋ΕेͳͷͰ"-#ଆͰઃఆΛม͑Δ͜ͱͰEFQMPZ͕ߴ Խɻɻ ᶅ"-#࿈ܞͷ&$4αʔϏεͰσϓϩΠ͕͍ྃ
w আରͷΫϥελʹɺλεΫ ίϯςφ ͕ಈ͍͍ͯΔ ߹ɺΫϥελআग़དྷͳ͍ɻɻ αʔϏεͰλεΫͷඞཁΛʹ͢ΔˠλεΫফ͑Δ Ϋϥελ্Ͱಈ͍͍ͯΔλεΫ͕ʹͳΔ Ϋϥελͷআ͕ग़དྷΔ ͦΕͧΕͷґଘ͕ؔΘ͔͍ͬͯΕ؆୯͕ͩɺதʑཧ
ղग़དྷͳ͔ͬͨɻɻ ᶆ&$4Ϋϥελͷআํ๏
ֶशίετਖ਼͔͔Δ͕ ઌʑଓ͘ӡ༻Λߟ͑Δͱ&$4Φεεϝ
%PDLFSΛӡ༻ͯ͠ಘͨݟ
w ႈੑΛશ͘ؾʹ͠ͳͯ͘Α͍ͷ͕࠷ߴ DIFG BOTJCMF TIFMMTDSJQUႈੑΛ୲อ͢Δͷ͕ਏ͔ͬͨɻɻ %PDLFSΠϛϡʔλϒϧͳͷͰɺΔ͜ͱΛؾʹ͠ͳ͍͍ͯ͘ w ؆୯ͳهड़ 36/ͰTIFMMίϚϯυΛ௲͍ͬͯ͘ܗࣜͳͷͰ୭ͰಡΊΔ
ᶃ%PDLFSGJMF࠷ߴ
w ։ൃڥͰಈ͍ͨͷΛͦͷ··ผڥʹҠૹग़དྷΔ ࣮ߦڥͱΞϓϦέʔγϣϯίʔυΛύοέʔδԽͯ࣋ͪ͠ӡͿ ྫ &#͏ͱɺFCFYUFOTJPOTͷ༰ΛϩʔΧϧͰ࠶ݱͤ͞Δਏ͋͞Δ ຊ൪͚ͩͰग़ΔΤϥʔ։ൃڥͰಈ͘Έ͍ͨͳਏ͍ӡ༻͔Βͷղ์ ਖ਼֬ʹ͍͏ͱɺΤϥʔͷΓ͚͔ΒίϯςφԽ͍ͯ͠Δ෦ΛΓͯ͠ߟ͑ΒΕ Δɻ
࣮ߦڥҰॹ %PDLFSΠϝʔδ ͔ͩΒɺຊ൪ͱ։ൃڥͷࠩҟͳΜ͚ͩͬͱ͍͏ εςοϓʹ͙͍͚͢Δɻ ᶄϙʔλϏϦςΟ
w %PDLFSGJMFΛಡΊશͯཧղग़དྷΔঢ়ଶΛ࡞Δ ϕʔεΠϝʔδผͰཧ͠ɺͦͷ༰Θ͔Βͳ͍Έ͍ͨͳঢ়ଶ࡞Βͳ͍ɻɻ શͯɺ։ൃڥͰ࠶ݱग़དྷɺ͔ͭΠϝʔδΛͦͷ··͍͚࣋ͬͯΔΑ͏ʹɻ w ίϯςφͷதɺ୭Ͱߋ৽ग़དྷΔମ੍ʹ ͜Ε·Ͱͷ04ϛυϧΣΞͷϨΠϠΠϯϑϥ͕ཧΈ͍ͨͳੈքͱͷܾผ ᶅ%PDLFSΠϝʔδநԽ͠ͳ͍ํ͕Αͦ͞͏
w &$4ڥͰͷ%PDLFSίϯςφσϓϩΠϑϩʔ %PDLFSGJMFͷ࡞ϩʔΧϧͷ։ൃڥͰ݁ σϓϩΠ࣌ʹඞཁͳࣄ ։ൃڥͰ࡞ͬͨ%PDLFSΠϝʔδΛ"84্ʹඋ͢Δ ɹ%PDLFSGJMFϏϧυ&$3ʹQVTIλεΫఆٛͷ৽ϦϏδϣϯ࡞αʔϏεߋ৽ w &$4ͷσϓϩΠ෦ɺFDTEFQMPZ͕ྑͦ͞͏ ৽͍͠ίϯςφͷඋλεΫఆٛͷ৽ϦϏδϣϯ࡞αʔϏεߋ৽͕ඞཁ
͜ͷ෦ΛࣗಈԽͯ͘͠ΕΔπʔϧ FDTEFQMPZɺFDTDMJΛͬͯॻ͔Ε͍ͯΔͷͰɺಡΈ͍͢ ऴྃΛͬͯ͘ΕΔ FDTDMJͷEFTDSJCFTFSWJDFTTFSWJDFTEFQMPZNFOU͕ʹͳΔͷΛࢹ ʲαϯϓϧίϚϯυʳ FDTEFQMPZU λεΫߋ৽ͷλΠϜΞτ DE<Ϋϥελ໊>O<αʔϏε໊>J<%PDLFSϦϙδτϦͷ63-> ˞IUUQTHJUIVCDPNTJMJOUFSOBUJPOBMFDTEFQMPZ ᶆ&$4ڥͰͷσϓϩΠϕετϓϥΫςΟε
%PDLFSΛಋೖͯ͠ɺ ݁ہԿ͕͏Ε͔ͬͨ͠ͷ͔
ґଘؔΛҙࣝͨ͠ਏ͍γεςϜӡ༻ ϩʔΧϧ0,ˠຊ൪ʜ ܦݧଇ͔Βಋ͔ΕΔ͜ͷׂͩͬͨΒ͋ͷαʔόͰ͠ΐ ˣ Ұͭͷίϯϙʔωϯτ͚ͩΛߟ͑Δ ָͳγεςϜӡ༻ʹਐԽ ϩʔΧϧ0,ˠຊ൪0, શʹಉ͡ͷ͕ಈ͘ ίϯςφػೳ
ίϯςφͷඋ&$4ʹ͓ͤͦ͜ʹ಄Θͳ͍
w %PDLFSΛಋೖ͢Δ͜ͱͰɺ͜Ε·Ͱͷਏ͍γεςϜӡ༻ ͔Β٫ग़དྷΔ෦͕͋Δ w %PDLFSGJMFΦʔϓϯʹ୭Ͱ৮ΕΔΑ͏ͳӡ༻Λ͠ͳ ͍ͱࢫຯ͕ݮ͢Δɻ w %PDLFSΦʔέετϨʔγϣϯπʔϧͱͯ͠ɺ"84Λͬ ͍ͯΔͳΒ&$4͕ྑͦ͞͏ ·ͱΊ