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
月額10円から作るServerless Website〜Azure編〜/serverlessf...
Search
Kunihiro Morita
August 25, 2017
Technology
8
17k
月額10円から作るServerless Website〜Azure編〜/serverlessfukuoka-20170825
2017/8/25 Serverless Meetup Fukuoka #1 の資料です。
https://serverless.connpass.com/event/62473/
Kunihiro Morita
August 25, 2017
Tweet
Share
More Decks by Kunihiro Morita
See All by Kunihiro Morita
絵で覚える AWS 全 (?) サービス入門 〜 できるAWSカルタ 〜/jawsug-20191019
morita92hiro
1
2.4k
決戦用MSセンチネル/alterbooth-20190606
morita92hiro
1
280
勝手にAlibaba Cloud White Beltシリーズ Elastic Compute Service(ECS)/alieaters-20190301
morita92hiro
0
430
夏休みで差がつく!Ansible/ansiblejp-20180803
morita92hiro
2
2.7k
希望のRancher〜コンテナをアウフヘーベン〜/ranchermeetup-20171006
morita92hiro
0
330
いまからDockerで始めるGitLab CE/gitlabjp-20170919
morita92hiro
1
1.4k
コンテナ運用いきのこるには/ranchermeetup-20170807
morita92hiro
1
610
AWS Summit Tokyoをお探しですか?/jawsug-20170713
morita92hiro
0
200
ブラウザだけでインフラ操作?〜これさえあれば、何もいらない。〜/fukuazu-20170622
morita92hiro
1
940
Other Decks in Technology
See All in Technology
從開發到架構設計的可觀測性實踐
philipz
0
220
Ретроспективный взгляд на Vue 3. Даша Сабурова, Vue-разработчик Lamoda Tech
lamodatech
0
860
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.1k
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
8
5.4k
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
340
Flutterアプリを⾃然⾔語で操作する
yukisakai1225
0
230
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
8
2.2k
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.5k
Amazon DevOps Guru のベースラインを整備して1ヶ月ほど運用してみた #jawsug_asa / Amazon DevOps Guru trial
masahirokawahara
3
240
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
5
560
ハッカー視点で学ぶサイバー攻撃と防御の基本
nomizone
1
1.4k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Code Review Best Practice
trishagee
68
18k
It's Worth the Effort
3n
184
28k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Transcript
ֹ݄10ԁ͔Β࡞Δ Serverless Website ʙAzureฤʙ #serverlessfukuoka 2017/8/25 Serverless Meetup Fukuoka #1
1
AWSฤ(2016/3/21)1 1 https://speakerdeck.com/morita92hiro/yue-e-10yuan-karazuo-ruserverless-website 2017/8/25 Serverless Meetup Fukuoka #1 2
ా༟ גࣜձࣾΦϧλʔϒʔε ιϦϡʔγϣϯΞʔΩςΫτ @morita92hiro http://hawaku.hateblo.jp 2017/8/25 Serverless Meetup Fukuoka #1
3
ʮ1܅ɺLPαΠτ࡞ͬ ͯɻCMS͍Βͳ͍ɻʯ 2017/8/25 Serverless Meetup Fukuoka #1 4
>>1ʮWeb Appsͷग़൪ʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 5
Web Apps • WebαΠτɺWebΞϓϦͷϗετʹ࠷దԽͨ͠αʔϏε • ߴՄ༻ੑɺCI/CD • αΠτ٧Ί์ 2017/8/25 Serverless
Meetup Fukuoka #1 6
ʮ1܅ɺ͓͍߹Θͤϖʔδ࡞ͬͯʯ >>1ʮ͋ͬɺ͍ʯ 2017/8/25 Serverless Meetup Fukuoka #1 7
Web Apps • ASP.NETɺNode.jsɺJavaɺPHPɺPython • on Linux(preview) • Node.jsɺPHPɺ.NET CoreɺRubyɺDocker
2017/8/25 Serverless Meetup Fukuoka #1 8
ʮ1܅ɺHTTPSԽΑΖʯ 2017/8/25 Serverless Meetup Fukuoka #1 9
HTTPSԽ • SSLΛߪೖͯ͠ಋೖ • ֦ுػೳͱͯ͠Let's Encrypt͕͑Δ 2017/8/25 Serverless Meetup Fukuoka
#1 10
>>1ʮWebαΠτʹ Web App࠷ద͊… ( ˘ω˘)ţźōʯ 2017/8/25 Serverless Meetup Fukuoka #1
11
ʮ1܅ɺྉ͕ۚɻ10ԁͲ ͍ͬͨ͜ʁʯ 2017/8/25 Serverless Meetup Fukuoka #1 12
>>1ʮWeb App Freeϓ ϥϯʹมߋʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 13
>>1ʮFreeϓϥϯΧελϜυϝΠϯ͑ͳ͍ɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 14
>>1ʮCDNೖΕͯΧελ ϜυϝΠϯׂΓͯʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 15
Azure CDN • ίϯςϯπσϦόϦʔαʔϏε • GzipѹॖػೳͰ͞Βʹߴɺసૹίετݮʂ 2017/8/25 Serverless Meetup Fukuoka
#1 16
>>1ʮ͋ɺSSLূ໌ॻɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 17
>>1ʮങͬͯΒ͓͏ʯ • Let's Encryptͷূ໌ॻAzure CDNͰ(ͨͿΜ)͑Δ • Let's Encryptͷূ໌ॻ3ϲ݄ظݶ • ࣗಈߋ৽ͷΈΛ࡞ΔΑΓങ͏΄͏͕͍҆ʢʼߪೖʣ
• DVূ໌ॻͳΒ1,000ԁ/લޙ͔ΒߪೖՄೳ • AWS Certificate Manager(ACM)͕Azureʹɾɾɾ|дƅ)ŧŽŕ 2017/8/25 Serverless Meetup Fukuoka #1 18
ొஃޙهʢగਖ਼ʣ Azure CDNʹHTTPS͕؆୯ʹ͑Δػೳ͕͋Γ·ͨ͠ɻ • Azure CDN ΧελϜ υϝΠϯͷ HTTPS ͷ༗ޮԽ
https://docs.microsoft.com/ja-jp/azure/cdn/cdn-custom-ssl 2017/8/25 Serverless Meetup Fukuoka #1 19
தؒ·ͱΊ • 10ԁ/݄͙Β͍ʁ+SSLূ໌ॻ(Web Appແྉϓϥϯ) • 1,000ԁ/݄͙Β͍ʁ(Web App༗ྉϓϥϯ)ɻαΠτ٧Ί์ 2017/8/25 Serverless Meetup
Fukuoka #1 20
ʮ1܅ɺ͜ΕαʔόʔϨεͳͷʁʯ >>1ʮPaaSͰ͢ʯ 2017/8/25 Serverless Meetup Fukuoka #1 21
αʔόʔϨεͱ2 ऍᷟʹઆ๏Ͱ͕͢… αʔόʔϨεɺαʔόʔ͕ͳ͍͜ͱΛࣔ͢Θ͚Ͱͳ͘ɺ։ ൃऀ͕αʔόʔʹ͍ͭͯ৺͢Δඞཁ͕ͳ͍͜ͱΛ͍ࣔͯ͠Δ ͚ͩͰ͢ɻ ैདྷͷΞϓϦέʔγϣϯ։ൃͷେ͖ͳ෦ɺΞϓ ϦέʔγϣϯͷཁٻΛຬͨͨ͢ΊͷιϦϡʔγϣϯͷεέʔϦ ϯάɺϗεςΟϯάɺࢹʹؔ͢Δ࣭ʹ͑Δͱ͜Ζʹ͋Γ· 2 https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-serverless-overview
2017/8/25 Serverless Meetup Fukuoka #1 22
>>1ʮมߋʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 23
>>1ʮBLOB͏Αʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 24
Azure Blob Storage • ΦϒδΣΫτετϨʔδ • ؆қ੩తαΠτ • ੑ(LRS/GRS/RA-GRS) 2017/8/25
Serverless Meetup Fukuoka #1 25
>>1ʮindex.htmlະରԠɾɾɾʯ http://example.com/ͷΞΫηεͰindex.htmlΛදࣔͯ͘͠Εͳ͍ 2017/8/25 Serverless Meetup Fukuoka #1 26
>>1ʮCDNೖΕΔʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 27
Azure CDN Rules Engine3 • HTTPཁٻͷॲཧํ๏ΛΧελϚΠζՄೳ • ReWrite RuleͰindex.htmlରԠ5 5
https://stackoverflow.com/questions/37368829/azure-cdn-rules-engine-to-rewrite-default-document-and-remove-html- extension 3 https://docs.microsoft.com/ja-jp/azure/cdn/cdn-rules-engine 2017/8/25 Serverless Meetup Fukuoka #1 28
>>1ʮ͋ͬɺ͓͍߹Θ ͤϖʔδ!ʯ 2017/8/25 Serverless Meetup Fukuoka #1 29
>>ʮJSͰBLOBʹPOST͓͍ͯ͠߹ Θͤσʔλஔ͍ͯɺʯ 2017/8/25 Serverless Meetup Fukuoka #1 30
>>1ʮJS͕BLOBͷॻ͖ࠐΈݖݶඞ ཁ͠ɺJSʹೝূใΛॻ͖ࠐΉͷ ɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 31
>>1ʮ͍ࣺͯͳೝূใΛऔಘͰ͖ Εɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 32
>>1ʮSASͱAzure Functionʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 33
Shared Access Signatures(SAS) • ະೝূήετʹॻ͖ࠐΈݖݶ • Ұ࣌తͳೝূใΛൃߦ • SAS TokenAzure
Functionܦ༝Ͱऔಘ 2017/8/25 Serverless Meetup Fukuoka #1 34
Azure Function • ΠϕϯττϦΨʔͰىಈ • C#ɺF#ɺNode.jsɺPythonɺPHPɺBatchɺBash͕͑Δ • ͓͍߹Θ͕ͤདྷͨΒඞཁͳ௨ઌ 2017/8/25 Serverless
Meetup Fukuoka #1 35
ิ • ͓͍߹Θͤσʔλஔ͖ʹCORSઃఆ • POST߈ܸ͞Εͨ͘ͳ͍ͷͰ͔ͬ͠Γ੍ݶ! 2017/8/25 Serverless Meetup Fukuoka #1
36
>>1ʮͰ௨ʹඞཁͳೝূใΛ FunctionʹຒΊࠐΈͨ͘ͳ͍ɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 37
>>1ʮThe Twelve-Factor Appʯ4 4 https://12factor.net/ja/ 2017/8/25 Serverless Meetup Fukuoka #1
38
3ষ ઃఆ4 ઃఆΛڥมʹ֨ೲ͢Δ ΞϓϦέʔγϣϯ࣌ʹઃఆΛఆͱͯ͠ίʔυʹ֨ೲ͢ Δɻ͜ΕTwelve-Factorʹҧ͍ͯ͠ΔɻTwelve-Factor ઃఆ Λίʔυ͔Βݫີʹ͢Δ͜ͱ Λཁٻ͢ΔɻઃఆσϓϩΠ ͝ͱʹେ͖͘ҟͳΔ͕ɺίʔυͦ͏Ͱͳ͍ɻ 4
https://12factor.net/ja/ 2017/8/25 Serverless Meetup Fukuoka #1 39
>>1ʮAzure FunctionͷڥมΛ͏Αʯ 2017/8/25 Serverless Meetup Fukuoka #1 40
தؒ·ͱΊ • 10ԁ/݄͙Β͍ʁʴSSLূ໌ॻ 2017/8/25 Serverless Meetup Fukuoka #1 41
ʮ1܅ɺ࣌ػցֶशʯ 2017/8/25 Serverless Meetup Fukuoka #1 42
>>1ʮɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 43
>>1ʮCognitive Services!ʯ 2017/8/25 Serverless Meetup Fukuoka #1 44
Cognitive Services • REST APIͷαʔϏε܈ • ײݕग़ɺࢹ֮ೝࣝɺԻೝࣝɺݴޠཧղͳͲࢁ • ػցֶशͷ͕ࣝͳͯ͑͘Δ 2017/8/25
Serverless Meetup Fukuoka #1 45
Մೳੑ∞ • ࠓճͷέʔεͩͱ͓͍߹Θͤ༰Ληϯνϝϯτੳͱ͔ • ը૾ΛPOSTग़དྷΔΑ͏ʹͯ͠ըղੳͱ͔ 2017/8/25 Serverless Meetup Fukuoka #1
46
ͪͳΈʹ 2017/8/25 Serverless Meetup Fukuoka #1 47
Azure FunctionʹPOSTύλʔϯ • Funtion࣮ߦ࣌ؒ57 • ͍λεΫQueueΛڬΜͰϐλίϥ8 8 https://buildazure.com/2017/08/15/scaling-azure-functions-with-durable-functions/ 7 https://buildazure.com/2017/08/17/azure-functions-extend-execution-timeout-past-5-minutes/
2017/8/25 Serverless Meetup Fukuoka #1 48
தؒ·ͱΊ • SAS+Azure Funtion(10ԁ/݄͙Β͍?+SSLূ໌ॻ) • Azure FunctionPOST(10ԁ/݄͙Β͍?+SSLূ໌ॻ) 2017/8/25 Serverless Meetup
Fukuoka #1 49
>>1ʮͦ͏ͩʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 50
>>1ʮαʔόʔϨείʔυϨεʹ͠Α͏ʯ 2017/8/25 Serverless Meetup Fukuoka #1 51
>>1ʮLogic Appsʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 52
Logic Apps • IFTTTmyThingsɺMS FlowΈ͍ͨͳͭ • ը໘ϙνϙνͰઃఆɻInfrastructure as CodeͰཧՄೳ •
ߴͳ͜ͱΛ͍ͨ͠ͱ͖Azure FunctionͱΈ߹ΘͤΔ 2017/8/25 Serverless Meetup Fukuoka #1 53
>>1ʮLogic AppsͷWebhookʹ CORSઃఆͰ͖ͳ͍ɾɾɾʯ 2017/8/25 Serverless Meetup Fukuoka #1 54
>>1ʮAzure Function ProxyڬΉʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 55
Azure Function Proxy • ΤϯυϙΠϯτڞ௨Խ • API ManagementΑΓϥΠτʹ͑Δ(Β͍͠) • CORSઃఆͰ͖Δ(ࠓճ͜Ε͕త)
2017/8/25 Serverless Meetup Fukuoka #1 56
ิࢿྉ FlowɺLogic AppsɺFunctionsɺWebJobsͷൺֱ9 de:code 2017ͰAzure FunctionsͱLogic AppsͷΛ͖ͯͨ͠10 Azure App ServiceɺVirtual
MachinesɺService FabricɺCloud Servicesͷൺֱ11 11 https://docs.microsoft.com/ja-jp/azure/app-service-web/choose-web-site-cloud-service-vm 10 http://yoshidashingo.hatenablog.com/entry/2017/06/17/112504 9 https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjobs 2017/8/25 Serverless Meetup Fukuoka #1 57
>>1ʮ৽αʔϏεʂʯ 2017/8/25 Serverless Meetup Fukuoka #1 58
Event Grid6 • 8/17ੜ • preview • αʔόʔϨεΞϓϦέγϣϯ։ൃ • OpsࣗಈԽ
ࠓޙAzureͷαʔόϨεΞʔΩςΫνϟ ͷத৺ʹͳ͍ͬͯ͘ʁ 6 https://docs.microsoft.com/en-us/azure/event-grid/overview 2017/8/25 Serverless Meetup Fukuoka #1 59
Azure Container Instance • ίϯςφͷϑϧϚωʔδυαʔϏε • FaaSͷಈ࡞ڥͱͯ͠ • kubernetesͷԾϊʔυͱͯ͠ར༻Մ •
preview 2017/8/25 Serverless Meetup Fukuoka #1 60
·ͱΊ • Web Appsύλʔϯ(ิ:CognitiveՃͰར༻Մೳ) • Blobύλʔϯ 2017/8/25 Serverless Meetup Fukuoka
#1 61
ServerlessPaaS࠷దʹ࣮ݱͰ͖ Δग़དྷΔͳΒͲͪΒͰ(ɾ˲ɾ)ŘŘ!! 2017/8/25 Serverless Meetup Fukuoka #1 62
σϞ Logic Apps+Cognitive Services 2017/8/25 Serverless Meetup Fukuoka #1 63
͓ΘΓ 2017/8/25 Serverless Meetup Fukuoka #1 64