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
ここが辛いよサーバーレス だが私は乗り越えた #builderscon
Search
Mitsuki Ogasahara
August 05, 2017
Technology
14
7.8k
ここが辛いよサーバーレス だが私は乗り越えた #builderscon
Mitsuki Ogasahara
August 05, 2017
Tweet
Share
More Decks by Mitsuki Ogasahara
See All by Mitsuki Ogasahara
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
460
コスト管理から向き合う技術的負債 / Accounting for Technical Debt Through Cost Management
yamitzky
0
29
Utility-first な CSS-in-JS 〜Tailwind CSS と Chakra UI を添えて〜 / Utility-First CSS-in-JS
yamitzky
5
1.5k
今から始める型安全 Python / Start Python Type Hints
yamitzky
13
4.8k
技術が好きで好きで好きでたまらないエンジニアが「取締役」になって思う、マネジメントキャリアパス / My Manager's Path
yamitzky
2
1.1k
Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era
yamitzky
35
30k
なぜサーバーレスとDockerなのか 〜 インフラ運用を最小化するサービス開発 〜 / Why We Choose Serverless AND Docker
yamitzky
0
4k
サーバーレスを活用して少数精鋭で開発するニュースアプリ #devsumi
yamitzky
4
2.9k
会社の開発合宿で Electron-vueで Slackクライアント作ってみた
yamitzky
0
2.7k
Other Decks in Technology
See All in Technology
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
140
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
230
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
160
解析の定理証明実践@Lean 4
dec9ue
1
190
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
320
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
130
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
230
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
360
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
280
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
240
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
3.1k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Ace a Technical Interview
jacobian
277
23k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
BBQ
matthewcrist
89
9.7k
The Language of Interfaces
destraynor
158
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Being A Developer After 40
akosma
90
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Scaling GitHub
holman
459
140k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Transcript
͕͜͜ਏ͍ΑαʔόʔϨε ͕ͩࢲΓӽ͑ͨ খּݪΈ͖ͭ / @yamitzky
wಋೖ wlαʔόʔϨεzͷશମਤ w+9௨৴ࣾͷαʔόʔϨεϩάج൫ͷྫ wΓӽ͑ͨฤ w͕͜͜ਏ͍Αຊ൪ͱͷࠩ w͕͜͜ਏ͍ΑϚωʔδυ wਅʹΓӽ͑ΔαʔόʔϨε ࣍
wখּݪΈ͖ͭ!ZBNJU[LZ wใಓϕϯνϟʔʮ+9௨৴ࣾʯͷ 1ZUIPOc4DBMBc+BWB4DSJQUcػցֶश ΤϯδχΞ ࣗݾհ
wখּݪΈ͖ͭ!ZBNJU[LZ wใಓϕϯνϟʔʮ+9௨৴ࣾʯͷ 1ZUIPOc4DBMBc+BWB4DSJQUcػցֶश ΤϯδχΞ w48 ࣗݾհ
ಋೖฤ
ࠓ͢lαʔόʔϨεzͷఆٛ
ࠓ͢lαʔόʔϨεzͷఆٛ
ࠓ͢lαʔόʔϨεzͷఆٛ wશମΛؚΊͨʹ͍ͨ͠
wϩάج൫"1*ͳͲͰ΄ͲαʔόʔϨε Λ׆༻ +9௨৴ࣾͷʮαʔόʔϨεϩάج൫ʯ
wैདྷͷΞϓϦέʔγϣϯʹൺͯɺ ΠϯϑϥʗϦιʔεʹର͢Δؔ৺͕গͳ͘ࡁΉ wϦΫΤετ࣌ʹ͚ͩϦιʔεΛ֬อ͢Εྑ͍ ͷͰɺ҆͘ͳΔ͕͋Δ wϚωʔδυΛΈ߹ΘͤͯΞϓϦέʔγϣϯΛ ΈཱͯΔ αʔόʔϨεͷಛ
αʔόʔϨεWTαʔόʔϨε͡Όͳ͍ ඇαʔόʔϨεࣄલʹܭࢉϦιʔεΛ֬อ͠ɺϓϩηεΛ্ཱ͓ͪ͛ͯ͘ αʔόʔϨεܭࢉϦιʔε֬อͤͣɺ ཁٻ͕དྷͨΒϓϩηεΛ্ཱͪ͛ɺϦιʔεΛ֬อ͠ɺ͙͢ʹϓϩηε͕ࢮ͵ $MVTUFS
ϩʔΧϧڥͱຊ൪ڥ͕ ҧͬͯਏ͍ ͕ͩࢲΓӽ͑ͨ
ྫ.BDͰֶతܭࢉ͢ΔϓϩάϥϜΛ࡞Δ ·ͣিಥ͢Δ $ pip install numpy
σϓϩΠ͢Δͱى͜Δ͜ͱ
None
ྫ.BDͰֶతܭࢉ͢ΔϓϩάϥϜΛ࡞Δ ·ͣিಥ͢Δ $ pip install numpy ͢Ͱʹμϝ
w'BB4ී௨-JOVYͰ࡞ΒΕ͍ͯΔ wOVNQZlίϯύΠϧz͕ඞཁͳϥΠϒϥϦ wίϯύΠϧ͕ඞཁͳͷΛ.BD8JOEPXT Ͱ࡞ͬͯ-JOVYͰಈ͔ͳ͍ ͳͥμϝͳͷ͔
w.BD্Ͱ-JOVYΛಈ͔ͤΔͷ͕͋Δ Ͳ͏͢Ε͍͍͔
wΞϓϦέʔγϣϯ%PDLFS্Ͱ࡞Γɺ ੜAEPDLFSDQAͯ͠σϓϩΠ w"QFYTFSWFSMFTTͳͲͷσϓϩΠπʔϧΛ ͏ͱΑΓྑ͍ %PDLFSΛͬͨlαʔόʔϨεޓz։ൃ docker-compose.yml
w$3VTU(PͳͲͷίϯύΠϧͨ͠ όΠφϦͰɺ-BNCEB্Ͱಈ͔ͤΔ wཁ͢Δʹ-JOVY্ͰΔͷ͕େࣄ ͜Ε͕Ͱ͖Δͱɻɻɻ
wlαʔόʔϨεzϚωʔδυΛΈ߹ΘͤΔ ຊ൪ͱϩʔΧϧͷࠩ1BSU̎
wαʔόʔϨεͰॏ׆༻͢Δl4zl%ZOBNP%#z ͳͲ044Ͱͳ͍ wˠ$*ϩʔΧϧ։ൃͰࠔΔ Ϛωʔδυͷ
ϚωʔδυΛϩʔΧϧ։ൃͰ͏ͳΒ ݁γϛϡϨʔγϣϯͨ͠044Λ͏
wϚωʔδυl͍͍ͩͨzγϛϡϨʔγϣϯͰ ͖ΔϓϩμΫτ͕ଘࡏ͢Δ w%ZOBNP%#-PDBMɺGBLFTɺFUDʜ ϚωʔδυͷγϛϡϨʔγϣϯ044
w%ZOBNP%#Λຊ൪Ͱ͏ͷͱಉ͡Α͏ͳ69͕ ಘΒΕΔ %ZOBNP%#-PDBMY(6* https://hub.docker.com/r/yamitzky/dynamodb-gui/
wςετ༻ͷ%ZOBNP%#ςʔϒϧͳͲΛ༻ҙ͠ ͯɺͬͨ΄͏͕ྑ͍͜ͱ͋Δ w͓ۚݖݶωοτϫʔΫͷؔͰ͑ͳ͍͜ ͱ͋Δ͠ɺσόοάͷ͢͠͞ͷ͋Δ ී௨ʹ%ZOBNP%#4͏ͷμϝͳͷʁ
w"1*Λ։ൃ͢Δͱ͖ʹૺ۰͢Δ wαʔόʔϨε"1*ͷlమ൘z"1*(BUFXBZ w"1*(BUFXBZϩʔΧϧʹଘࡏ͠ͳ͍ ˠαʔόʔϨεͰಈͨ͘Ίʹ࡞ͬͨ"1*Λ ϩʔΧϧͰͲ͏σόοά͢Δ͔ʁ ຊ൪ͱϩʔΧϧͷࠩ1BSU
αʔόʔϨε"1*Λ࡞ΔͳΒ ݁ࠓ·Ͱ௨Γ ϑϨʔϜϫʔΫͰ࡞Δ
͍··Ͱ௨Γ࡞Δͱ 8"' ࣗ࡞"1* ϩʔΧϧڥ 8"' ࣗ࡞"1* αʔόʔϨεڥ $ python main.py
-BNCEBͰಈ͔͢ Ξμϓλʔ
1ZUIPOͷ߹ 'MBTL%KBOHP ࣗ࡞"1* ϩʔΧϧڥ 'MBTL%KBOHP ࣗ࡞"1* αʔόʔϨεڥ 84(*Λ-BNCEB Ͱಈ͔͢Ξμϓλʔ 84(*
w1ZUIPOʹ͓͚Δʮαʔόʔʯͷඪ४ن֨ Πϯ λʔϑΣʔε ˠ3VCZʹ͓͚Δ3BDLతͳ w'MBTL%KBOHPCPUUMF84(*ͱ͍͏ඪ ४ͷ্ʹ࡞ΒΕ͍ͯΔ 84(*ͱ
w͢ͰʹϥΠϒϥϦ͕͍͔ͭ͋͘Δ wIUUQTHJUIVCDPNBXTMBCTBXT TFSWFSMFTTFYQSFTT wIUUQTHJUIVCDPNTMBOLBXTHJ wIUUQTHJUIVCDPN.JTFSMPV;BQQB w8"'ͷنΛ-BNCEBͷنʹม͢Δ͚ͩͳͷ Ͱɺ͢Ͱʹ044͕ͳͯ͘ͳΜͱ͔ͳΔ طଘͷϑϨʔϜϫʔΫPO-BNCEB
w%PDLFSΛ׆༻ͯ͠ɺαʔόʔϨεڥͱϩʔ ΧϧڥͷࠩΛݮΒͦ͏ wطଘͷϑϨʔϜϫʔΫʹ͚ͬͯ"1*Λ࡞Ζ͏ ͜͜·Ͱͷ·ͱΊ
Ϛωʔδυ͕ਏ͍ ͕ͩࢲΓӽ͑ͨ
࣭-BNCEBσϓϩΠͨ͠Βɺ ͋ͱl͓·͔ͤzͳͷ͔ʁ
ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ-BNCEBಥવͷࢮɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ
w8"'84(*ͷ্ʹͤΕɺ "ࣾ(ࣾ.͕ࣾϛαΠϧ߈ܸ͞ΕͯͳΜ ͱ͔ͳΔ -BNCEBಥવͷࢮରࡦ ۓٸ࣌௨ৗͷαʔόʔͰ ΞϓϦέʔγϣϯΛಈ͔͢
࣭Ϛωʔδυͬͯোͳ͍Μ͚ͩͬʁ
wαʔόʔϨεͰҰ൪ͭΒ͔ͬͨࣄҊ wࣗͷແྗ͞Λࢥ͍Δ ,JOFTJTಥવͷΤϥʔ
wαʔόʔϨεͰҰ൪ͭΒ͔ͬͨࣄҊ wࣗͷແྗ͞Λࢥ͍Δ w̍िؒفͬͨΒͬͨ ,JOFTJTಥવͷΤϥʔ
w4ʹো͕ى͖ͨΒʁ,JOFTJTʁ %ZOBNP%#ʁ wͦͷͱ͖ɺσʔλͷܽଛଘࡏ͠ͳ͍ʁ wোʹඋ͑ɺ༗ঈαϙʔτେࣄ Ϛωʔδυͷোఆ͠Α͏
ਅʹΓӽ͑Δ αʔόʔϨε
wݱ࣮ɺʮαʔόʔϨεʹΫϥυࡇΓʯ w-BNCEBʹଘࡏ͢Δ֤छ੍ wϓϥΠϕʔτωοτϫʔΫͷ੍ wύϑΥʔϚϯεͷ੍ wˠΫϥυґଘʹϚωʔδυΏ͑ʹɺ ɹΓӽ͑Α͏͕ͳ͍ɾɾɾͷ͔ɾɾɾʁ ϚωʔδυΏ͑ͷݶք
w'BB4ͬͯl-BNCEBzͱ͔l$MPVE'VODUJPOz ͚ͩͳͷ͔ʁ w'BB4lΫϥυͷձࣾz͔͠ఏڙͰ͖ͳ͍ ͷͳͷ͔ʁ wˠ࣮ɺͦΜͳ͜ͱͳ͍ ͦͦɺαʔόʔϨεͬͯ
w#VJMEJOH4FSWFSMFTT"QQTXJUI%PDLFS ࡞ΔαʔόʔϨε https://blog.docker.com/2016/06/building-serverless-apps-with-docker/ ͜͜ΛࣗͨͪͰ༻ҙ͢Δ͔ɺΫϥυ͕༻ҙ͢Δ͔ͷҧ͍
lαʔόʔϨεz࡞ΕΔ
wܭࢉϦιʔεͷϓʔϧΛΫϥυ͕࣋ͭͷ͔ɺ ࣗࣾͰ࣋ͭͷ͔ͷҧ͍ wͪΖΜɺ͕ࣗؔ৺Λ࣋ͭඞཁͷ͋Δͷ ૿͑Δ w+9௨৴ࣾͰɺ-BNCEBͱ&$4Λ͍͚ͯΔ wˠlϚωʔδυzʹͩ͜ΘΔඞཁɺ࣮ͳ͍ ࡞ΔlαʔόʔϨεz
wࠓɺlαʔόʔϨεzΛӡ༻ͯ͠ਏ͔ͬͨͱɺ ͦͷղܾࡦΛհ͠·ͨ͠ wαʔόʔϨεϚωʔδυɺࠇຐज़Ͱͳ͘ lͨͩͷ-JOVYzlͨͩͷίϯςφٕज़zͱଊ͑ɺΓӽ͑Δ wϚωʔδυͷαʔόʔϨεͱɺࣗࣾαʔόʔϨεɺ ͍͚͕େࣄ wใಓϕϯνϟʔʮ+9௨৴ࣾʯΤϯδχΞืूதͰ͢ʂ ·ͱΊ