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.5k
システムを構築するときに 気をつける10のこと
主体性のない文章で突っ込みどころ満載ですが、
雰囲気だけ感じてもらえればと思って作っています。
Show Murai
December 07, 2017
Tweet
Share
More Decks by Show Murai
See All by Show Murai
システムを構築するときに 気をつける10のこと
showmurai
4
140
監視入門!監視で困ってませんか?
showmurai
0
300
AWS vs GCP 今から作るならどちらがいいの 20180330
showmurai
1
1.3k
KubernetesでCLIを快適を使いたい
showmurai
0
2k
AWS vs GCP 今から作る ならどっちがいいの!?
showmurai
52
83k
データサイエンスのためのAWSの使い方入門
showmurai
1
930
Other Decks in Technology
See All in Technology
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
290
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
620
Platform Engineering for Software Developers and Architects
syntasso
1
520
複雑なState管理からの脱却
sansantech
PRO
1
150
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
Lexical Analysis
shigashiyama
1
150
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
43
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
RailsConf 2023
tenderlove
29
900
The World Runs on Bad Software
bkeepers
PRO
65
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
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/