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
2k
チームの課題をサーバーレスで解決 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.1k
higobashi.aws 第1回 AWS re:Invent 2017 報告会 AWS Fargate と ECS タスクネットワークのご紹介
yuji_shimoda
0
1.1k
Other Decks in Technology
See All in Technology
Nonaka Sensei
kawaguti
PRO
3
680
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
290
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
200
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
390
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.6k
Tenstorrent 開発者プログラム
tenstorrent_japan
0
310
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
230
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
160
Model Mondays S2E01: Advanced Reasoning
nitya
0
350
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
300
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
How GitHub (no longer) Works
holman
314
140k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Music & Morning Musume
bryan
46
6.6k
BBQ
matthewcrist
89
9.7k
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