Upgrade to Pro — share decks privately, control downloads, hide ads and more …

cloudugnight2nd-20240531

 cloudugnight2nd-20240531

Hirono Baba

May 31, 2024
Tweet

More Decks by Hirono Baba

Other Decks in Technology

Transcript

  1. JAZUG(Japan Azure User Group) ◼ JAZUG(通称:ジャズ、ジャズユージ―) ◼ JAZUGは、Microsoft Azureを学び、楽しみ、活かすユーザーグループ ◼

    https://jazug.connpass.com/ ◼ 福岡支部は「ふくあず」 ◼ JAZUG for Women ◼ 女性エンジニアが主役のAzure勉強会 ◼ 現地会場は、女性のみ参加が可能(オンラインは誰でも視聴可能)
  2. コミュニティ活動 ◼ 最近の活動 ◼ 4/20(土):Global Azure in Fukuoka ◼ 世界中のAzureコミュニティが3日間にわたり一斉に開催するイベント

    ◼ 初めて福岡で開催しました!(日本は東京、北海道、福岡で同時開催) ◼ 直近のイベント ◼ 6/14(金):第3回 JAZUG for Women ◼ オンサイト(東京)、オンラインのハイブリッド開催 ◼ Azure Travelers ◼ 日本各地を回るAzureのコミュニティイベント ◼ 10月に福岡で開催決定!
  3. 発表内容について ◼ 今日話すこと ◼ Azure Functionsのアップデート ◼ Flex consumptionについて ◼

    OpenAIバインド機能について ◼ 目的 ◼ 2024年5月現在のAzure Functionsの最新アップデートをキャッチアップすること ◼ 対象者 ◼ クラウド初~中級者向け ◼ サーバーレス好きな人
  4. Azure ◼ Microsoft Azureについて ◼ Microsoftが提供するクラウドコンピューティングサービス ◼ サービスの種類 ◼ IaaS,

    PaaS, SaaS等 ◼ エンタープライズ向けのサポート ◼ Microsoft365などのMicrosoft製品とスムーズな統合 ◼ 200以上のサービスが展開されている
  5. 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/
  6. Azure Functions推しです ◼ Azure Functionsとは ◼ イベントをトリガーとしてプログラムを実行するAzureのサービス ◼ HTTP, Timer,

    Queue, その他Azureのサービスをトリガーとすることができる ◼ サーバーレスコンピューティングプラットフォーム ◼ 関数1つからデプロイ可能 ◼ 様々な言語をサポート ◼ C#, JavaScript, Java, PowerShell, Python, TypeScript ◼ 低価格で試すことができる ◼ バインド機能あり
  7. 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
  8. サーバーレスコールドスタートを理解する ◼ コールドスタートとは ◼ 使用されていないアプリケーションの起動に時間がかかる現象 ◼ 一定時間アイドル状態だとインスタンスが落とされる ◼ Azure Functionsが実行されるまで

    容量のあるサーバー にアプリケーション を割り当てる Functionsランタイ ムを設定する Functionsランタイ ムをリセット Functionsをメモリ にロードする コードが実行される ファイルをマウント App settingの適応 設定ファイルロード 拡張機能のロード
  9. コールドスタートを回避するには ◼ 回避するためにできること ◼ GAされている(サポートされている)言語を使用する ◼ 軽量なコードを書く ◼ 依存関係に注意、効率的なコードを書く ◼

    従量課金以外のプランを検討 ◼ Premiumプラン、App Serviceプランはプレウォーミングでき、事前にサーバーを温めておくこ とで回避できる Azure Functionsのプラン ◼ 従量課金プラン ◼ Premiumプラン ◼ App Service(専用)プラン しかしこれらのプランは料金が高いのがネック
  10. 新しいプランが登場 ◼ Flex Consumptionプラン ◼ Linuxベースのホスティングプラン ◼ 仮想ネットワークの統合 ◼ スケールの柔軟性

    ◼ インスタンス、メモリ サイズなどの複数の選択肢 ◼ インスタンスごとの同時実行 ◼ 関数ごとのスケーリング ◼ 常時使用可能なインスタンス Legionという バックエンドのおかげ 機能 従量課金プラン Flex Consumption プラン ゼロにスケール ◦ ◦ スケーリングの動作 イベントドリブン イベントドリブン (高速) 仮想ネットワーク ✕ ◦ コールドスタートの軽減 ✕ ◦ 料金 実行時間のみ 実行時間と常時使用 可能なインスタンス スケールアウト(最大) 200 1000
  11. バインド機能まとめ ◼ 少ないコードで他のサービスに接続するための方法 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
  12. 現在開発されているバインド機能 ◼ Text completions ◼ テキスト補完、任意のテキストの続きを生成してくれる ◼ Assistants ◼ チャットボットをベースに、アシスタントの役割を担ってくれる

    ◼ Embeddings generators ◼ テキスト文字列の関連性をベクトル化し測定してくれる ◼ Semantic search ◼ 出力バインディング:ベクトルデータベースにドキュメントをインポート ◼ 入力バインディング:データベース内のドキュメントにクエリを発行
  13. 準備 ◼ 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
  14. Text Completions ◼ プロンプトとモデルは必須 ◼ Temperature, TopP, MaxTokenを指定可能 ◼ 自分でAPIを呼び出すより

    ◼ 少ないコードで実装できる ◼ 簡単に実装可能 ◼ カスタマイズ性は乏しい プロンプト
  15. メリットデメリットを考えてみた ◼ Azure OpenAIをAPIで呼び出した場合と比較して ◼ メリット ◼ 少ないコードで実装できる ◼ あらかじめエラーハンドリングしてくれている

    ◼ 他のAzureサービスと統合しやすくなる ◼ デメリット ◼ カスタマイズ性に欠ける ◼ APIリクエストの内容やエラーハンドリングなど自由に設計できない
  16. Azure Functionsを用いて開発をしてます ◼ Azure Functions × Azure Static Web Apps

    × Azure OpenAI Serviceで犬用アプリを開発してます(家庭で運用中) ◼ 先月のGlabal Azure in Fukuokaで発表しました ◼ このアプリでもバインド機能を 使ってAOAI呼び出してみたい と思います ◼ ご清聴ありがとうございました