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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mitsuki Ogasahara
August 05, 2017
Technology
14
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
690
コスト管理から向き合う技術的負債 / Accounting for Technical Debt Through Cost Management
yamitzky
0
79
Utility-first な CSS-in-JS 〜Tailwind CSS と Chakra UI を添えて〜 / Utility-First CSS-in-JS
yamitzky
5
1.6k
今から始める型安全 Python / Start Python Type Hints
yamitzky
13
4.9k
技術が好きで好きで好きでたまらないエンジニアが「取締役」になって思う、マネジメントキャリアパス / My Manager's Path
yamitzky
2
1.2k
Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era
yamitzky
35
31k
なぜサーバーレスとDockerなのか 〜 インフラ運用を最小化するサービス開発 〜 / Why We Choose Serverless AND Docker
yamitzky
0
4.1k
サーバーレスを活用して少数精鋭で開発するニュースアプリ #devsumi
yamitzky
4
3.1k
会社の開発合宿で Electron-vueで Slackクライアント作ってみた
yamitzky
0
2.8k
Other Decks in Technology
See All in Technology
生成AI素人でも玄人でもない私がセイセイAIチョットワカルために勉強したこと
wkm2
2
270
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
74k
意外と知ってそうでしらない、Reserved Instances の世界
mappie_kochi
0
140
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
3
340
StrandsAgentsで構築したAIエージェントにMCP Apps機能を追加してみた
kmiya84377
0
130
個人的3D Gaussian Splattingニュースをご紹介 / sharing 3d gaussian splatting news
drumath2237
0
240
「技術的にできません」を越えて価値を生み出せ──研究開発チームをPMが率いて生み出した価値創出
hiro93n
1
110
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
5
800
生成AIの研究活用_AILab2025研修
cyberagentdevelopers
PRO
9
4.7k
ブログの作成に音声AIツールを使って音声入力しようとした話
smt7174
1
110
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
160
Claude Code で画面の仕様書を作ろう
zozotech
PRO
0
300
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
What's in a price? How to price your products and services
michaelherold
247
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.2k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Automating Front-end Workflow
addyosmani
1371
200k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
We Are The Robots
honzajavorek
0
180
Agile that works and the tools we love
rasmusluckow
331
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
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௨৴ࣾʯΤϯδχΞืूதͰ͢ʂ ·ͱΊ