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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Mitsuki Ogasahara
August 05, 2017
Technology
8.1k
14
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ここが辛いよサーバーレス だが私は乗り越えた #builderscon
Mitsuki Ogasahara
August 05, 2017
More Decks by Mitsuki Ogasahara
See All by Mitsuki Ogasahara
後任はAIです ~情シスをAIに任せて、会社を休んでみた話~ / Out of Office: AI in Charge
yamitzky
1
76
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
930
コスト管理から向き合う技術的負債 / Accounting for Technical Debt Through Cost Management
yamitzky
0
110
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
32k
なぜサーバーレスとDockerなのか 〜 インフラ運用を最小化するサービス開発 〜 / Why We Choose Serverless AND Docker
yamitzky
0
4.2k
サーバーレスを活用して少数精鋭で開発するニュースアプリ #devsumi
yamitzky
4
3.1k
Other Decks in Technology
See All in Technology
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
210
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
170
モバイルアプリ開発概論2026
recruitengineers
PRO
3
500
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
200
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
ガバメントクラウドでのランサムウェア対策
techniczna
2
1k
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
2
490
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Bash Introduction
62gerente
615
220k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Faster Mobile Websites
deanohume
310
32k
Un-Boring Meetings
codingconduct
0
380
The Spectacular Lies of Maps
axbom
PRO
1
890
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
YesSQL, Process and Tooling at Scale
rocio
174
15k
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௨৴ࣾʯΤϯδχΞืूதͰ͢ʂ ·ͱΊ