Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
86
地方の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
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
290
Team-First Serverless Platform Engineering Approach to PHP Applications with Laravel and Bref
seike460
PRO
0
41
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
940
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
460
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
230
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
1.3k
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
930
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
470
実行委員長が振り返るBacklogWorldの裏側と運営Backlog術 / The chairperson of the executive committee looks back on the backstage of BacklogWorld and the art of managing Backlog.
seike460
PRO
0
25
Other Decks in Programming
See All in Programming
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
160
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
110
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
470
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
チームをチームにするEM
hitode909
0
370
Developing static sites with Ruby
okuramasafumi
0
320
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
280
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.3k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
300
Why Our Code Smells
bkeepers
PRO
340
57k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
120
Chasing Engaging Ingredients in Design
codingconduct
0
84
Context Engineering - Making Every Token Count
addyosmani
9
550
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Making Projects Easy
brettharned
120
6.5k
Visualization
eitanlees
150
16k
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/
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠