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
地方のPHPerもクラウドを使う理由 ~コストの最適化とチームに向き合う~ / Why eve...
Search
shiro seike
PRO
May 31, 2025
Programming
0
62
地方のPHPerもクラウドを使う理由 ~コストの最適化とチームに向き合う~ / Why even local PHPers use the cloud ~optimize costs and face the team
PHPカンファレンス新潟2025
https://phpcon.niigata.jp/
shiro seike
PRO
May 31, 2025
Tweet
Share
More Decks by shiro seike
See All by shiro seike
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
270
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
160
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
950
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
620
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
280
Amazon Aurora DSQLパフォーマンスチェック / Amazon Aurora DSQL Performance Check
seike460
PRO
0
7
(再)ひとり技術広報からの脱却 / Re:Breaking away from one-man technical public relations
seike460
PRO
1
220
Amazon Q Developer Proで 効率化するAPI開発 / Streamline API Development with Amazon Q Developer Pro
seike460
PRO
0
6
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
1.1k
Other Decks in Programming
See All in Programming
Bytecode Manipulation 으로 생산성 높이기
bigstark
1
340
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
500
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
160
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
110
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
550
GoのGenericsによるslice操作との付き合い方
syumai
2
610
GoのWebAssembly活用パターン紹介
syumai
3
10k
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
210
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
170
TypeScript LSP の今までとこれから
quramy
1
500
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
200
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
250
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
How STYLIGHT went responsive
nonsquared
100
5.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
GraphQLとの向き合い方2022年版
quramy
46
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Side Projects
sachag
455
42k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
Visualization
eitanlees
146
16k
Rails Girls Zürich Keynote
gr2m
94
14k
Transcript
©Fusic Co., Ltd. CONFIDENTIAL 1 ํͷPHPerΫϥυΛ͏ཧ༝ ~ίετͷ࠷దԽͱνʔϜʹ͖߹͏~ 2025.05.31 ਗ਼Ո࢙ @seike460
PHPΧϯϑΝϨϯε৽ׁ2025
©Fusic Co., Ltd. 2 ࣗݾհ ͡Ίʹ ਗ਼Ո ࢙ (@seike460) S
H I R O S E I K E גࣜձࣾFusicϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ AWS User Group Leaders AWS Community Builder Serverless - ίϛϡχςΟ - JAWS-UG Fukuoka - Fukuoka.php - Fukuoka.go - Serverless Meetup Fukuoka - Cloudflare Meetup Fukuoka - JP_Stripes Fukuoka - JBUG Fukuoka
©Fusic Co., Ltd. 3 CONTENTS ࣍ 1. ํاۀͷڧΈͱΫϥυͷ૬ੑ 2. Ϋϥυͱίετ࠷దԽ
3. Platform EngineeringͰPHPʹద༻͢Δ 4. ํͱίϛϡχςΟ
©Fusic Co., Ltd. 4 ํاۀͷڧΈͱΫϥυͷ૬ੑ 1
©Fusic Co., Ltd. 5 Ϋϥυͷࢥ͍ࠐΈ ͜Μͳࢥ͍ࠐΈ͋Γ·ͤΜ͔ʁ ❌ ʮΫϥυେاۀͷͷʯ ❌ ʮํٕज़ͰΕ͍ͯΔʯ
❌ ʮখنνʔϜʹؔͳ͍ʯ ࣮ࡍ༧ࢉͷখ͞ͳҊ݅ɺখنͳνʔϜʹ ܧଓతʹద༻͠ଓ͚Δ͜ͱͰେ͖ͳՁΛൃش͠·͢ʂ
©Fusic Co., Ltd. 6 ํITاۀͷ3ͭͷڧΈ ҙࢥܾఆ͕ૣ͞ 01 ROI 金 ίετҙࣝͷߴ͞
02 গਫ਼Ӷ 長 自 身 03
©Fusic Co., Ltd. 7 ํITاۀͷ3ͭͷڧΈ ҙࢥܾఆͷૣ͞ 9 Ϋϥυͷॊೈੑ 01 ίετҙࣝͷߴ͞
9 ैྔ՝ۚ 02 গਫ਼Ӷ 9 ϚωʔδυαʔϏε 力 03
©Fusic Co., Ltd. 8 Ϋϥυͱίετ࠷దԽ 2
©Fusic Co., Ltd. 9 • 入 • CPU 用 5%
用 100% ΦϯϓϨϛε • 小 t 3 .micro 用 • 金 • 足 Ϋϥυ Ϋϥυͷมߋ༏Ґੑ
©Fusic Co., Ltd. 10 Auto Scalingͱ͍͏ߟ͑ํ ෛՙʹԠͯ͡αʔόʔΛࣗಈௐ͢ΔΈ AutoScalingGroup MinSize: 1
# ࠷খ1 MaxSize: 10 # ࠷େ10 TargetCPU: 70% # CPU༻70%ҡ࣋ ࣌ؒଳ ΦϯϓϨϛε ΫϥυʢAuto Scalingʣ ਂ 10Քಇ 1ͷΈՔಇ னؒ 10Քಇ ඞཁʹԠͯ͡3-8 ϐʔΫ 10Քಇ ࣗಈͰ10·Ͱ֦ு
©Fusic Co., Ltd. 11 ίϯςφΛར༻͢Δ͜ͱͰڥ४උίετݮ 🚀 ։ൃڥͷ४උ͕࣌ؒܶతॖ ৽ਓͷڥߏஙʹ2-3 → Dockerɿ5Ͱྃ
PHPɺMySQLɺRedisͷෳࡶͳґଘؔΛҰൃղܾ ʮࢲͷڥͰಈ͘ΜͰ͚͢Ͳ...ʯ͕ফ໓ 💰 AWS FargateͰӡ༻ίετݮ ͚ͬͨͩ՝ۚ → ΞΠυϧ࣌ؒͷίετΧοτ Auto ScalingରԠ → ෛՙʹԠͯࣗ͡ಈͰεέʔϧ ಉ͡ίϯςφͰಈ࡞ → ڥ४උίετΧοτ
©Fusic Co., Ltd. 12 αʔόʔϨεԽͰڀۃͷίετ࠷దԽ AWS Lambdaͷྉۚମܥʢ݄ؒ10ສϦΫΤετͷ߹ʣ • $0.20 /
100ສϦΫΤετ • ݄ؒ100ສϦΫΤετແྉ → ࣮࣭΄΅ແྉ 🌙 ΞΫηε͕গͳ͍࣌ؒଳͷίετθϩɿਂɾૣேͷແΞΫηε࣌ؒશʹ0ԁ 📈 ൟظͷΈࣗಈεέʔϧɿࡇΓγʔζϯͰ100ഒΞΫηε૿Ճઃఆෆཁ 💰 ॳظࢿෆཁͰ࢝ΊΒΕΔɿαʔόʔߪೖɾઃஔࣄɾอकܖ → શͯ0ԁ ํҊ݅ʹ࠷దʂ
©Fusic Co., Ltd. 13 DBϨΠϠʔͷίετ࠷దԽ DBͲ͏͓͕͔͔ͯۚ͠Δ → αʔόʔϨεDB͕ղܾ • TiDB
Serverless • ݄ؒແྉ: 5GB + 5,000ສRU • MySQLޓ: طଘίʔυͷҠߦ͕؆୯ • ݄ؒ10ສϦΫΤετ: ΄΅શແྉ • ࣗಈεέʔϦϯά: ༻ྔʹԠͯࣗ͡ಈௐ • Supabase • ແྉ: 500MBσʔλϕʔε + ແ੍ݶAPI • PostgreSQLޓ: ߴػೳͳΫΤϦ͕Մೳ • ϦΞϧλΠϜ: WebSocketͰͷϦΞϧλΠϜ௨৴ • ೝূػೳ: Ϣʔβʔཧػೳଂ
©Fusic Co., Ltd. 14 NEW! Aurora DSQL - ਅͷαʔόʔϨεࢄSQL Amazon
Aurora DSQL (Distributed SQL) 20255݄ Ұൠఏڙ։࢝ʂ • PostgreSQLޓ • શαʔόʔϨε • ࣄ্࣮ແ੍ݶͷεέʔϧ Bref x Amazon Aurora DSQLͰͷ ಈ࡞·Ͱ֬ೝࡁ
©Fusic Co., Ltd. 15 PHPͰAWS Lambda͑ͳ͍ → Laravel + Bref
on AWS Lambda σϑΝΫτελϯμʔυͷPHP WebFrameworkͷLaravel AWSͱͷ૬ੑ͕ඇৗʹྑ͘ɺ .envʹAWSͷύϥϝʔλʔΛઃఆ͢Δ͚ͩͰAWSΛ্खʹѻ͏ࣄ͕Մೳ PHPͷOSSϓϩδΣΫτͰ͋ΔBref AWS Lambda্ͰPHPΞϓϦέʔγϣϯΛ؆୯ʹσϓϩΠͱཧΛՄೳʹ͢Δπʔϧ ͜ΕΒΛΈ߹ΘͤɺPHPٕज़ελοΫʹϑΟοτͤ͞Δ
©Fusic Co., Ltd. 16 PHPΛAWS Lambda্ͰϓϩμΫγϣϯར༻Λ࣮ݱ AWS Dev Day 2022ʹͯϑϧServerlessʹͯఏڙ͍ͯ͠ΔαΠτͷΛ͠·ͨ͠
PHP+Laravelͱ͍͏ٕज़ελοΫʹϑΟοτͤ͞Δ͜ͱͰνʔϜͰಋೖͰ͖ͨࣄྫ https://speakerdeck.com/seike460/serverless-high-load-site-realized-with-amazon-s3-select
©Fusic Co., Ltd. 17 Brefͷٕज़ৄࡉࢲͷաڈࢿྉΛ͝ཡ͍ͩ͘͞ 🔧 Brefͷ෦ಈ࡞Λཧղ͍ͨ͠ํ bootstrap͔ΒϥϯλΠϜϨΠϠʔ·ͰBrefͷΈΛղઆ https://speakerdeck.com/seike460/a-look-inside-serverless-php-take-a-peek-inside-bref 🚀
ຊ൪ڥͰͷ࣮ํ๏ serverless.ymlͷৄࡉઃఆͱLaravel౷߹ͷ࣮ફྫ https://speakerdeck.com/seike460/aws-lambda-in-production-with-bref 💾 DBaaS × αʔόʔϨεPHP SupabaseͱLaravel BreezeΛͬͨೝূ͖ΞϓϦߏங https://speakerdeck.com/seike460/lets-do-it-dbaas-x-serverless-php
©Fusic Co., Ltd. 18 Platform EngineeringͰPHPʹద༻͢Δ 3
©Fusic Co., Ltd. 19 Platform Engineeringͱ 生 ・ 用
©Fusic Co., Ltd. 20 Platform Engineeringͱ -త -։ൃऀମݧͷ্: ෳࡶ͞ΛӅṭ͠ɺຊ࣭తͳ։ൃʹूத -ඪ४Խ:
ϕετϓϥΫςΟεͷࣗಈద༻ -ηϧϑαʔϏεԽ: ։ൃऀ͕ࣗతʹ࡞ۀͰ͖Δڥ -PHPνʔϜͷద༻Ձ -طଘͷLaravelࣝΛͦͷ··׆༻ -Πϯϑϥͷෳࡶ͞Λҙࣝͤͣʹ։ൃ -νʔϜશһ͕ϑϧελοΫ։ൃऀʹ
©Fusic Co., Ltd. 21 Platform Engineering On Serverless URL :https://speakerdeck.com/_kensh/platform-engineering-on-serverless
@_kensh
©Fusic Co., Ltd. 22 νʔϜτϙϩδʔ 用 : ・ , ・
. ʮϓϥοτϑΥʔϜ։ൃνʔϜͷʰअຐʹͳΒͳ͍ʱΑ͏ʹ͢Δɻ ɹ։ൃνʔϜ͕։ൃ͢Δ্Ͱͷલఏ݅ΛͳΔ͘গͳ͘͢Δͷͩɻʯ ɹɹɹɹɹɹɹɹɹ→ೝෛՙͷݮ - ετϦʔϜΞϥΠϯυνʔϜ - ಛఆͷػೳʹϑΥʔΧεͨ͠νʔϜ -ϓϥοτϑΥʔϜνʔϜ -ڞ௨ͷαʔϏεπʔϧΛఏڙ͢ΔνʔϜ -ΠωΠϒϦϯάνʔϜ -ଞνʔϜͷೳྗ্Λࢧԉ͢ΔνʔϜ
©Fusic Co., Ltd. 23 ίϯΣΠͷ๏ଇɺٯίϯΣΠͷ๏ଇ ίϯΣΠͷ๏ଇ ৫͕ઃܭ͢ΔγεςϜɺͦͷ৫ͷίϛϡχέʔγϣϯߏ͕ө͞ΕͨͷʹͳΔ ٯίϯΣΠͷ๏ଇ ·͍͠γεςϜΞʔΩςΫνϟΛ࣮ݱ͢ΔͨΊʹɺ৫ߏΛͦΕʹ߹Θͤͯઃܭ͢Δ ݱ࣮తͳΞϓϩʔν
• ཧ: ΫϥυωΠςΟϒͳΞʔΩςΫνϟʹ߹Θͤͨ৫ߏมߋ • ݱ࣮: ࣗͷࡋྔͷൣғͰ৫ߏมߋ͕͔͔࣌ؒ͘͠Δ ղܾࡦ ίϯΣΠͷ๏ଇʹج͖ͮɺ৫ͷٕज़ελοΫʹ߹Θͤͨ ServerlessͳγεςϜΞʔΩςΫνϟΛఏڙ͢ΔPlatform EngineeringΛߏங
©Fusic Co., Ltd. 24 Serverless Architectureͷࣗવͳߏ AWSʹ͓͚ΔදతͳServerlessߏ͕ͩɺॏཁͳݪଇͱͯ͠ ແཧʹͯΊΔ͜ͱೝෛՙʹܨ͕ΓServerlessͷਁಁʹܨ͕Βͳ͍
©Fusic Co., Ltd. 25 Platform Engineering ͷEssenceͷద༻ ৫ߏɺίϛϡχέʔγϣϯ͕ө͞Εͨߏʹ Serverless ArchitectureଆΛϑΟοτͤ͞ʹ͍͘
ࠓ·Ͱഓͬͨݟͱฐࣾͷٕज़ελοΫΛ ༥߹ͤ͞ΔͨΊʹTiDB ServerlessΛ࠾༻ MySQLޓ͔ͭΠϯλʔϑΣʔεͱͯ͠ɺ SQL͕͑Δ͜ͱͰࣗવʹ։ൃ͕Մೳʹ͠ ίετϝϦοτʹߩݙ
©Fusic Co., Ltd. 26 ࢲୡͳΓͷPlatform Engineeringͷઓ ΞϓϦέʔγϣϯ։ൃऀ͕PlatformΛબͿ →ձࣾͷٕज़ελοΫʹ߹ΘͤͨPlatformΛඋͯࣗ͠વʹར༻ͯ͠Β͏ ࠓ·ͰServerlessͷ։ൃΛݗҾ͍ͯͨ͠ ͕ࣗࣗ։ൃʹҰՃΘΒͣਐḿ
Platform Engineering ͷతͷҰͭ ೝෛՙͷݮΛୡ
©Fusic Co., Ltd. 27 Platform Engineeringͷ࣮ৄࡉ URL :https://speakerdeck.com/_kensh/platform-engineering-on-serverless @_kensh ϩά
CloudWatch Logs CI / CD GitHub Actions AWS CDK ΨʔυϨʔϧ BiomeɺPHPStanɺPest PlaywrightɺDependabot Observability CloudWatchɺSentryɺX-rayɺSlack
©Fusic Co., Ltd. 28 νʔϜͱಉԽ͢ΔΑ͏ʹServerlessΛϑΟοτͤ͞Δ Serverless
©Fusic Co., Ltd. 29 ํͱίϛϡχςΟ 4
©Fusic Co., Ltd. 30 ํͷڑײͱίϛϡχςΟඇৗʹ૬ੑ͕ྑ͍ ಉ͡ҬɾՁ؍Λڞ༗͢Δؒҙࣝ ڞ௨ͷސ٬: Ҭʹࠜͨ͟͠اۀɺ࣏ࣗମ͕ओཁΫϥΠΞϯτ ڞ௨ͷՁ؍: Ҭີணɺظతؔɺ࣭ॏࢹͷҙࢥܾఆ
Ҭܦࡁͷײ: ʮҰॹʹҬΛΓ্͛Α͏ʯͱ͍͏ڞ௨ඪ ڝ߹Ͱڠྗ͠߹͑Δؔੑ ʮޓ͍ͷڧΈΛ׆͔ͯ͠ڞʹʯͷจԽ ԬͷA͕ࣾPHPɺB͕ࣾΠϯϑϥಘҙ → ڞಉडͰWIN-WIN ίϛϡχςΟؒͰੵۃతʹใڞ༗͠ɺΫϥυར׆༻Λਪ͠ਐΊΔ
©Fusic Co., Ltd. 31 re:light local ৽ׁ ࠓՆ͝Ζ։࠵ ͜͜Ͱ͓͍ͨ͠ͷ͕ʰre:light localʱͰ͢
re:light localํͰͷΫϥυ׆༻Λଅਐ͢ΔاۀؒίϛϡχςΟͰɺ ֤Ҭʹࠜ͘ITاۀϢʔβʔاۀ͕ࢀՃ͠ɺ Ҭಛ༗ͷ՝Λڞ༗ɾղܾ͢Δ͜ͱΛࢦ͍ͯ͠·͢ ࠓճεϙϯαʔͯ͘͠Ε͍ͯΔάϩʔόϧωοτίΞ͞ΜͱҰॹʹ Նࠒʹ৽ׁͰͷ։࠵͕ܾఆͯ͠·͢ʂͥͻ͝ࢀՃ͍ͩ͘͞ʂ
©Fusic Co., Ltd. 32 ҬΛӽ͑ͨίϥϘϨʔγϣϯ ํܥPHPΧϯϑΝϨϯεͷΑ͏ʹҰͭͷҬʹดͣ͡ɺ શࠃ֤ͰҬΛ͑ͨίϥϘϨʔγϣϯ Ҭؒ࿈ܞʹΑͬͯւಓ͔Βभ·Ͱ ଟ༷ͳ՝ͱղܾࡦ͕ू͞Εɺ๛ͳφϨοδϕʔε͕ܗ
©Fusic Co., Ltd. 33 re:light localͷ4ͭͷՁʢ4Cʣ Contentʢίϯςϯπʣɿํͷ࣮ʹ߹Θٕͤͨज़༰ CodeʢίʔυʣɿϋϯζΦϯͰίʔυΞʔΩςΫνϟΛఏڙ ConductorʢਐߦɾӡӦʣɿݩاۀʹΑΔاըɾӡӦ CommunicationʢίϛϡχέʔγϣϯʣɿΠϕϯτޙͷΦϑϥΠϯަྲྀ
ࢀরɿhttps://www.docswell.com/s/takagerbera/K4VJYW-cmc-meetup-sdj2#p7
©Fusic Co., Ltd. 34 ํ͔ͩΒͦ͜ΫϥυͰউͯΔཧ༝ அͷεϐʔυ͕ѹత༏Ґੑ ํͷ՝ʹΫϥυ͕Ϛον͍ͯ͠Δ ີͳίϛϡχςΟͱͷ૬ޮՌ ํ͔ͩΒͰ͖Δʂํͦ͜αʔόʔϨεʂ
©Fusic Co., Ltd. 35 ·ͱΊ ํͦ͜ैྔ՝ۚϞσϧͷԸܙΛ࠷େԽ Point 01 ίϯΣΠͷ๏ଇΛج͍ͮͨνʔϜΞοϓͰΫϥυͷಋೖ Point
02 Platform Engineering·Ͱঢ՚ग़དྷΔͱԣஅతͳՁग़ Point 03
©Fusic Co., Ltd. 36 Thank You We are Hiring! https://recruit.fusic.co.jp/
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠