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
cloudugnight2nd-20240531
Search
Hirono Baba
May 31, 2024
Technology
440
1
Share
cloudugnight2nd-20240531
Hirono Baba
May 31, 2024
More Decks by Hirono Baba
See All by Hirono Baba
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
340
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
220
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
440
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
210
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
970
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
nina01
1
1.4k
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
1k
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.4k
Other Decks in Technology
See All in Technology
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
1
760
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
1k
LookerとADKで作る社内AIエージェント
chanyou0311
0
260
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
1
130
20260516_SecJAWS_Days
takuyay0ne
2
460
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
React Compiler導入の効果と運用の工夫
kakehashi
PRO
3
260
M&Aで増え続けるプロダクトに少数QAはどう立ち向かうか─GENDAが挑む、全員で取り組む品質標準化戦略 / GENDA Tech Talk #4
genda
0
130
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
250
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
250
Loadbalancing exporter internals
ymotongpoo
1
100
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
120
Featured
See All Featured
Everyday Curiosity
cassininazir
0
210
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
310
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
A better future with KSS
kneath
240
18k
Transcript
Azure Functionsの最新アップデート をチェックしてみる 2024/5/31 福岡クラウドUG Night 2nd 馬場ひろの Hirono Baba
スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ JAZUG福岡 ◼ ex 歯科医師
◼ AzureやGitHub, .NETがんばってます @nina-sensei
JAZUG(Japan Azure User Group) ◼ JAZUG(通称:ジャズ、ジャズユージ―) ◼ JAZUGは、Microsoft Azureを学び、楽しみ、活かすユーザーグループ ◼
https://jazug.connpass.com/ ◼ 福岡支部は「ふくあず」 ◼ JAZUG for Women ◼ 女性エンジニアが主役のAzure勉強会 ◼ 現地会場は、女性のみ参加が可能(オンラインは誰でも視聴可能)
コミュニティ活動 ◼ 最近の活動 ◼ 4/20(土):Global Azure in Fukuoka ◼ 世界中のAzureコミュニティが3日間にわたり一斉に開催するイベント
◼ 初めて福岡で開催しました!(日本は東京、北海道、福岡で同時開催) ◼ 直近のイベント ◼ 6/14(金):第3回 JAZUG for Women ◼ オンサイト(東京)、オンラインのハイブリッド開催 ◼ Azure Travelers ◼ 日本各地を回るAzureのコミュニティイベント ◼ 10月に福岡で開催決定!
発表内容について ◼ 今日話すこと ◼ Azure Functionsのアップデート ◼ Flex consumptionについて ◼
OpenAIバインド機能について ◼ 目的 ◼ 2024年5月現在のAzure Functionsの最新アップデートをキャッチアップすること ◼ 対象者 ◼ クラウド初~中級者向け ◼ サーバーレス好きな人
Azure ◼ Microsoft Azureについて ◼ Microsoftが提供するクラウドコンピューティングサービス ◼ サービスの種類 ◼ IaaS,
PaaS, SaaS等 ◼ エンタープライズ向けのサポート ◼ Microsoft365などのMicrosoft製品とスムーズな統合 ◼ 200以上のサービスが展開されている
Microsoft Build 2024 ◼ Microsoft Build とは( 5/21‐23 ) ◼
Microsoftが年に一度開催する開発者向けのカンファレンス ◼ Microsoft Build Japan(6/27‐28) ◼ 今年もたくさんのアップデートがありました! ◼ GPT-4oがAzure OpenAI Service上でGA ◼ GitHub Copilot Workspace:Private Preview ◼ GitHub Copilot for Azure:Public Preview などなど… ◼ アップデートはBook of Newsから見ることができます https://news.microsoft.com/build-2024-book-of-news/ja/
Azure Functions推しです ◼ Azure Functionsとは ◼ イベントをトリガーとしてプログラムを実行するAzureのサービス ◼ HTTP, Timer,
Queue, その他Azureのサービスをトリガーとすることができる ◼ サーバーレスコンピューティングプラットフォーム ◼ 関数1つからデプロイ可能 ◼ 様々な言語をサポート ◼ C#, JavaScript, Java, PowerShell, Python, TypeScript ◼ 低価格で試すことができる ◼ バインド機能あり
Azure Functionsのアップデートたち ◼ Azure Functions が Azure Container Apps で利用可能に
◼ Azure Functions の Azure SQL トリガー サポート ◼ Azure Functions による Node.js での HTTP ストリームのサポート ◼ Dapr 用の Azure Functions 拡張機能 ◼ Azure Event Grid テンプレートと VS Code 統合を備えた Blob トリガーが利用可能 ◼ Flex Consumptionプランの登場 ◼ OpenAI 向け Azure Functions 拡張機能 ◼ Python での Azure Functions を使用した Azure Blob Storage の SDK 型バインディング ◼ Azure Functions による Python での HTTP ストリームのサポート ◼ Azure Load Testing と Azure Functions の統合 GA Public Preview
Flex consumption
サーバーレスコールドスタートを理解する ◼ コールドスタートとは ◼ 使用されていないアプリケーションの起動に時間がかかる現象 ◼ 一定時間アイドル状態だとインスタンスが落とされる ◼ Azure Functionsが実行されるまで
容量のあるサーバー にアプリケーション を割り当てる Functionsランタイ ムを設定する Functionsランタイ ムをリセット Functionsをメモリ にロードする コードが実行される ファイルをマウント App settingの適応 設定ファイルロード 拡張機能のロード
コールドスタートを回避するには ◼ 回避するためにできること ◼ GAされている(サポートされている)言語を使用する ◼ 軽量なコードを書く ◼ 依存関係に注意、効率的なコードを書く ◼
従量課金以外のプランを検討 ◼ Premiumプラン、App Serviceプランはプレウォーミングでき、事前にサーバーを温めておくこ とで回避できる Azure Functionsのプラン ◼ 従量課金プラン ◼ Premiumプラン ◼ App Service(専用)プラン しかしこれらのプランは料金が高いのがネック
新しいプランが登場 ◼ Flex Consumptionプラン ◼ Linuxベースのホスティングプラン ◼ 仮想ネットワークの統合 ◼ スケールの柔軟性
◼ インスタンス、メモリ サイズなどの複数の選択肢 ◼ インスタンスごとの同時実行 ◼ 関数ごとのスケーリング ◼ 常時使用可能なインスタンス Legionという バックエンドのおかげ 機能 従量課金プラン Flex Consumption プラン ゼロにスケール ◦ ◦ スケーリングの動作 イベントドリブン イベントドリブン (高速) 仮想ネットワーク ✕ ◦ コールドスタートの軽減 ✕ ◦ 料金 実行時間のみ 実行時間と常時使用 可能なインスタンス スケールアウト(最大) 200 1000
OpenAIバインド機能
Azure OpenAI Serviceとは ◼ OpenAI社が開発したAIモデルをAzure上で利用できるサービス ◼ GPT-4o, GPT-4 Turbo, GPT-4,
GPT-3.5, Embeddings, DALL-E, Whisper, Text to speech(Preview)
バインド機能まとめ ◼ 少ないコードで他のサービスに接続するための方法 Blob Storage Azure Cosmos DB Azure SQL
Dapr Event Grid HTTP と Webhook IoT Hub Kafka Mobile Apps Notification Hubs Queue Storage Redis RabbitMQ SendGrid Service Bus SignalR Table Storage Timer Twillio
Functionsのバインドってこんなの ◼ コード例 Azure Blobの入力バインディング Azure SQL Databaseの入力バインディング
現在開発されているバインド機能 ◼ Text completions ◼ テキスト補完、任意のテキストの続きを生成してくれる ◼ Assistants ◼ チャットボットをベースに、アシスタントの役割を担ってくれる
◼ Embeddings generators ◼ テキスト文字列の関連性をベクトル化し測定してくれる ◼ Semantic search ◼ 出力バインディング:ベクトルデータベースにドキュメントをインポート ◼ 入力バインディング:データベース内のドキュメントにクエリを発行
準備 ◼ NuGet Packagesをインス トールする ◼ Azure OpenAI Serviceのリ ソースを作成
◼ AZURE_OPENAI_KEY と AZURE_OPENAI_ENDPOINT をlocal.settings.jsonに設定 ◼ 実行環境 ◼ Visual Studio 2022 ◼ .NET6.0(In-Processモデル) ◼ Azure Functions Core Tools v4.x
AOAIの設定 ◼ リソースからキーとエンドポイントを取得 ◼ Azure OpenAI Studioでモデルのデプロイを忘れずに
Text Completions ◼ プロンプトとモデルは必須 ◼ Temperature, TopP, MaxTokenを指定可能 ◼ 自分でAPIを呼び出すより
◼ 少ないコードで実装できる ◼ 簡単に実装可能 ◼ カスタマイズ性は乏しい プロンプト
メリットデメリットを考えてみた ◼ Azure OpenAIをAPIで呼び出した場合と比較して ◼ メリット ◼ 少ないコードで実装できる ◼ あらかじめエラーハンドリングしてくれている
◼ 他のAzureサービスと統合しやすくなる ◼ デメリット ◼ カスタマイズ性に欠ける ◼ APIリクエストの内容やエラーハンドリングなど自由に設計できない
Azure Functionsを用いて開発をしてます ◼ Azure Functions × Azure Static Web Apps
× Azure OpenAI Serviceで犬用アプリを開発してます(家庭で運用中) ◼ 先月のGlabal Azure in Fukuokaで発表しました ◼ このアプリでもバインド機能を 使ってAOAI呼び出してみたい と思います ◼ ご清聴ありがとうございました