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
システムを構築するときに 気をつける10のこと
Search
Show Murai
December 07, 2017
Technology
0
1.6k
システムを構築するときに 気をつける10のこと
主体性のない文章で突っ込みどころ満載ですが、
雰囲気だけ感じてもらえればと思って作っています。
Show Murai
December 07, 2017
Tweet
Share
More Decks by Show Murai
See All by Show Murai
システムを構築するときに 気をつける10のこと
showmurai
4
140
監視入門!監視で困ってませんか?
showmurai
0
320
AWS vs GCP 今から作るならどちらがいいの 20180330
showmurai
1
1.3k
KubernetesでCLIを快適を使いたい
showmurai
0
2.1k
AWS vs GCP 今から作る ならどっちがいいの!?
showmurai
52
83k
データサイエンスのためのAWSの使い方入門
showmurai
1
980
Other Decks in Technology
See All in Technology
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
ohbarye
9
4.1k
SOC2取得の全体像
shonansurvivors
1
350
Goのビルドシステムの変遷 / The history of Go's build system
ymotongpoo
12
3.6k
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
890
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
180
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
170
What is BigQuery?
aizack_harks
0
120
タスクって今どうなってるの?3.14の新機能 asyncio ps と pstree でasyncioのデバッグを (PyCon JP 2025)
jrfk
1
190
履歴 on Rails: Bitemporal Data Modelで実現する履歴管理/history-on-rails-with-bitemporal-data-model
hypermkt
0
1.9k
実装で解き明かす並行処理の歴史
zozotech
PRO
1
180
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
130
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
250
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Statistics for Hackers
jakevdp
799
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
BBQ
matthewcrist
89
9.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing for humans not robots
tammielis
254
25k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Transcript
γεςϜΛߏங͢Δͱ͖ʹ ؾΛ͚ͭΔ10ͷ͜ͱ - ڧݻͰύϑΥʔϚϯε͕ྑ͍γεςϜ࡞ΓͷϙΠϯτ - αϙʔλʔζCoLabษڧձ Dec 6 2017 αΠόʔΤʔδΣϯτ
ΞυςΫελδΦ ଜҪ ᠳଠ࿕ https://supporterzcolab.com/event/233/
ࣗݾհ • ଜҪ ᠳଠ࿕ • @Show_murai • גࣜձࣾαΠόʔΤʔδΣϯτ ΞυςΫελδΦ ΠϯϑϥνʔϜ
Πϯϑϥ ϦʔυΤϯδχΞ ※ຊͷൃදݸਓͷݟղͰ͋Γɺॴଐ͢Δ৫ͷެࣜݟղͰ͋Γ·ͤΜ
ࣗݾհ • ژग़ • ࣾձਓ 6 • ઐ߈ਓೳɾը૾ॲཧ • αΠόʔΤʔδΣϯτ
த్ೖࣾ • ϓϩμΫτ(ϓϩδΣΫτ)͖ͷΠϯϑϥ • झຯཱྀߦɺϑοταϧ
͖ΐ͏ͳ͢͜ͱ 1. ࣗݾհ 2. ຊͷରऀ 3. ·͓͖͑ 4. γεςϜߏஙͰؾΛ͚ͭΔ10ͷ͜ͱ 5.
Q & A
ຊͷରऀ • αʔόʔαΠυΤϯδχΞ • γεςϜͷӡ༻Λ͍ͯ͠Δํ • ͜Ε͔ΒγεςϜߏங͢Δํ
·͓͖͑
લఏͱͯ͠ • Webۀքʹ͓͍ͯεϐʔυॏࢹͰαʔϏεϦϦʔεΛ͢ΔΑ͏ͳ ։ൃΛલఏͱ͍ͯ͠·͢ • ΤϯλʔϓϥΠζ/ΈࠐΈ͚γεςϜͷ։ൃͳͲͰɺ ҧͬͨ؍ϙΠϯτ͕͋Δͱࢥ͏ͷͰ༏͘͠ฉ͍ͯԼ͍͞ • ΞδϟΠϧ։ൃͷΑ͏ͳظؒͰಈ͘ιϑτΣΞΛϦϦʔε͍ͯ͘͠ ։ൃελΠϧΛఆ͍ͯ͠·͢
ͳͥ͜ͷ͢͠Δͷ͔ • αʔόʔαΠυΤϯδχΞ͔ΒΑ͘ฉ͔ΕΔ • ʮ͜ͷػೳ࡞Γ͍ͨΜͰ͚͢ͲɺؾΛ͚ͭΔͱ͜Ζ͋Γ·͢ʁʯ Έ͍ͨͳ࣭Λྑ͘ड͚Δ • ॻ੶ͳͲͷใͰݟ͚ͭʹ͍͘
ͦΕͰຊ
γεςϜΛߏங͢Δͱ͖ʹ ؾΛ͚ͭΔ10ͷ͜ͱ
γεςϜΛߏங͢Δͱ͖ʹ ؾΛ͚ͭΔ10ͷ͜ͱ 1. ҆ఆՔಇʹίετͱϦιʔε͕͔͔Δ 2. σΟβελϦΧόϦΛߟ͑ࠒ͔Β܇࿅͢Δ 3. ϞχλϦϯάͷϝτϦΫεࡉ͔͘औΔ 4. γεςϜશମ͕εέʔϧͰ͖Δ
5. ઃܭ/બఆٕͨ͠ज़ʹΛͭ 6. ༷σʔλߏͷมߋඞͣൃੜ͢Δ 7. σʔλͷอॴख़ߟ͢Δ 8. σʔλఆΑΓଟ͘ͳΔ 9. ηΩϡϦςΟରࡦඞཁ͕ͩίετͱ͕͔͔࣌ؒΔ 10.ΫϥυΛ৴པ͗͢͠ͳ͍
҆ఆՔಇʹ ίετͱϦιʔε͕͔͔Δ
҆ఆͷཁૉͱ • Մ༻ੑߴ͍ • γϯάϧϙΠϯτ͕ͳ͍ • ΤϥʔϋϯυϦϯά͕γεςϜϨϕϧͰग़དྷ͍ͯΔ • োੑ͕ߴ͍ •
ΞϓϦέʔγϣϯͷႈੑ͕୲อ͞Ε͍ͯΔ • γεςϜͷҰ؏ੑ͕͋Δ • ॊೈੑ͕ߴ͍ • ີ݁߹͕ແ͍ • ػೳ֦ு͍͢͠ઃܭ
҆ఆԽͷͨΊͷίετ • ΞϓϦ/Πϯϑϥͷઃܭ/ݕূίετ • ઃܭஈ֊Ͱ৭ʑͳέʔεΛௐ࣮ࡍಈ͔ͯ͠ΈΔ࣌ؒ • ԽͷͨΊͷίετ • 1ͰՔಇՄೳͰ͋Δ͕ɺ2ཱͯΔ •
ԽΛ࣮ݱ͢ΔͨΊͷΈΛ࡞Δ • ӡ༻ମ੍Λ͑Δίετ • ӡ༻͢Δਓͷίετ-> ΞϥʔτΛड͚औΔͻͱͷ࠾༻ • ӡ༻ମ੍Λ࡞Δίετ -> ӡ༻ઃܭʹ͕࣌ؒඞཁ
σΟβελϦΧόϦΛߟ͑ ࠒ͔Β܇࿅͢Δ
σΟβελϦΧόϦͱ • Disaster recovery = ࡂ͔ΒͷϦΧόϦ • ࡂͳͲͷඃ͔Βճ෮ાஔΛߟ͑Δ • ωοτϫʔΫো͕ൃੜͨ͠߹Կ͢Δඞཁ͕͋Δ͔
• ΫϥυαʔϏεʹো͕ൃੜͨ͠߹ͷରࡦ • σʔλফࣦͨ͠߹ͷόοΫΞοϓ/ϦετΞରࡦ
ࠒ͔ΒFire drillΛߦ͏ • Fire drillͱ • ԾσΟβελϦΧόϦͷঢ়گΛ࡞ͯ͠ ઃఆύϑΥʔϚϯεΛධՁ͢Δ͜ͱʹΑΔɺ ϦιʔεͷϑΣʔϧΦʔόʔͷ৴པੑΛςετ͢Δํ๏ https://www.symantec.com/ja/jp/security_response/glossary/define.jsp?letter=f&word=fire-drill
• ࣮ࡍʹٖࣅোΛൃੜͤͯ͞܇࿅͢Δ • खॱϦΧόϦํ๏Λ໌֬ʹ͓ͯ͘͠ • ୭͕ରԠ͢Δɺ୭ʹ࿈བྷ/ใࠂ͢Δ͔ΛܾΊ͓ͯ͘
ϞχλϦϯάͷϝτϦΫε ࡉ͔͘औΔ
ϝτϦΫεࡉ͔͘ͱ͓ͬͯ͘ • ϦιʔεϞχλϦϯάͪΖΜ • CPU • Memory usage • Disk
usage • Inode usage • Network throughput • ύϑΥʔϚϯεϞχλϦϯάऔಘ͢Δ • query per second • request/response time
ҙ͖͢ • ϝτϦΫεऔಘෛՙʹͳΔ߹͋Δ • ϞχλϦϯάπʔϧ͕ෛՙʹͳΓαʔϏεӨڹ͕ൃੜ͢Δ • ϝτϦΫεΛऔΓ͗ͯ͢༗ࣄͷ࣌ʹ ԿΛݟͨΒྑ͍ͷ͔Θ͔Βͳ͍ • දతͳϝτϦΫεμογϡϘʔυʹ͓ͯ͘͠
• ϝτϦΫεͷҙຯΛཧղ͓ͯ͘͠ (ԿΛද͚ͬͨ͢?ͱͳΒͳ͍ͨΊʹ)
γεςϜશମ͕εέʔϧͰ͖Δ
γεςϜංେԽͯ͘͠ • ʹͭ͘Ҏ֎ͷͱ͜Ζεέʔϧඞཁ • DBϢʔβ/ίωΫγϣϯ • ωοτϫʔΫεϧʔϓοτ • ֎෦࿈ܞ͢ΔγεςϜ •
ॲཧ͢Δσʔλཷ·͍ͬͯ͘ • σʔλϕʔεͷංେԽ • όοΫΞοϓσʔλͷංେԽ • ੳରͷ֦େ
ઃܭ/બఆٕͨ͠ज़ʹΛͭ
ಋೖٕͨ͠ज़Ұ൪ৄ͘͠ͳΔ • ಋೖ͚ͨ͠ͲࣗࣾγεςϜʹ͍ͯͳ͔ͬͨ • αʔόʔϨε • ϚΠΫϩαʔϏε • ࣗͰରԠɺෛ࠴ճऩΛ͢Δ •
ϛεಈ͔ͯ͠Έͳ͍͜ͱଟʑ͋ΔͷͰɺ Λ࣋ͬͯ໘Λݟ͍ͯ͘৺ߏ͕͑ॏཁ
༷σʔλߏͷมߋ ඞͣൃੜ͢Δ
ੈͷதมΘΔ ࣌มΘΔ • ීวతͳٕज़ͰมΘΔՄೳੑ͕͋Δ • ҉߸ԽํࣜɿSHA1->SHA2ɺ • ωοτϫʔΫͷϓϩτίϧɿhttp → websocket
• ΫϥΠΞϯτɿΨϥέʔ → εϚʔτϑΥϯ • σʔλϕʔεɿϦϨʔγϣφϧDB → KVSɺNewSQL • ϑΥʔϚοτɿJSON → Protocol Buffers
σʔλͷอॴख़ߟ͢Δ
σʔλͷอॏཁ • σʔλ͕ංେԽ͢Δ͜ͱͰసૹྔɺసૹ࣌ؒ ͕૿͑ͯίετ্͕͕Δ • σʔλ͍͍ͨ࣌ʹ͑ΔΑ͏ʹ͢Δ • σʔλϨΠΫΛ࡞Δͷ͕ཧ • Amazon
S3 • Google Cloud StrageͳͲ ࢀߟɿCloud connect the world as a Glue - AWS Dev Day 2017 by kazeburo https://speakerdeck.com/kazeburo/cloud-connect-the-world-as-a-glue-aws-dev-day-2017
σʔλఆΑΓଟ͘ͳΔ
σʔλංେԽ͢Δ • ੈͷத͕ѻ͏σʔλ͕૿͑Δ • σόΠεͷ૿ՃɿΨϥέʔ → iPhoneɺFitbitɺ • ߴ࣭ͷϝσΟΞɿVGA →
4KɺCD → ϋΠϨκ • σδλϧԽ͕ਐΉɿۜߦৼΓࠐΈ → Χʔυܾࡁ • γεςϜ/ػೳ͕Ճ͞Εͯσʔλ͕૿͑Δ • ϒϥβ͔ΒͷΞΫηεɿ → ΞϓϦɺ༷ʑͳσόΠε(Amazon echo)͔ΒͷΞΫηε
ηΩϡϦςΟରࡦඞཁ͕ͩ ίετͱ͕͔͔࣌ؒΔ
ηΩϡϦςΟෳࡶͰ๛ • ωοτϫʔΫηΩϡϦςΟ • σʔλϕʔεͷΞΫηεݖ • ίϯϐϡʔτͷݖݶ • ΞϓϦέʔγϣϯͷݖݶ •
ϩάͳͲγεςϜσʔλͷΞΫηεݖݶ • ΫϥυαʔϏεͷݖݶ • ֤छπʔϧͷΞΫηεݖݶ
ݖݶཧͱӡ༻Λߟ͑Δ • ݖݶͷछྨͷઃܭ͕ඞཁ • ཧऀɺ։ൃऀɺӾཡऀɺҰ࣌Ϣʔβɺࣾ֎ͷϢʔβ • ωοτϫʔΫɿΞΫηεݩɺϓϩτίϧɺIPϨϯδ • ΫϥυݖݶɿIAM ϢʔβɺIAM
ϩʔϧɺACL… • ݖݶͷӡ༻ͱࠪʹίετ͕͔͔Δ • Ϣʔβ͕૿͑Δ/ݮΔ • ΞΫηεݩ͕૿͑ΔɿBIπʔϧ͔ΒΞΫηε͍ͨ͠ • ʮ୭͕ཧͯͯ͠ɺݖݶ༩୭͕ͯ͠ɺ ӡ༻ϧʔϧ୭͕ܾΊͯΔΜͰ͚ͨͬ͠ʁʯ
ΫϥυΛ৴པ͗͢͠ͳ͍
Ϋϥυߴ৴པͰ͋Δ͕ 100%མͪͳ͍Θ͚Ͱͳ͍ • ఆظϝϯςφϯεͷ᠘ • ϝϯςͰαʔϏεఀࢭ͢Δ • AWS RedshiftɺGoogle CloudSQLͳͲ
• Ϋϥυ߹ͷγϟοτμϯ • AWS EC2ɿشൃϝϞϦʹσʔλ͋ΔΜͰ͚͢Ͳ… • ṖͷαʔϏεϨϕϧͷԼ • ੈքதͷΈΜͳͰͬͯΔͷͰ ଞͷϢʔβ/ςφϯτʹҾͬுΒΕΔ͜ͱ͕͋Δ
݁ہɺݴ͍͔ͨͬͨ͜ͱ
తͱ༏ઌॱҐΛ໌֬ʹ͠ γεςϜߏங͢Δ
Sense of purpose ʮతʯͱ͍͏ͷɺΒҰਓͻͱΓ͕ɺ খ͞ͳࣗҎ্ͷԿ͔ͷҰ෦ͩͱײ͡ΒΕΔײ֮ͷ͜ͱͰ͢ɻ ͕ࣗඞཁͱ͞Εɺͦͯ͠ΑΓྑ͍ະདྷͷͨΊʹ ʑؤு͍ͬͯΔͱײ͡ΒΕΔײ֮ͷ͜ͱͳͷͰ͢ɻ https://youtu.be/4VwElW7SbLA
Q & A
͋Γ͕ͱ͏͍͟͝·ͨ͠
ΞυςΫελδΦͰ ΤϯδχΞΛืूதͰ͢ ※ΦϑΟεݟֶ͚ͩͰେৎͰ͢ αΠόʔΤʔδΣϯτ ΞυςΫελδΦ https://adtech.cyberagent.io/