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
AlertForViber_20171207
Search
Shintaro Ikeda
December 07, 2017
Technology
0
220
AlertForViber_20171207
システムアラートをViberというイカしたチャットアプリへ通知するシステムを構築
Shintaro Ikeda
December 07, 2017
Tweet
Share
More Decks by Shintaro Ikeda
See All by Shintaro Ikeda
Difference between Swagger and OpenAPI
momotaro98
0
160
Haskell-Rinko-11
momotaro98
0
43
習慣的にやりたいことを手助けしてくれるLINEボットを作った話
momotaro98
0
63
アウトプット駆動スキルアップ
momotaro98
1
72
マイクロサービスの概要と構築 統合編
momotaro98
0
86
Other Decks in Technology
See All in Technology
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
2
380
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
530
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
7
1.1k
こんな時代だからこそ! 想定しておきたいアクセスキー漏洩後のムーブ
takuyay0ne
4
560
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
300
メタプログラミングRuby問題集の活用
willnet
2
790
探求の技術
azukiazusa1
7
1.8k
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
390
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
640
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
2k
バグと向き合い、仕組みで防ぐ
____rina____
0
260
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
230
Featured
See All Featured
Visualization
eitanlees
150
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Docker and Python
trallard
46
3.6k
Practical Orchestrator
shlominoach
190
11k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Thoughts on Productivity
jonyablonski
73
4.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Transcript
γεςϜΞϥʔτΛ7JCFSͱ͍͏ΠΧͨ͠νϟοτΞϓϦ௨͢Δ %FDUI ಉظ-5ձ 4IJOUBSP*LFEB "MFSUGPS7JCFS
Έͳ͞Μ ΞϥʔτରԠͯ͠·͔͢ʁ
8FIBWFUPDBSSZUIFGVDLJOHDPNQBOZJTTVFEEFWJDF EFTQJUFUIFXFFLFOE
8IBU*EJE
None
None
%FNPOTUSBUJPO
8FDBOOPUJDFTZTUFNBMFSUTWJB7JCFS All new systems are on Microsoft Azure DNS zone
SendGrid Functions Utilize APIs of Viber
ᶗ*OUFHSBUFFNBJMBOEQPTUUIFDPOUFOU 1. Buy a domain on Azure 2. Configure
DNS records with Azure DNS zone 3. Receive email and WebHook with SendGrid
*XSPUFBOBSUJDMFBCPVUJUPO2JJUB "[VSFͰυϝΠϯΛߪೖͦ͠ͷαϒυϝΠϯѼͷϝʔϧ ༰Λଞॴͷ"1*1045͢Δ
ᶘ4FOEBMFSUTUP7JCFS On Azure Functions 1. Receive WebHook of alert
contents 2. Notify a Viber client by calling Viber APIs (using Viber Bot)
8IBUJT
l"[VSF'VODUJPOTzJTBTFSWFSMFTTQMBUGPSN FaaS (Function-as-a-Service) Solution for easily running small pieces of
code Features Concentration on business app coding Automatic scaling Low cost Connection with various services
"[VSF'VODUJPOWT"84-BNCEB ˞ 'FBUVSFT "[VSF'VODUJPOT "84-BNCEB %FQMPZNFOUT 7JTVBM4UVEJP5FBN4FSWJDFT 0OF%SJWF
-PDBM(JUSFQPTJUPSZ (JU)VC #JUCVDLFU %SPQCPY &YUFSOBMSFQPTJUPSZ 0OMZ;*1VQMPBE 7FSTJPOJOH $MPVE4PVSDFCSBODIUBH 7FSTJPOTBOEBMJBTFT &WFOUESJWFO 5BCMF #MPC &WFOU)VC (FOFSJD 8FC)PPL (JU)VC8FC)PPL 2VFVF )UUQ 4FSWJDF#VT2VFVF 4FSWJDF#VT5PQJD 5JNFSUSJHHFST 4 4/4 4&4 %ZOBNP%# ,JOFTJT $MPVE8BUDI $PHOJUP "1*(BUFXBZ $PEF$PNNJU FUD %FQFOEFODJFT /QN /V(FU %FQMPZNFOU1BDLBHFT 4VQQPSUFE MBOHVBHFT $ +BWB4DSJQU ' 1ZUIPO #BUDI 1)1 1PXFS4IFMM +BWB4DSJQU +BWB $ BOE1ZUIPO ˞݄࣌ࢀߟϦϯΫ
0VSBQQBSDIJUFDUVSFPG"[VSF'VODUJPOT
4PVSDF$PEF IUUQTHJUIVCDPNNPNPUBSP$4IBSQ"MFSU5P7JCFS
%FWFMPQNFOU'FBUVSFT No building in spite of complier language (C#, Java)
pros: Deployment is easy (Merge master branch of repository) cons: Hard to do CI (Unit test when pushing sources) No Web Frameworks pros: Low learning cost cons: Hard to manage the structure of codes
ॴײɾײ ServelessϚΠΫϩαʔϏεಛ༗ͷ͕͋͠͞Γͦ͏ γεςϜ͕େ͖͘ͳͬͨͱ͖ͷFunctionؒͷґଘؔͱ͔ Azureͷϙʔλϧը໘τϩͯ͘͠ΜͲ͍ AWSͷهࣄ͔ͬΓͰAzureͷ͕·ͩগͳ͍ AzureΛ͏͕ϒϩάॻ͍ͨΓ͢ΔจԽ͕ͳ͍Μͩͱࢥ͏
࠷ޙʹ I wrote another article about Functions and Table
Storage on Qiita. Like it! Azure FunctionsͰTable StorageΛCRUD͢Δ·Ͱखॱ