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
Haconiwa: プログラムによる組み立て可能性と拡張性を持つLinuxコンテナ
Search
KONDO Uchio
March 13, 2018
Technology
1.4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Haconiwa: プログラムによる組み立て可能性と拡張性を持つLinuxコンテナ
情報処理学会第80回全国大会 発表資料
KONDO Uchio
March 13, 2018
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.6k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
330
Narrative of Ruby & Rust
udzura
0
280
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.9k
Talk of RBS
udzura
0
520
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
870
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
830
Device access filtering in cgroup v2
udzura
1
1.1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
960
Other Decks in Technology
See All in Technology
パッチ更新でterraform initが落ちた日
grimoh
1
120
Deep Data Security 機能解説
oracle4engineer
PRO
2
800
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
130
How to Design Configuration for Rails Applications
willnet
0
130
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
280
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.2k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
880
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
3
810
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
150
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
0
610
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
GitHub's CSS Performance
jonrohan
1033
470k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Balancing Empowerment & Direction
lara
6
1.3k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Transcript
ۙ౻Ӊஐ࿕ / ϖύϘݚڀॴɾGMOϖύϘגࣜձࣾ 2018.03.13 ใॲཧֶձୈ80ճશࠃେձ Haconiwa: ϓϩάϥϜʹΑΔɼΈཱͯՄೳੑͱ ֦ுੑΛ࣋ͭLinuxίϯςφ
γχΞɾϓϦϯγύϧΤϯδχΞ ۙ౻Ӊஐ࿕ / @udzura http://blog.hogehoge.com Uchio Kondo ϖύϘݚڀॴ/ٕज़ج൫νʔϜ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• Πϯλʔωοτ/͜ͱWebͷϢʔβ͕૿͑ͯɼΠϯλʔωοτʹެ։͞Εͨ αʔϏεͷӡ༻ऀͷ՝͕૿͑ͨ • ྫ͑ιʔγϟϧϝσΟΞʹΑΔʮόζʯʮԌ্ʯ • ྫ͑DoS/DDoS߈ܸ • ͜ͷΑ͏ʹɼಥൃతͳΞΫηεͷٸ্ঢ/ٸܹͳෛՙ্ʹ͞Β͞Εͨ߹ͷ ղܾࡦͷҰͭͱͯ͠ɼΦʔτεέʔϧʹ͕ू·͍ͬͯΔ
લఏ: ಥൃΞΫηε૿ͷӡ༻తରॲ
• Φʔτεέʔϧ: ෛՙঢ়گʹԠ͡γεςϜΛߏ͢ΔαʔόΛޮతʹ૿ ݮ͢Δख๏ • Φʔτεέʔϧʹ͓͍ͯɼαʔόϦιʔεΛͳΔ͘ߴʹ૿Ճɾݮগͤ͞ Δඞཁ͕ੜ·ΕΔ • ैདྷͷαʔόϦιʔεͷԾԽٕज़ʢϋΠύʔόΠβܕ/ϗετܕʣͱൺͯ ىಈ͕ߴͰɼϦιʔε੍ޚͷཻ͕ࡉ͔͍ίϯςφܕԾԽ͕ීٴͭͭ͋͠
Δ ͦͷ্Ͱ: ΦʔτεέʔϧˠίϯςφܕԾԽͷ
• ݱঢ়ීٴ͍ͯ͠ΔίϯςφܕԾԽͷख๏ʹ͍͔ͭ͘՝͕͋Δ 1. σϑΥϧτͰෆཁͳػೳؚΊΦʔϧΠϯϫϯͰ༗ޮʹͳΔ 2. ֦ுੑʹ͘͠ɼཁ݅ʹ߹ΘͤΔ͜ͱ͕ࠔͳ • ͜ΕΒಛʹɼߴ͍ूੵੑΛཁٻ͢ΔWebϗεςΟϯάج൫Ͱʹ • ͜ΕΒͷ՝Λղܾ͢Δख๏ͱͯ͠։ൃͨ͠ίϯςφϥϯλΠϜHaconiwa
ʹ͍ͭͯఏҊ͢Δ ίϯςφܕԾԽΛऔΓר͘՝
1. ίϯςφܕԾԽ: ϗετܕͱҧ͍ɼϗετOSͱΧʔωϧΛڞ༗͠σόΠ εͷԾԽΛߦΘͳͣɼϓϩηεϕʔεͷಠཱڥͱͨ͠ԾԽܗࣜ 2. ίϯςφ: ίϯςφܕԾԽܗࣜʹ͓͍ͯɼOSػೳʹΑΓಠཱੑΛ༩͞Ε ͨͦΕͧΕͷϓϩηε·ͨͦͷάϧʔϓɽΠϯελϯεͱݺͿ 3. ίϯςφϥϯλΠϜ:
্ड़ͷίϯςφͷىಈɼఀࢭɼͱ͍ͬͨϥΠϑαΠΫϧ Λཧ͢ΔͨΊͷιϑτΣΞ ༻ޠͷఆٛ ίϯςφ ϥϯλΠϜ ίϯςφ ʢϗετͷ-JOVY04ʣ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
1. ΠϯελϯεͷՃॲཧ͕Ͱ͋Δ 2. ϋʔυΣΞϦιʔεͷར༻ޮ͕͍ 3. ۭ͖Ϧιʔε֬ೝͷͨΊͷεέδϡʔϦϯάͷԆ 4. εέʔϦϯά͖͢ঢ়گݕͷϦΞϧλΠϜੑ͕͍ দຊΒ(*)ʹΑΔΦʔτεέʔϧͷ՝
'BTU$POUBJOFS࣮ߦڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγεςϜΞʔΩςΫνϟʢൃදࢿྉʣ IUUQTTQFBLFSEFDLDPNNBUTVNPUP@SGBTUDPOUBJOFSTIJYJOHIVBOKJOHGBMTFCJBOIVBOJTV[BPLVTIJ ZJOHEFLJSVIFOHDIBOHYJOHXPDIJUVTJTVUFNVBLJUFLVUJZB
• ϗετܕϋΠύʔόΠβܕͱൺֱͨ͠߹ • 1, 3. ʹ͍ͭͯ: ίϯςφىಈఀࢭ͕ߴͰ͋Γɼ͍͍ͯΔ • 2. ʹ͍ͭͯ:
ίϯςφʹϓϩηε๛ͳAPIʹΞΫηεͰ͖ɼϦιʔε੍ޚ Λࡉ͘Ͱ͖Δɽ͍͍ͯΔ • 4. ʹ͍ͭͯϓϩηεͱ͍͏ಛੑ্ࢹΛৄࡉ͔ͭܰྔʹͰ͖Δͱߟ͑ΒΕ Δ͕ɼຊจͰߟ͍ͯ͠ͳ͍ ՝ʹରͯ͠ίϯςφΛར༻ͨ͠߹
• Docker: https://www.docker.com/ • LXC: https://linuxcontainers.org/lxc/introduction/ • ͜ΕΒͷίϯςφϥϯλΠϜʹؔͯ͠ɼIEEE Cloud Computingࢽͷ
“Containers and Cloud: From LXC to Docker to Kubernetes” ίϥϜΛ͡ Ίɼհهࣄʹ͍ͱ·͕ͳ͍ Ұ୴ͷ݁: ίϯςφܕԾԽͷ࠾༻
1. ෆཁͳػೳΛ؆୯ʹআ֎Ͱ͖ͳ͍ 2. γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖ͳ͍ ͞ΒͳΔ՝: طଘͷίϯςφϥϯλΠϜͷ
• ͜͜·Ͱʹ͋͛ͨΑ͏ͳίϯςφϥϯλΠϜɼσϑΥϧτͰଟ͘ͷίϯς φΛ࣮ݱ͢Δػೳ͕ηοτͰ༗ޮʹͳΔ • ར༻ऀͱͯ͠ৄࡉΛؾʹͤͣԾڥΛར༻Ͱ͖ΔϝϦοτͰ͋Δ • ҰํͰɼಛʹϦιʔεޮूੵੑͱ͍͏؍͔ΒɼಛఆͷػೳΛແޮԽͨ͠ ͍ͱ͍͏धཁ͕ଘࡏ͢Δ • ྫ͑ɼOSͷrootfsΛ࠶ར༻͍ͨ͠ɼωοτϫʔΫΛࣗͰ੍ޚ͍ͨ͠ଞ
• ཧ্ͲͷΑ͏ͳίϯςφϥϯλΠϜͰՄೳͰ͋Δ͕ɼDockerͳͲͷ ߹໌֬ʹυΩϡϝϯτ͕ଘࡏ͠ͳ͍ͳͲɼར༻͕͍͠ ෆཁͳػೳΛ؆୯ʹআ֎Ͱ͖ͳ͍
• ઌड़ͷIEEEͷίϥϜͰίϯςφͷΫϥελϦϯάʹKubernetes͕ར༻Ͱ ͖Δͱड़͍ͯΔ • Kubernetes: https://kubernetes.io/ • Ұํɼݱࡏͷঢ়گͰɼKubernetesͱDockerͷΈ߹ΘͤͳͲطଘͷΫϥε λϦϯάελοΫͰ࣮ݱ͕͍͠ཁ݅͋Δ •
ϗεςΟϯά༻్ͷ߹ɼߴूੵੑ͕ٻΊΒΕΔͷͰɼίϯςφࣗͷঢ়ଶ ʹΑΓϦιʔεׂΓͯΛมߋ͢ΔͳͲɼࡉ͔͍ࣗݾ੍ޚ͕ٻΊΒΕΔ γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖ͳ͍
1. ඞཁɾෆཁͳػೳͷΈ߹ΘͤΛར༻ऀ͕؆ܿʹهड़Ͱ͖Δ͜ͱ 2. γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖Δ͜ͱ ϗεςΟϯά༻్Λఆ͢Δͱɼྫ͑: ᶃ ίϯςφͷىಈɾఀࢭͳͲͷϥΠϑαΠΫϧΠϕϯτɼίϯςφىಈޙҰ ఆظؒޙΛܖػͱ࣮ͯ͠ߦ͞ΕΔॲཧ͕هड़ՄೳͰ͋Δ͜ͱ ᶄ ֎෦ͷ
HTTP API ͱͷ࿈ܞɼίϯςφػೳҎ֎ͷOSػೳͷ׆༻ͳͲ͕Մ ೳʹͳΔߴ͍֦ுੑ͕͋Δ͜ͱ ίϯςφʹ͓͚Δ՝Λղܾ͢Δʹ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
Haconiwa • චऀΒʹΑΔίϯςφϥϯλΠϜͷ ͍࣮ͪɼ2016ʹެ։ • ΦʔϓϯιʔειϑτΣΞͰ͋Δ
• ඞཁɾෆཁͳػೳͷΈ߹ΘͤΛར༻ऀ͕؆ܿʹهड़Ͱ͖Δ͔: • Έ߹ΘͤΛϥϯλΠϜͷػೳͱͯ͠αϙʔτ͠ɼޙड़͢Δmrubyͱ͍͏ ΈࠐΈ෦ݴޠ(DSL)Λར༻͠هड़ੑߴ͘ॻ͚Δ • ϥΠϑαΠΫϧΠϕϯτɼίϯςφىಈޙҰఆظؒޙΛܖػͱͨ͠ॲཧ: • DSLͰ༷ʑͳछྨͷϑοΫॲཧΛαϙʔτ͍ͯ͠Δ •
֎෦ͷ HTTP API ͱͷ࿈ܞ࣮ͳͲߴ͍֦ுੑ: • DSLͰͷϓϩάϥϛϯάɼ֎෦ϥΠϒϥϦͷຒΊࠐΈ͕Մೳ ՝ʹରͯ͠ͷHaconiwa
Haconiwaͷ ৄࡉͳػೳ
• Linuxίϯςφͷ࡞ʢචऀϓϩηεΛίϯςφԽ͢Δͱදݱ͢ΔʣΛෳ ͷػೳɾγεςϜίʔϧͷΈ߹ΘͤͰ࣮ݱ͢ΔɽͦΕΒͷػೳྨͰ͖ɼ ·ͨHaconiwaʹ͓͍ͯࣗ༝ʹΈ߹Θ͕ͤՄೳͰ͋Δ 1. OSϦιʔεͷػೳ: chrootγεςϜίʔϧɼLinux Namespace 2. OSϦιʔεͷ੍ݶػೳ:
cgroupsɼrlimitγεςϜίʔϧ 3. εʔύϢʔβݖݶͷׂ: Linux Capability 4. γεςϜίʔϧͷϑΟϧλػߏ: seccomp 3.1. ίϯςφԾԽػೳͷରԠ
ରԠػೳͷਤදʢ࣮ݱ͢ΔγεςϜίʔϧܝࣔʣ ྨ ໊শ ৄࡉ 04Ϧιʔεͷִ DISPPU ͋ΔαϒσΟϨΫτϦʹల։ͨ͠04ͷϑΝΠϧγε ςϜʹೖΓɼผͷ04ͷΑ͏ʹݟͤΔ
04Ϧιʔεͷִ -JOVY/BNFTQBDF TFUOT VOTIBSF ຊདྷ04ͰάϩʔόϧͳϦιʔεʢϗετ໊ɼ/*$ͳ Ͳʣʹ໊લۭؒΛ࡞ΓɺผͷϦιʔεΛ࣋ͨͤΔ 04Ϧιʔεͷ੍ݶ DHSPVQT DHSPVQGTΛར༻ ҙͷϓϩηεΛάϧʔϐϯά͠$16ɼϝϞϦɼॴ ଐϓϩηεͳͲΛ੍ݶ͋Δ͍ܭଌ͢Δ 04Ϧιʔεͷ੍ݶ SMJNJU QSMJNJU جຊతʹϓϩηεπϦʔ୯ҐͰ$16ɼϝϞϦɼϑΝ Πϧهड़ࢠͳͲΛ੍ݶ͢Δ ݖݶׂ -JOVY$BQBCJMJUZ QSDUM MJCDBQ εʔύϢʔβͷ࣋ͭಛݖΛز͔ͭʹׂ͠ɼҰ෦Λ ༩͋Δ͍ണୣ͢Δ γεςϜίʔϧ ϑΟϧλ TFDDPNQ TFDDPNQ MJCTFDDPNQ γεςϜίʔϧͱͦͷҾͷ݅͝ͱʹɼͦͷݺͼग़ ͠Λ੍ݶɾڐՄ͢Δ
• ͪ͜ΒදʹҰཡ͢Δ 3.2. ϑοΫػߏͷରԠ ໊শ ৄࡉ ϥΠϑαΠΫϧϑοΫ ىಈɼGPSLޭɼఀࢭɼࣦഊͱ͍ͬͨίϯςφͷϥΠϑαΠΫϧʹ ؔΘΔΠϕϯτ͝ͱʹҙͷॲཧΛ࣮ߦͰ͖Δ
λΠϜΞτϑοΫ ىಈޭޙɺίϯςφຊମͷॲཧͱඇಉظͷܗͰɼҰఆ࣌ؒܦա ޙʹҙͷॲཧΛ࣮ߦͰ͖ΔɽΠϯλʔόϧͷҰճ͚ͩͷܗ ΠϯλʔόϧϑοΫ ىಈޭޙɺίϯςφຊମͷॲཧͱඇಉظͷܗͰɼҰఆ࣌ؒͷΠ ϯλʔόϧΛऔͬͯҙͷॲཧΛఆظ࣮ߦͰ͖Δ γάφϧϋϯυϥ ίϯςφΛཧ͢ΔϓϩηεʢεʔύʔόΠβʣʹҙͷλΠϛϯ άͰಛఆͷγάφϧΛૹ͢ΔͱɺҙͷॲཧΛ࣮ߦͰ͖Δ
• ଞͷίϯςφϥϯλΠϜͰϥΠϑαΠΫϧΠϕϯτΛϕʔεͱͨ͠ϑοΫػ ߏΛαϙʔτ͍ͯ͠Δ • ྫ: Docker(ϥΠϑαΠΫϧΠϕϯτΛࢹ͢ΔHTTP APIΛ༻ҙ)ɼLXC(ઃఆ ϑΝΠϧͰҙͷίϚϯυΛ࣮ߦࢦఆՄೳ) • ҰํͰɼλΠϜΞτΠϯλʔόϧϑοΫʹؔͯ͠ݱࡏHaconiwaͷΈ͕
ίϯςφϥϯλΠϜΈࠐΈͰαϙʔτ͢Δ • ͜ͷϑοΫɼޙड़ͷFastContainerͷΑ͏ͳίϯςφͷੜଘظؒΛࢦఆ͢ Δػೳͷ࣮ݱͱ૬ੑ͕ྑ͍ ิ: ϑοΫػߏʹ͍ͭͯͷଞ࣮ͱͷൺֱ
• HaconiwamrubyͱݺΕΔܰྔͳRubyͷ ࣮ΛΈࠐΜͰ͍Δ • ίϯςφͷઃఆϑοΫॲཧΛ DSL(Domain Specific Language)Ͱهड़͠ɼ HaconiwaʹΈࠐΜͩmrubyͰධՁ͠ɼөɾ࣮ߦՄೳͰ͋Δ 3.3.
εΫϦϓτݴޠmrubyͷΈࠐΈ
• ͍ΘΏΔCRubyͱޓੑ͕͋Δจ๏ • εΫϦϓτݴޠʹ׳Εͨ ར༻ऀͰ͋ΕಡΈ͘͢ ೃછΈ͍͢Ͱ͋Ζ͏ͱ ߟ͑ΒΕΔ DSL ͷྫ
• mrubyʹmrbgemsͱݺΕΔ֎෦ϥΠϒϥϦͷΈ͕͋Δ • HaconiwaʹΈࠐ·ΕΔmrubyΛϏϧυ͢ΔࡍʹɼΠϯλʔωοτͳͲΛܦ ༝ͯ͠ಛఆͷػೳΛ࣮ݱͨ͠mrbgemsΛμϯϩʔυ͠ɼػೳίʔυΛ mrubyͦͷͷͱಉࠝ͢Δ͜ͱ͕Մೳͱͳ͍ͬͯΔ • ୯ମͷmrbgemͷ։ൃRubyݴޠ͋Δ͍CݴޠΛར༻͠൚༻తʹՄೳ • ࣮ࡍචऀΒɼઌड़ͨ͠ίϯςφؔ࿈ػೳͷར༻Λ୯ମͷgemʹ͍ͯ͠Δ
ิ: mrubyͷΤίγεςϜΛར༻֦ͨ͠ுੑ
• චऀΒʹΑΔʮmrubyΛར༻ͨܰ͠ྔίϯςφΫϥυج൫ͷݚڀ։ൃΛհ͠ ͨmrubyͷେنɾߴෛՙςετʯ͕2017Ruby Association։ൃॿ(*) ʹ࠾͞Ε͍ͯΔ • Haconiwaͷ։ൃʹ͓͍ͯɼຊॿʹΑΔRubyΞιγΤʔγϣϯ͔Βͷϝϯ λʔʢ·ͭͱΏ͖ͻΖࢯʣͷΞυόΠε͕Ұॿʹͳͬͨ͜ͱΛه͢Δ ิ: RubyΞιγΤʔγϣϯΑΓͷॿ
IUUQXXXSVCZPSKQKBOFXT
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• චऀΒ৽نʹίϯςφΛཧ͠ɺΫϥελϦϯάΦʔέετϨʔγϣϯʹ ར༻͢ΔΞʔΩςΫνϟΛߟҊͨ͠ɽͦΕΛFastContainerͱݺͿ • FastContainerͷಛ: • ίϯςφΛɺඞཁʹͳΔ·Ͱىಈͤͣɼ·ͨෆཁʹͳͬͨΒഁغ͢Δ • ίϯςφͷىಈͷཻϦΫΤετ୯Ґ͝ͱͳͲॆʹਫ਼៛ʹ͢Δ •
ίϯςφΛ॥ͤ͞Δ͜ͱͰɼγεςϜશମͷ߃ৗੑΛ࣮ݱ͢Δ • ϥΠϒϥϦΞϓϦέʔγϣϯͷࣗಈަɼϚΠάϨʔγϣϯͷ࣮ݱͳͲ FastContainer: ίϯςφཧΞʔΩςΫνϟ
• FastContainerΛ࣮ݱ͢Δݱࡏͷ࣮(*)ʹɼHaconiwa͕࠾༻͞Ε͍ͯΔ • ࣮֘ͷ࠾ͷཧ༝: • ઃఆΈ߹ΘͤՄೳੑʹΑΓɼػೳΛௐ͠ىಈΛܰྔʹͰ͖ͨ ʢαʔϏεͱߟ͑Δͱࡉ͔͘ूੵੑ੍͕ޚͰ͖ͨϝϦοτͰ͋ͬͨʣ • ֦ுੑɼ͜ͱλΠϜΞτϑοΫػೳʹΑΓɼҰఆظؒͷఀࢭͱ͍͏ FastContainerͷཁ݅Λ༰қʹ࣮ݱͰ͖ͨ
FastContainerͱHaconiwa ϩϦϙοϓʂϚωʔδυΫϥυ (.0ϖύϘ IUUQTNDMPMJQPQKQ
• ϖύϘݚڀॴΑΓจ(*)ɾൃදࢿྉ(**)͕ग़͍ͯΔͨΊɼࢀরͯ͠΄͍͠ FastContainer ʹؔ͢Δؔ࿈ใ IUUQTTQFBLFSEFDLDPNNBUTVNPUP@S GBTUDPOUBJOFSTIJYJOHIVBOKJOHGBMTFCJBO IVBOJTV[BPLVTIJZJOHEFLJSVIFOHDIBOH YJOHXPDIJUVTJTVUFNVBLJUFLVUJZB IUUQTSBOEQFQBCPDPNBSUJDMF
JPUNBUTVNPUPSZ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• ΠϯλʔωοτɾWebϢʔβͷ֦େʹΑΓɺαʔϏεӡ༻ऀ༧ଌͰ͖ͳ͍ ෛՙ্ͳͲʹରԠ͠ͳ͚ΕͳΒͣɼΦʔτεέʔϧʹ͕ू·Δ • ͦͷج൫Ͱίϯςφ͕ීٴ͢Δ͕ɼϗεςΟϯάͰͷར༻ʹ՝ • ՝Λड͚Haconiwa͕࣮ݱͨ͠ಛ: • Έ߹ΘͤՄೳੑ: ίϯςφΛ࣮ݱ͢ΔػೳΛࣗ༝ʹΈ߹ΘͤՄೳ
• ֦ுੑ: ϑοΫͷ࣮ߦಛԽͨ͠ػೳͷ࣮͕༰қ • FastContainerͱ͍͏ΞʔΩςΫνϟͰར༻͠αʔϏεΠϯ͍ͯ͠Δ ·ͱΊ
• ଞͷίϯςφϥϯλΠϜ͕αϙʔτ͢ΔҰ෦ػೳ͕ະ࣮ • ۩ମతʹMandatory Access Control(SELinux/AppArmorଞ)ͱͷ࿈ܞͳͲ • ϑοΫػߏɼྫ֎ػߏͳͲΛΑΓ҆ఆ͍ͤ͘͢͢͞Δ • ར༻ऀ͕·ͩগͳ͘ɼใগͳ͍
• ΤίγεςϜΛॆ࣮ͤ͞ΔɽυΩϡϝϯτͪΖΜͰ͋Δ͕ɼHaconiwa Λར༻ͨ͠ίϯςφཧΛ؆୯ʹମݧͰ͖ΔΑ͏ͳOSSݕ౼͢Δ ՝ͱࠓޙͷHaconiwa
• HaconiwaݱࡏɼFastContainerΞʔΩςΫνϟͱͷซ༻ͷΈ͕ࣄྫͱͳͬͯ ͍Δɽ·ͨɼFastContainerͱΈ߹ΘͤͰॳͷ՝ͷղܾΛࢼΈ͍ͯΔ • FastContainerͷ࣮ݱʹ࠷ద͍ͯ͠Δ͜ͱݴ͑ΔͩΖ͏ • ࠓޙɼHaconiwa͕͍ࣗ࣋ͬͯΔ 1)Έ߹ΘͤՄೳੑ 2)֦ுੑ ͦΕͧΕ͕
ଞͷΞʔΩςΫνϟɼOSSͷॾπʔϧͱͷ࿈ܞͷ্Ͱ༗ޮͰ͋Δ͜ͱΛ࣮ ূ͍͖͍ͯͨ͠ • ͦͷͨΊʹଞͷπʔϧͱͷ࿈ܞੑΛߴΊΔ͜ͱΛߟ͍͑ͯΔ ΤίγεςϜʹؔ͢Δ՝ͷิ
• ຊจɼڞஶऀͷ΄͔ҎԼͷํʑΑΓॿݴɾఏҊΛ͍͍͍ͨͩͯΔɽ • भେֶ Ԭଜߞೋઌੜɼౢ٢ོઌੜɼּݪٛߊઌੜ • GMOϖύϘݚڀॴސ ྗ݈ٕ࣍ज़࢜ • ΫοΫύου
ాߞҰ͞Μ • ຊจͷ༰ɼฏ29 ࠃཱใֶݚڀॴΫϥυར׆༻࣮ূ࣮ݧʹ͓ ͚ΔՌͷҰ෦Λར༻͍ͯ͠Δ ँࣙ