Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
by
Hirono Baba
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Azure Functionsを サクッと開発、サクッとデプロイ 2023/1/21 VS Code Conference Japan 2022 - 2023 馬場ひろの Hirono Baba
Slide 2
Slide 2 text
スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ ex歯医者さん ◼ 福岡から来ました ◼ 認定スクラムマスター ◼ Azureや .NETがんばってます @nina-sensei
Slide 3
Slide 3 text
アジェンダ ◼ 今日話すこと ◼ Azure Functionsについて ◼ Azure FunctionsのDev Containers ◼ Azure Static Web AppsのDev Containers ◼ 対象者 ◼ ビギナー向け ◼ これからクラウド勉強する方 ◼ ローカルでAzure Functions動かしている方
Slide 4
Slide 4 text
Azure FunctionsとAzure Static Web Apps ◼ 業務で使うこともありプライベートでもAzureを使うように ◼ 推しはAzure FunctionsとAzure Static Web Apps ◼ MVCのフレームワークをよく使っていた → 個人開発とかいろいろ試す時はAzure Functionsほぼ一択に …
Slide 5
Slide 5 text
Azure Functionsが推しです ◼ 名前の通り、関数ひとつからデプロイできる ◼ 0円から始めることができる ◼ トリガーについて ◼ Http, Que, Time, EventGrid ◼ バインド機能がはかどる ◼ DBやストレージなど、他のサービスと簡単につなげる Azure Static Web Appsと合わせて使うと簡単にバックエンド付きのアプリに!
Slide 6
Slide 6 text
Dockerがあれば使えるDev Containers ◼ Azure FunctionsをDev Containersで動かすに至った理由 ◼ 少し前に作ったコード:`func start` で起動できない…! ◼ 原因 → .NETのバージョン違った ◼ 同じタイミングでNode.jsでAzure Functions作る機会があった ◼ バージョン管理等めんどくさい!ということでDev Containersで環境構築! × /codespaces GitHub Codespaces 無料枠:60時間/月 https://github.com/features/codespaces
Slide 7
Slide 7 text
Dev ContainersでAzure Functions ◼ コマンドパレット→Add Dev Container Configuration Files Show All Definitions… →Azure Functionsと入力 ◼ C# ◼ JavaScript ◼ Java ◼ PowerShell ◼ Python ◼ TypeScript ◼ F#
Slide 8
Slide 8 text
devcontainer.jsonの中身 ◼ 左下の><マーク → Reopen in Container でDev Containersが立ち上がる > < root/ ├── .devcontainer │ ├── devcontainer.json │ └── Docekerfile
Slide 9
Slide 9 text
Dev Containersで立ち上がった環境 ◼ .NET6.0とAzure Functions Core Toolsが使える環境ができあがり 初回のみ環境が立ち上がるまで 時間がかかる可能性あり!
Slide 10
Slide 10 text
GitHub Actionsでデプロイしよう ◼ プロジェクトができた時点でデプロイする→あとから楽 root/ ├── .github │ └── workflow │ └── XXX.yml CI/CD含めた環境構築は たったこれだけ 30分かからず終わる!
Slide 11
Slide 11 text
Azure Static Web Appsについて ◼ 静的アプリをデプロイできる ├── .github │ └── workflows │ └── XXX.yml │ ├── api │ ├── message │ │ ├── function.json │ │ └── index.js │ ├── host.json │ ├── local.settings.json │ └── package.json │ └── app └── index.html API Azure Static Web Apps AzureFunctions AzureFunctions Free Standard ◼ Key Vault ◼ Durable Functions ◼ マネージドID ◼ HTTP以外のトリガー など
Slide 12
Slide 12 text
Azure Static Web AppsのDev Containers起動 ◼ Static Web Apps CLIが使えるNode.jsのFunctionsが立ち上がる /api/message の API を 呼び出すサンプルアプリ
Slide 13
Slide 13 text
Azure Static Web AppsもGitHub Actionsで ◼ Azure Static Web Appsはリソース作成時にCI/CDを構築できる GitHubやAzure DevOpsから デプロイ可能
Slide 14
Slide 14 text
まとめ ◼ Dev Containersいいぞ ◼ サクッと環境構築 ◼ コードを書く時間を確保できる ◼ AzureとGitHubでかんたん自動化 ◼ サクッとCI/CD組める ◼ あとからデプロイで悩まない
Slide 15
Slide 15 text
参考 ◼ Dev Containers https://code.visualstudio.com/docs/devcontainers/containers ◼ Azure Functions でのトリガーとバインドの概念 https://learn.microsoft.com/ja-jp/azure/azure-functions/functions- triggers-bindings?tabs=csharp ◼ Azure でコマンド ラインから C# 関数を作成する https://learn.microsoft.com/ja-JP/azure/azure-functions/create-first- function-cli-csharp?tabs=azure-cli%2Cin-process ◼ Azure Functions による Azure Static Web Apps での API のサポート https://learn.microsoft.com/ja-jp/azure/static-web-apps/apis-functions