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
チームの課題をサーバーレスで解決 Backlog と Zendesk の繋ぎ方
Search
Yuji Shimoda
October 11, 2019
Technology
1
2.1k
チームの課題をサーバーレスで解決 Backlog と Zendesk の繋ぎ方
AWS総合支援サービス「クラスメソッドメンバーズ」のサポートチームが抱えていた課題を、サーバーレスで解決した際のアレコレを赤裸々にご紹介します。
Yuji Shimoda
October 11, 2019
Tweet
Share
More Decks by Yuji Shimoda
See All by Yuji Shimoda
チームの課題をサーバーレスで解決 プロジェクト管理ツール「Backlog」とカスタマーサービスシステム「Zendesk」の繋ぎ方
yuji_shimoda
0
2.4k
Higobashi.aws 第7回 AWS コンテナ実践勉強会 低レイヤー視点から読み解くコンテナ入門
yuji_shimoda
7
2.2k
higobashi.aws 第1回 AWS re:Invent 2017 報告会 AWS Fargate と ECS タスクネットワークのご紹介
yuji_shimoda
0
1.1k
Other Decks in Technology
See All in Technology
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
210
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
310
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
150
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.3k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
220
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
340
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Automating Front-end Workflow
addyosmani
1370
200k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Writing Fast Ruby
sferik
628
62k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Transcript
νʔϜͷ՝ΛαʔόʔϨεͰղܾϓϩδΣΫτཧπʔϧ ʮ#BDLMPHʯͱΧελϚʔαʔϏεγεςϜʮ;FOEFTLʯͷܨ͗ํ "84ࣄۀຊ෦ɹΦϖϨʔγϣϯ෦ ొஃऀԼా༞࢜
DNEFWJP
ຊ͓͢͠Δ͜ͱɺ͠ͳ͍͜ͱ w͓͢͠Δ͜ͱ wࣾͷۀΛվળ͢ΔࡍͷΞϓϩʔνɺϚΠϯυͳͲ wαʔόʔϨε։ൃ5JQT w4FSWFSMFTT'SBNFXPSL1ZUIPOίʔυͷ؆୯ͳ࣮ྫ wαʔόʔϨε։ൃ࣌ʹૺ۰ͨ͠Τϥʔͱରॲ๏ͷ؆୯ͳ͝հ w͓͠ͳ͍͜ͱ wαʔόʔϨεͷ֓೦આ໌
w֤"84αʔϏεͷར༻ํ๏ৄࡉઆ໌ͳͲ w4FSWFSMFTT'SBNFXPSL։ൃݴޠʹؔ͢Δৄࡉͳઆ໌
8IPBSFZPV ݄Ϋϥεϝιουೖࣾ "84༻ྺɺΫϥεϝιουࡏ੶ظؒͱಉ͡ ৬ྺ ೋڃඋ࢜ʢϝΧχοΫʣ ډञళ 6/*9ͷԾԽٕज़ͷαϙʔτɾΤϯδχΞ ΦϖϨʔγϣϯ෦ॴଐ
,"*;&/5FBNϦʔμʔ ̐ࣇͷύύ ɺਓੜॳͷҭࣇٳՋऔಘࡁΈ Լాɹ༞࢜ʢ̏̕ࡀʣ
"HFOEB w֤αʔϏεͷ͝հ wνʔϜͷ՝ͱʁ w՝ղܾͷΞϓϩʔν w࣮ࡍʹͬͯΈͨ wαʔόʔϨεͰ։ൃͨ͠αʔϏεͷ͝հ wαʔόʔϨε։ൃ5JQT w։ൃ࣌ʹૺ۰ͨ͠Τϥʔͱରॲ๏
w·ͱΊ
֤αʔϏεͷ͝հ
#BDLMPHͷ͝հ wOVMBC͕ࣾ։ൃ͢Δ4BB4 w༷ʑͳۀछͰར༻͞Ε͍ͯΔϓϩδΣΫτཧπʔϧ w՝όάόʔδϣϯཧγεςϜͱͯ͠ར༻Մೳ
;FOEFTLͷ͝հ w;FOEFTL͕ࣾ։ൃ͢Δ4BB4 wΧελϚʔαϙʔτۀʹඞཁͳ͕༻ҙ͞Ε͍ͯ·͢ w;FOEFTL4VQQPSU w;FOEFTL(VJEF w;FOEFTL$IBU w;FOEFTL5BML w;FOEFTL&YQMPSF
0534ͷ͝հ w044ͱͯ͠։ൃ͞Ε͍ͯΔνέοτཧγεςϜ wϝʔϧͷো௨͍߹ΘͤͷཧγεςϜͱͯ͠ར༻ wΠϯγσϯτཧ
֤αʔϏεͰͷ͍͚ wϝϯόʔζͰఏڙ͢Δ"84αϙʔτɺجຊతʹɹɹɹΛར༻ wҰ෦ͷސ٬ΛରʹɹɹɹɹΛར༻ͨ͠αϙʔτఏڙ wϝʔϧʹΑΔ͍߹ΘͤΛཧ͢ΔͨΊʹ0534Λར༻
Ϋϥεϝιουɹϝϯόʔζͷ͝հ w"84૯߹ࢧԉαʔϏε wԁݐͯͷٻॻ͍αʔϏεʢٻߦʣ wར༻අͷׂҾ͖αʔϏεʢҰPS&$ɾ$%/ׂҾ͖ʣ w"84αϙʔτʢ֤छਃߦٕज़తͳαϙʔτʣ wϓϨϛΞϜαʔϏεʢίϯαϧςΟϯάߏஙࢧԉӡ༻ߦFUDʣ
ϝϯόʔζͷ"84αϙʔτମ੍ʢYʣ
νʔϜͷ՝ͱʁ
લఏ݅ w#BDLMPHͷ՝ߋ৽ʹΑΔϝʔϧ௨ΛશͯνέοτԽ w͍߹ΘͤҎ֎ͷ༰ଟؚΉ wͦͷνέοτΛ ໊Ͱ༗ਓࢹ wϝϯόʔζαʔϏεٸதʢલൺഒ㽉 wࢹνέοτൺྫͯ͠㽉 wνʔϜͷਓһɺαʔϏεنͷʹൺྫ͠ͳ͍
݁Ռ ༗ਓࢹνέοτͷ߹ܭ͕݅ 1700݅Λ͑Δʢ࣮ʣ
՝ղܾͷΞϓϩʔν
՝ղܾͷΞϓϩʔν ঢ়گΛѲ͢ΔͨΊʹใऩूʢϝϯόʔͷώΞϦϯάʣ σʔλʹجͮ͘ݱঢ়ੳ ՝ͷચ͍ग़͠
ऩूσʔλ͕ෆ͢Δ߹ɺԾఆʹجͮ͘՝ͰߏΘͳ͍ ͷ՝ʹجͮ͘ࢪࡦͷݕ౼ͱظ͢ΔޮՌͷ֬ೝ ͷࢪࡦʹ5SZ͢ΔɹˠʹΔ
,"*;&/5FBNͷجຊํ ࠷খݶͷίετͰ࠷େݶͷՌΛಘΔ Think Big, Start Small, Scale Fast
ݸਓతͳجຊํ ސ٬ʹՁΛఏڙ͍ͯ͠ͳ͍࡞ۀΊΔ ͦΕҎ֎ͷ࡞ۀޮԽɾࣗಈԽΛݕ౼
νʔϜͷ՝ͱʁʢԾఆʣ w༗ਓࢹʢ#BDLMPH՝ϕʔεʣͷνέοτ͕ଟ͍ wঢ়گੳɺରԠϑϩʔͷݟ͕͠Ͱ͖͍ͯͳ͍ wࢹνέοτʹຒΕͨॏཁͳ՝ͷߋ৽Λଈ࠲ʹݕͰ͖ͳ͍ wαϙʔτ࣭ͷԼʢ༗ਓࢹʹΑΔฐʣ w༗ਓࢹͷίετʢ࡞ۀෛՙʣ͕ߴ͍ wਓతࢿݯوॏʢແବݣ͍ग़དྷͳ͍ʣ
࣮ࡍʹͬͯΈͨ
࣮ࡍʹͬͯΈͨ wνʔϜϝϯόʔʹώΞϦϯά wେྔʹ͋Δࢹνέοτɺ͍͔ͭ͘ͷಛఆϓϩδΣΫτىҼ wϝʔϧ௨ઃఆͷݟ͠ʹΑΓঢ়گ͕վળ͞Εͦ͏ wࣗࣾอ༗ͷ#BDLMPHϓϩδΣΫτͰͳ͘ɺސ٬อ༗ͷͷ wʙސ٬ͷଧˍࣗࣾϓϩδΣΫτͷ୨Է͠ wސ٬ͱௐྃ͠ɺϝʔϧ௨ͷઃఆݟ͠ʹޭ w݅ˠ݅ʢࢹνέοτΛҰ୴ɺϦηοτʣ
Ұ࣌తʹվળ͕ͨ͠ɺࠜຊతͳʢ༗ਓࢹରԠʣະղܾ
࣮ࡍʹͬͯΈͨʢ͖ͭͮʣ wͦͷଞͷํ๏Λࡧ͢Δ৽ن։ൃ͕ඞཁͱ͍͏݁ʹ w1P$։ൃʹணखʢͬ͘͟Γ)͘Β͍ʣ w1P$खԠ͕͑͋ͬͨͷͰɺϓϩτλΠϓ։ൃΛਐΊΔ w4FSWFSMFTT'SBNFXPSLΧελϜυϝΠϯԽʢ)͘Β͍ʣ w࣮࣭िؒఔͰɺຊ൪ಋೖʢ༗ਓࢹରԠͱฒʣ wࣾͷސ٬αʔϏεಋೖͷ͝ҊΛૹ wࣾϑΟʔυόοΫΛݩʹαʔϏεվળΛਵ࣮࣌ࢪ
w#BDLMPH՝ͷ༗ਓࢹରԠΛશഇࢭ
݁Ռ 15/(1ਓ)ͷվળޮՌ͋Γ ܭ1࣌ؒ/(4ਓ)ͷݮʹͭͳ͕ͬͨ ͭ·Γɺ20࣌ؒ/݄ɺ240࣌ؒ/
αʔόʔϨεͰ։ൃͨ͠αʔϏεͷ͝հ
αʔϏεಋೖલ ᶃ ᶄ ᶅ ᶆ
αʔϏεಋೖલ
αʔϏεಋೖޙ ᶃ ᶄ ᶅ ᶆ ᶇ
#BDLMPHϔϧϓσεΫ࿈ܞαʔϏε w#BDLMPHͷඪ४ػೳͰ͋Δ8FCIPPL Λར༻ w #BDLMPH՝ͷߋ৽ใΛࢦఆ63-)5511045͢Δػೳ w8FCIPPLΠϕϯτΛ"1*(BUFXBZͰड͚Δ w-BNCEB 1ZUIPO
Ͱղੳ͠ɺඞཁʹԠͯ͡;FOEFTL"1*Λίʔϧ
#BDLMPHͷ8FCIPPLΠϕϯτʢαϯϓϧʣ
#BDLMPHͷ՝ʢςετىථͨ͠αϯϓϧʣ
;FOEFTLͷνέοτʢςετىථͨ͠αϯϓϧʣ
ࣾ4MBDLʢςετىථͷ௨αϯϓϧʣ
ར༻͍ͯ͠Δ"84αʔϏε w"NB[PO"1*(BUFXBZ w"NB[PO71$ w/"5(BUFXBZ&MBTUJD*171$&OEQPJOU w"NB[PO%ZOBNP%# w"NB[PO3PVUF w"NB[PO$MPVE8BUDI w"84-BNCEB
w"844FDSFUT.BOBHFS w"84$FSUJpDBUF.BOBHFS
αʔϏεߏͷৄࡉ
αʔϏεߏͷৄࡉ wίʔυنɺͬ͘͟Γߦఔʢ:".-ؚΊߦ͘Β͍ʣ
αʔϏε༷ʢϓϩτλΠϓʣ w#BDLMPH՝ͷ୲ऀ͕ಛఆϢʔβʔ ͷ߹ʹ ;FOEFTLͷνέοτΛ࡞͠ɺ#BDLMPH՝͕ྃ͢Δ·Ͱ ;FOEFTLͷνέοτΛߋ৽ʢಉظʣ͢Δɻ w
ΦϖϨʔγϣϯνʔϜ#BDLMPHϢʔβʔ ʢҎ߱ɺ$.ΦϖϢʔβʔʣ
Ҿ͖ࢉͷඒֶ ෆཁͳػೳపఈతʹ͗མͱ͢
ϓϩτλΠϓ։ൃதͷ৺ಘ w༨ܭͳػೳΛՃ͠ͳ͍ʢՃ͠Α͏ͱ͠ͳ͍ʣ wͻΐͬͱͨ͠ΒඞཁʹͳΔ͔͠Εͳ͍ػೳʢଟʣඞཁͳ͍ wᘳΛࢦ͞ͳ͍ w్தͰϦϑΝΫλϦϯάͨ͘͠ͳΔʢ͔͠Εͳ͍ʣ͚Ͳզຫ͢Δ wϓϩδΣΫτ͕࠳ͨ͠߹ɺίʔυΛࣺͯΔ͜ͱʹͳΔ͔Β wར༻ऀʢνʔϜϝϯόʔސ٬ʣͱަব͢Δ͜ͱΛڪΕͳ͍ wҙࣄ੍߲ݶΛઃ͚Δ͚ͩͰɺ༷͕γϯϓϧʹͳΔ
wͭ·Γɺ։ൃΛେ෯ʹݮͰ͖5SZͷαΠΫϧΛૣΊΒΕΔ
ϓϩτλΠϓ։ൃதʹϝϯόʔ͔Βͬͨίϝϯτ wސ٬͕#BDLMPH՝୲ऀΛࢦఆͤͣʹґཔͯ͘͠Δ͜ͱ͕͋Δ ݱঢ়ͷ༷ͩͱ͍উख͕ѱͦ͏ w#BDLMPH՝ʹෳͷґཔࣄ߲͕هࡌ͞Ε͓ͯΓɺ՝ͷ୲ऀ͕ $.ΦϖϢʔβʔͰͳ͘ɺ՝ͷຊจʹCZOBNFͰґཔ͞ΕΔ
߹ͷέΞ͕ग़དྷͳ͍ɻػೳΛՃͨ͠ํ͕ྑ͍ͷͰʁ wԼా͞Μ։ൃऀ͖͡Όͳ͍Ͱ͢Ͷʢ͍͍ҙຯͰʣ Ϛωʔδϟʔ͖Ͱ͢Ͷɻ
%POFJTCFUUFSUIBOQFSGFDU
αʔόʔϨε։ൃ Tips
ΞΫηεݩʢιʔε*1ʣΛߜΓ͍ͨ wSFTPVSDF1PMJDZΛ͏
ΫϨσϯγϟϧใͷཧʁ w"844FDSFUT.BOBHFSͬͯΔ wTFSWFSMFTTZNM[FOEFTLQZ
ΧελϜυϝΠϯ͑Δʁ wόʔδχΞ෦ VTFBTU Ͱ"$.ূ໌ॻൃߦͯ͠ "1*(BUFXBZίϯιʔϧͰΧελϜυϝΠϯ໊Λઃఆͨ͠Β Τοδ࠷దԽͷΧελϜυϝΠϯ͕͑·͢ɻ
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/how-to-edge-optimized-custom-domain-name.html
ΧελϜυϝΠϯͰෳͷ"1*͑Δʁ wϕʔεύεϚοϐϯάͷઃఆΛͨ͠Β͑·͢ɻ wIUUQTCBDLMPHTVQQPSUDMBTTNFUIPEJOGPEFW wIUUQTCBDLMPHTVQQPSUDMBTTNFUIPEJOGPDN
ϝϞϦׂͯྔͷݟੵΓͲ͏ͯ͠Δʁ w$MPVE8BUDI-PHT*OTJHIUTͰ3&1035Λ֬ೝ https://medium.com/foxintelligence-inside/how-we-reduced-lambda-functions-costs-by-thousands-of-dollars-8279b0a69931
։ൃ࣌ʹૺ۰ͨ͠Τϥʔͱରॲ๏
։ൃ࣌ʹૺ۰ͨ͠Τϥʔͱରॲ๏ w$MJFOU&SSPS wكʹ-BNCEB͕JOWPLF͞Εͳ͍
$MJFOU&SSPS wࣄɿ w;FOEFTL"1*ίʔϧ࣌ʹ$MJFOU&SSPS͕ൃੜ w%FWڥͰԿճ͔ൃੜʢ1SPEڥͰҰ͚ͩൃੜ͍ͯͨ͠ʣ w۩ମతʹɺҎԼͷΤϥʔϝοηʔδͱڞʹ"1*$BMM͕ࣦഊ͢Δ wSFRVFTUTFYDFQUJPOT)551&SSPS$MJFOU&SSPS 'PSCJEEFOGPSVSM
IUUQTTVCEPNBJO[FOEFTLDPNBQJWUJDLFUTKTPO
$MJFOU&SSPS wݪҼɿ w;FOEFTLɺαʔυύʔςΟͷεύϜϑΟϧλʔΛ ར༻͓ͯ͠ΓCBESFQVUBUJPOͱผ͞Εͨ*1ΞυϨε͔Βͷ ΞΫηεڐՄ͞Ε͍ͯͳ͔ͬͨ w-BNCEBʹׂͯΒΕΔάϩʔόϧ*1ɺෆఆ
$MJFOU&SSPS wରॲ๏ɿ w71$-BNCEBԽ w/"5(BUFXBZ&MBTUJD*1ʹΑΔάϩʔόϧ*1ͷݻఆ wTFSWFSMFTTZNM
كʹ-BNCEB͕JOWPLF͞Εͳ͍ wࣄɿ w8FCIPPLΠϕϯτͷϦΫΤετ"1*(BUFXBZʹ౸ୡͯͨ͠ w"1*(BUFXBZͰ99&SSPSͷهΛ؍ଌ w-BNCEB͕JOWPLF͞Εͨܗͳ͠ wݪҼɿ wෆ໌ wࢀߟใʣ"1*(BUFXBZͷ99&SSPSൃੜස͕গͳ͚Εɺ
ʢҰ࣌తͳΤϥʔͰ͋Δ߹ʣϦτϥΠਪͷΑ͏Ͱ͢
كʹ-BNCEB͕JOWPLF͞Εͳ͍ w՝ɿ w#BDLMPHͷ৽نطଘ՝ͷߋ৽ʹؾ͚ͳ͍ wରԠ͕ΕΔͷͰαϙʔτ࣭͕ѱԽ͢Δʢக໋తʣ wఆ͞ΕΔൃੜύλʔϯ w৽نͷ#BDLMPH՝͕ސ٬ʹΑΓ࡞͞Εͨύλʔϯ wطଘͷ#BDLMPH՝Λސ٬͕ߋ৽ͨ͠ύλʔϯ wˠࣄൃੜ࣌ʹαϙʔτϝϯόʔ͕ؾͨ͘ΊͷΈ͕ඞཁ
৽نͷ#BDLMPH՝͕ސ٬ʹΑΓ࡞͞Εͨύλʔϯ wରॲ๏ɿ wִ࣌ؒؒʹ࣮ߦ͞ΕΔόονδϣϒΛՃͰ։ൃ w#BDLMPH"1*ͰҎԼͷ՝Λநग़ w୲ऀ͕$.ΦϖϢʔβʔ wεςʔλε͕ະରԠ w%ZOBNP%#ςʔϒϧʹΞΠςϜͷొ༗ແΛνΣοΫ wΞΠςϜ͕ొ͞Ε͍ͯͳ͍߹ʹɺ4MBDL௨͢Δ
طଘͷ#BDLMPH՝Λސ٬͕ߋ৽ͨ͠ύλʔϯ wରॲ๏ɿ w;FOEFTLࣗಈԽͷΈͰରԠ͢Δ wอཹεςʔλεมߋdޙʹɺڧ੍తʹεςʔλεมߋ͢Δ wཧ༝ͱͯ͠ɺεςʔλεͷᴥᴪ͕ൃੜ͍ͯ͠ΔͨΊ w#BDLMPH՝ɿॲཧࡁΈˠະରԠ w;FOEFTLνέοτɿอཹதͷ··ʢຊˠΦʔϓϯʣ
·ͱΊ
·ͱΊ wখ͘͞5SZ͢Δࡍɺ༷ػೳཁ݅ΛϛχϚϜʹ͢Δ͜ͱ wͪΐͬͱͨ͠αʔϏεͰ͋ΕɺαʔόʔϨε૬ੑྑ͠ wϓϩτλΠϓنͷখ͍͞αʔϏεΛ։ൃ͢Δࡍɺ ·ͣϑϧϚωʔδυαʔϏεߏΛݕ౼ͯ͠ཉ͍͠ w"1*(BUFXBZ -BNCEB
%ZOBNP%# wࣾվળɺͪΐͬͱͨ͠ΞΠσΞͱগ͠ͷίʔυͰ࣮ݱͰ͖Δ w͘͠ߟ͑ͣʹɺ·ͣ5SZʂ
Let’s enjoy Serverless !!
None