SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Azureのサーバーレスで限界を超えよう
~スマートスピーカースキル開発を題材に~
平林 拓将(ひらりん)
himarin269 / himanago
Global Azure Bootcamp 2019@Tokyo
2019/4/27
自己紹介
• Name
• 平林 拓将(ひらりん)
• Work
• テクニカルトレーナー/アーキテクト
• Grails/Xamarin/Azure/LINE Bot
• Like
• C# & Microsoft Azure
• LINE関連API
• Social
• Twitter:@himarin269
• GitHub:himanago
• Blog:http://himanago.hatenablog.com/
プロフィール画像迷走中
(Linux使いではありません)
本セッションのゴール
• スマートスピーカーの概要を理解する
• スマートスピーカースキルの一般的な開発方法と注意点を理解する
• Azureを用いたスキル開発手法を知る
• Azureを活用してスマートスピーカースキル開発にチャレンジ!
制約の多いスマートスピーカースキル開発において
Azureがどのように威力を発揮できるかをお話しします
本日お話しすること
① スマートスピーカースキルの概要と得意/苦手分野・開発方法
② Azure Logic Apps による完全ノンコーディング&
クロスプラットフォーム対応スキル開発
③ Azure Functions でのスキル開発とその問題点・克服法
④ Durable Functions でスキルの常識を覆そう!
スマートスピーカーとは
5https://trendy.nikkeibp.co.jp/atcl/column/17/022800073/022800001/
スマートスピーカーとは
6
スマート スピーカー
賢い 音声再生デバイス
AIアシスタント
= =
内蔵されたマイク・スピーカーを通して
AIアシスタントとの音声による対話から
さまざまなことを実現するデバイスのこと
⇒
スマートスピーカーでできること
• 「声」による対話形式での操作
• VUI(Voice User Interface)が中心となるデバイス
• インターネット経由でAIアシスタントを呼び出す
• AIアシスタントにさまざまなことを依頼できる
(天気、アラーム、ラジオ、音楽再生、調べもの、家電操作 など)
• 必要に応じて追加スキルを使用できる
(世界中の開発者が開発しストアに公開している)
7
アレクサ、
いま何時?
18時50分です。
スマートスピーカーとAIアシスタント
メーカー AIアシスタント スマートスピーカー
Alexa Amazon Echo
Amazon Echo Dot
Amazon Echo Plus
Amazon Echo Spot
Amazon Echo Show
Googleアシスタント Google Home
Google Home mini
Google Home Hub(日本未発売)
Clova Clova Wave
Clova Friends
Clova Friends mini
Clova Desk
Apple Siri Apple HomePod(日本未発売)
Cortana Harman Kardon Invoke(日本未発売)
8
ウェイクワード(ホットワード)の違い
• Alexa
• Alexa / Amazon / Echo / コンピューター
• Googleアシスタント
• OK, Google / ねぇGoogle
• Clova
• Clova / ねぇClova / Clovaさん / Clovaちゃん / Jessica
9
これらの言葉を聞き取ると、スマートスピーカーは
それに続く言葉を指示と認識して動いてくれる
どんなスキルが求められるか
• スマホよりスキル!という場面で使うもの
• 運転中、料理中、トレーニング中など「手が離せないとき」に使うもの
• 就寝時にベッドに入ったあとなど「その場を動きたくないとき」に使うもの
• 老人、子供、怪我や障害などで「スマホがそもそも使えないとき」に使うもの
• 習慣化されたものや生活に溶け込んだもの
• スマートホーム系のスキル
• 決まった時間に行うルーティン系スキル
• 朝出かける前など急いでいるときに使えるもの
• 出前やショッピングなどの注文系スキル
• その他音声UIならではのもの
• 記録系・子育て系
• 暇つぶし系・癒し系
• 音楽系・コミュニケーション系
10
音声UIならでは
といえる要素が
不可欠!
スキルの制約
• 複雑なパラメータの入力が必要なものは不向き
• タイムアウトが非常にシビア
• 返答も音声だけなので理解できる内容には限界がある
• ClovaはLINE Botと連携が簡単にできるため「詳細はLINEに送信」などが可能
• ディスプレイ付きデバイスの登場で表現範囲は広がった
シンプルな対話で完結するものでなければならない!
スキル実行の流れ
• スキルの呼び出し(起動リクエスト)
12
ユーザー デバイス アシスタント バックエンド
PG
DB
or
or
“星占い”
を開いて
該当スキルを探す
起動時の応答内容を返す
星座を
教えてください
スキル実行の流れ
• 発話の意図に合わせた処理(インテントリクエスト)
13
ユーザー デバイス アシスタント バックエンド
PG
DB
or
or
やぎ座を占って
発話内容を解析
解析された意図に沿う
処理と応答
大吉です
AIアシスタントの自然言語処理
14
自然言語処理
コンピューターに人間の言葉(自然言語)を理解させるための技術
自然言語処理のしくみ
• ユーザーの発話(Utterance)を解析して意図(Intent)を読み取り、
その中から意味のある単語(Slot)を抽出する仕組み
15
ミックスピザを
3枚届けて
わかりました、
お届けします
インテント:ピザを注文したい
スロット:ミックスピザ(種類)/3枚(数量)
スキル開発の流れ
① 各プラットフォームで対話モデルを作成する
16
ASK
(Alexa Skills Kit)
Dialogflow
CEK
(Clova Extensions Kit)
Amazon Alexa Google Assistant LINE Clova
理解してほしいIntentごとにサンプル発話をいくつか登録しビルド・テストする
スキル開発の流れ
② 対話モデルと連携するバックエンドを作成する
17
ASK
Dialogflow
CEK バックエンド
HTTPで
JSONをやりとり
この部分にAzureを使う!
HTTP(S)が話せてJSONを扱えればスキル開発できる!
Azure では……
Web Apps Functions Logic Apps
などが使える!
Bot Services
①のまとめ
• 日本で多く使われる3大プラットフォーム(Amazon / Google /
LINE)のスキルのしくみ、開発方法はほぼ同じ
• ウェイクワードでスキルを呼び出されると、対話モデルが発話
からインテントとスロットを解析
• スキルのバックエンドにはHTTP(S)でJSONがやりとりできる
サーバーを使う
本日お話しすること
① スマートスピーカースキルの概要と得意/苦手分野・開発方法
② Azure Logic Apps による完全ノンコーディング&
クロスプラットフォーム対応スキル開発
③ Azure Functions でのスキル開発とその問題点・克服法
④ Durable Functions でスキルの常識を覆そう!
3大プラットフォームへの対応
• 対話モデルとバックエンドはHTTP・JSONでやりとり
ASK
Dialogflow
CEK バックエンド
JSONスキーマは
各プラットフォーム
ごとに異なる
3大プラットフォームへの対応
• クロスプラットフォーム対応=ロジックの共通化
ASK
Dialogflow
CEK
共通ロジック
バックエンド
JSONを解析し
共通ロジックと
各対話モデルとの
仲介を行う
Logic Appsならこれをノンコーディングで作れる!
Logic Appsを使うメリット
① HTTPをトリガーとして動くフローを作れる
Logic Appsを使うメリット
② Logic App同士やAzure内外のサービスとの連携がしやすい
HTTPトリガーで作った
別のフローも簡単に呼び出せる
Logic Appsを使うメリット
③ JSONの扱いが簡単
JSONの解析処理を
ノンコーディングで!
Logic Appsを使うメリット
③ JSONの扱いが簡単
JSON内の個別データを
参照できる!
Logic Appsでクロスプラットフォーム対応
• 共通ロジックを対話モデルとのアダプター役フローから呼び出す
• 各アダプターのHTTPリクエストURLを対話モデルに設定
ASK
Dialogflow
CEK
共通ロジック
アダプター
注意点
• Dialogflowとの連携時のみ、URLを一部手で修正する必要がある
https://stackoverflow.com/questions/47891106/using-webhooks-on-dialogflow-to-azure-logic-apps
URLの中にある
「%2F」を「/」に変更
認証エラー的なメッセージ
ハンズオン形式で流れをまとめました(Qiita)
最初から最後まで
一切プログラミングなしで
クロスプラットフォーム
対応のスキル開発が
体験できます!
https://qiita.com/himarin269/items/f5d00e649899288e8596
ちなみに
• Microsoft Flow(フリープラン)ではHTTP関連のフローを作れなくなった
社内でハンズオンを
行う前日夜に知る
Microsoft Flowで準備していた記事を
Logic Appで行うように
書き直して当日の朝投稿
②のまとめ
• Logic Appsを使うとノンコーディングでHTTPトリガーのフ
ローが作成可能
• Logic AppsはJSONなどデータの扱いもお手のもの
• Logic Appsでお手軽スキル開発に挑戦しよう
★解説記事はこちら(再掲)
https://qiita.com/himarin269/items/f5d00e649899288e8596
本日お話しすること
① スマートスピーカースキルの概要と得意/苦手分野・開発方法
② Azure Logic Apps による完全ノンコーディング&
クロスプラットフォーム対応スキル開発
③ Azure Functions でのスキル開発とその問題点・克服法
④ Durable Functions でスキルの常識を覆そう!
コードを書くならFunctionsがおすすめ!
• コードを書くだけで柔軟なサービスが作れるサーバーレス
• 既存のWeb AppsやBot Servicesがあればその環境をそのまま流用可
(スマートスピーカースキル用のControllerを追加する)
Functionsでスキル開発する場合の注意
• Functionsの「コールドスタートの遅さ」がVUIの大敵!
・・・・・・
従量課金(consumption)プランの
Function Appのサーバーは20分
ほど動かないと寝てしまい、
起きるまで時間がかかる
タイムアウトする
こともある
起動できませんでした。
しばらく経ってから
やり直してください。
ねぇClova、
マイスキルを開いて
特にVUIは応答に長く
時間がかかると不安になる
オーソドックスなコールドスタート対策
• App Serviceプランを使う
• Webアプリ同様で常時稼働したサーバー上で動かせる
• サーバーレスのコストメリットの恩恵が受けられない
• サーバーが寝ないように定期的にpingする方法もある
常時接続オンにできるのは
「S1」以上の価格レベル
スマートスピーカーならではの対策を考えてみる
星座を教えて
ください
ねぇClova、
“適当星占い”
を開いて
みずがめ座
今日は絶好調!
とてもよい1日
になりますよ!
定型文
動的な返答
(Function Appの処理結果)
定型文を返している隙に
動的な返答をする
Function Appを叩き起こす
起動リクエスト
インテントリクエスト
Logic App Function App
<ゲートウェイ> <プログラム本体>
①起動リクエスト
②定型レスポンス
③起こす
起動リクエスト
コールドスタートが速い
Logic Appを間に配置!
ねぇClova、
“適当星占い”
を開いて
星座を教えて
ください
定型文の返却と同時に
Function Appの
空関数へのリクエスト
Logic App Function App
<ゲートウェイ> <プログラム本体>
①インテントリクエスト
②動的なレスポンス
インテントリクエスト
Functionsに動いて
ほしいときはスルー
みずがめ座
今日は絶好調!
とてもよい1日
になりますよ!
③リクエストを
そのまま渡す
⑤レスポンスを返す
④処理を実施
すでに起きているので速い
クロスプラットフォーム対応する場合
• プラットフォームごとにLogic Appゲートウェイを用意する
ASK
Dialogflow
CEK ゲートウェイ
メインロジック
API Managementでも同様のことが可能
参考)
スマートスピーカーのバックエンドとしての
Azure Functions のコールドスタート対策
-かずきのBlog@hatena
https://blog.okazuki.jp/entry/2019/03/10/111526
XMLで定型文の返答と
Function Appへのアクセスを
切り替えるポリシーを設定
③のまとめ
• VUIのタイムアウトはシビア・コールドスタートは大敵
• 作りたいものの特性を踏まえてコールドスタート対策を!
• Logic Appはコールドスタートが速くフロー作成も柔軟
• Function Appを起こす仲介役におすすめ
★ソースコードはこちら(Functionsのみ)
https://github.com/himanago/LazyHoroscope
★解説記事はこちら
https://qiita.com/himarin269/items/87b57cac400bfc2ff8ea
本日お話しすること
① スマートスピーカースキルの概要と得意/苦手分野・開発方法
② Azure Logic Apps による完全ノンコーディング&
クロスプラットフォーム対応スキル開発
③ Azure Functions でのスキル開発とその問題点・克服法
④ Durable Functions でスキルの常識を覆そう!
DEMO
腹話術~おしゃべりClova~
LINEからの入力でClovaに好きな言葉を
しゃべらせることができる腹話術スキル!
できること
• スキルとBotが連携し、LINEで入力した内容をそのまましゃべらせる
活用例
≪はげましてもらう≫ ≪子どもと遊ぶ≫
できること
• LINE上でセリフの事前登録が可能(テンプレート作成)
リッチメニューから
作成開始
メッセージを送ると
セリフがリストに
追加される
クイックリプライで
作成終了
すごいところ
どんなセリフでも
自由なタイミングで
しゃべるよ!
対話が原則のClovaスキルの常識を覆す!
その場で何でもしゃべってくれる!
いつまでも続くスキルのセッション!
→ 話しかけなくてもClovaだけがしゃべりだす
→ 自由な言葉を言わせることができる
→ セッションが勝手に切れず長時間遊べる
アーキテクチャ
CEK
Messaging API
Azure Functions
Clova
LINE これだけ!!
は?
ClovaとLINEを連携させた
長時間でステートフルな機能を、
DBとかを使った永続化なしに
サーバーレスの関数だけで
実現できるわけないじゃん!
できちゃうのがAzure Functions!
そう、拡張機能「Durable Functions」ならね
Durable Functionsでできること
関数チェーン
ファンアウト/ファンイン
非同期 HTTP API
監視
人による操作
複雑&ステートフルなワークフローをシンプルに実装可能
"Durable"な(=持続性のある/丈夫な)処理をシンプルな関数コードの組み合わせだけで作れる!
Durable Functionsの基本
• 3種類の関数を作って使う
OrchestrationClient
(Starter)
Orchestrator関数 Activity関数
• 外部から呼び出し/実行される
関数本体で、CEKやMessaging
APIからのHTTPリクエストで
呼び出されるもの
• Orchestratorを起動する役割を
持つ
• Activityを呼び出し、オーケス
トレーションを担当する
• ランダム値やI/O処理、非同期
APIの呼び出しを直接行うこと
は禁止(Activityにやらせる必
要がある)
• Orchestratorからの実行指示で
起動する関数
• アプリケーションの機能を担当
する
Activity関数
Activity関数
履歴などの実行情報をストレージに書き込んで勝手に管理してくれる!
各関数で使用する代表的なメソッド
• 関数同士を連携させて"Durable"な処理を作る部品が揃っている!
関数 メソッド名 処理内容
OrchestrationClient StartNewAsync Orchestratorを開始する。
TerminateAsync Orchestratorを終了する。
GetStatusAsync Orchestratorの状態を取得する。
RaiseEventAsync 任意の名前のイベントを起こす。
Orchestrator関数 CallActivityAsync Activityを呼び出して実行する。パラメータで好きな値を
渡せる(タプルやコレクションも使えるのでかなり自由)。
CallActivityWithRetryAsync 失敗した場合にリトライするCallActivityAsync。
CallSubOrchestratorAsync 別のOrchestratorを実行する。
CallSubOrchestratorWithRetryAsync 失敗した場合にリトライするCallSubOrchestratorAsync。
ContinueAsNew 今回実行した際の情報をパラメータとして渡して状態を
維持し、自身を再実行する。
WaitForExternalEvent 指定した名前のイベントが起きるまで待機する。
GetInput 呼び出し元から渡されたパラメータを取得する。
Activity関数 GetInput 呼び出し元から渡されたパラメータを取得する。
しくみ解説~テンプレート作成
OrchestrationClient
Orchestrator
・Postback(作成開始)
・テキスト
・Postback(作成終了)
WaitForExternalEvent
Activity
・セリフリストの作成
(ContinueAsNewで再実行)
・返信Activityの呼び出し
(リストとReplyTokenを渡す)
完成したテンプレートを返信
RaiseEventAsync
面倒なことはすべておまかせ!真のサーバーレス体験!
イベントの管理
状態の保持
コード(テンプレート作成のOrchestrator)
外部イベントの
発生を待機
セリフリストに追加し、
そのリストを引数にして
自身を再帰的に実行
作成完了かどうかを
文字列の頭で判定し、
Botの返信Activityをコール
さらにCEK裏技「無音無限ループ」
• CEKのAudioPlayerのイベントを利用して、スキルを起動したまま
無限にClovaを待機させるしくみが作れる
"PlayFinished"
「無音」再生指示
無音mp3の再生指示を出すことで無限ループを作る
(何らかの条件を満たした場合に無音再生以外の指示を出すことで無限ループから抜ける)
無限
ループ・・・
Durable Functionsと相性がいい!
しくみ解説~ Botで操る腹話術
OrchestrationClient Orchestrator
起動時 or 読み上げ終了時
WaitForExternalEvent
RaiseEventAsync
LINE Botとの連携も自在な"Durable Session"
• 状態を確認し、完了するまで
無音無限ループで待機させる
OrchestrationClient
GetStatusAsync
無音mp3のPlayFinished時
無音mp3の再生指示
• 完了していたらセリフをしゃべらせ、
Orchestratorを再実行
コード(腹話術スキルのエンドポイント)
無音mp3の再生指示
再生終了
イベント
Orchestratorの進行状況を
チェックし、完了していたら
(=LINEからメッセージを受信
したら)その内容を受け取り
Clovaに言わせる
腹話術の反応をよくする
• host.json で「maxPollingInterval」の設定を変更すればOK
{
"version": "2.0",
"extensions": {
"queues": {
"maxPollingInterval": "00:00:05"
}
}
}
イベント発生の監視の
間隔を短くできる
(Durableだとデフォルトは30秒)
★ 詳細・その他設定項目はここ
https://docs.microsoft.com/ja-jp/azure/azure-functions/durable/durable-functions-bindings#host-json
翻訳機能を追加!
Cognitive Services
(Traslator Text API)
「声」でやりとりする
スマートスピーカーは
外国語学習と相性がいい!
LINE Botからのオーケ
ストレーター起動が
されている場合翻訳
翻訳先言語はカスタム
ステータスに入っている
レスポンス音声の
言語を指定
④のまとめ
• Durable Functionsでスキル開発の限界を超えよう
• マルチターンのやりとりでのセッション管理も可能
• 外部連携もステートフルな処理も「コードだけ」
• サーバーレスの究極系のひとつといえるのでは
https://github.com/himanago/ClovaVentriloquism
★ソースコードはこちら
本セッションのゴール
• スマートスピーカーの概要を理解する
• スマートスピーカースキルの一般的な開発方法と注意点を理解する
• Azureを用いたスキル開発手法を知る
• Azureを活用してスマートスピーカースキル開発にチャレンジ!
2019年4月15日(月) 〜 2019年5月17日(金)に審査提出されたスキルが対象
https://engineering.linecorp.com/ja/blog/clova-skillawards-201904/
過去のアワードにて(LINE BOOT AWARDS 2018)
• 「Clova&LINEで絵本読み聞かせ」でファイナル進出!
ClovaとLINEが同期して
絵と読み聞かせ音声が
同時に楽しめるスキル
10月の3連休で一気に作って入賞できた!
この10連休でアワードにチャレンジしよう!!
Clovaのシミュレーターが変わりました
• 実機がなくても基本のフローが起動から確認できるようになった!
本セッションのゴール
• スマートスピーカーの概要を理解する
• スマートスピーカースキルの一般的な開発方法と注意点を理解する
• Azureを用いたスキル開発手法を知る
• Azureを活用してスマートスピーカースキル開発にチャレンジ!
Azureの力でスマートスピーカーを大きく進化させよう!

Weitere ähnliche Inhalte

Was ist angesagt?

JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
Kenichi Yoshida
 

Was ist angesagt? (20)

Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devVs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
 
ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話
 
ノンコーディングでサーバーレス体験。Azure Logic Apps のすゝめ
ノンコーディングでサーバーレス体験。Azure Logic Apps のすゝめノンコーディングでサーバーレス体験。Azure Logic Apps のすゝめ
ノンコーディングでサーバーレス体験。Azure Logic Apps のすゝめ
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
 
アクセシビリティを考えたalt属性を自動生成してみよう!
アクセシビリティを考えたalt属性を自動生成してみよう!アクセシビリティを考えたalt属性を自動生成してみよう!
アクセシビリティを考えたalt属性を自動生成してみよう!
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
 
Container x AI
Container x AIContainer x AI
Container x AI
 
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
 
15分でわかる!Azure Static Web Apps
15分でわかる!Azure Static Web Apps15分でわかる!Azure Static Web Apps
15分でわかる!Azure Static Web Apps
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~ WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
 
ノンコーディングでやってみよう!Logic Appsのすゝめ
ノンコーディングでやってみよう!Logic Appsのすゝめノンコーディングでやってみよう!Logic Appsのすゝめ
ノンコーディングでやってみよう!Logic Appsのすゝめ
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?
 
Fukuten 20200117 up
Fukuten 20200117 upFukuten 20200117 up
Fukuten 20200117 up
 
Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...
 
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
 

Ähnlich wie Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~

クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
 
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
de:code 2017
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
 

Ähnlich wie Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~ (20)

LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門
 
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてNAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
 
機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
Net fringejp2016
Net fringejp2016Net fringejp2016
Net fringejp2016
 
ノンプログラミングで楽したい
ノンプログラミングで楽したいノンプログラミングで楽したい
ノンプログラミングで楽したい
 
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
 

Mehr von 拓将 平林

Mehr von 拓将 平林 (14)

意外な相性!?Azure Cosmos DB × LINE で作る安心のメッセージ配信システム
意外な相性!?Azure Cosmos DB × LINE で作る安心のメッセージ配信システム意外な相性!?Azure Cosmos DB × LINE で作る安心のメッセージ配信システム
意外な相性!?Azure Cosmos DB × LINE で作る安心のメッセージ配信システム
 
Azure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもうAzure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもう
 
LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)
 
[Ignite The Tour Osaka] OPS20:インシデントに対応する (Respomding to incidents)
[Ignite The Tour Osaka] OPS20:インシデントに対応する (Respomding to incidents)[Ignite The Tour Osaka] OPS20:インシデントに対応する (Respomding to incidents)
[Ignite The Tour Osaka] OPS20:インシデントに対応する (Respomding to incidents)
 
JAZUG に参加してMicrosoft MVP になった話
JAZUG に参加してMicrosoft MVP になった話JAZUG に参加してMicrosoft MVP になった話
JAZUG に参加してMicrosoft MVP になった話
 
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
Azure Application GatewayでオンプレDMZをクラウドへ拡張するAzure Application GatewayでオンプレDMZをクラウドへ拡張する
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
 
Clova「おしゃべり禁止モード」
Clova「おしゃべり禁止モード」Clova「おしゃべり禁止モード」
Clova「おしゃべり禁止モード」
 
Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)
 
【朗報】無音無限ループは禁術じゃなかった!
【朗報】無音無限ループは禁術じゃなかった!【朗報】無音無限ループは禁術じゃなかった!
【朗報】無音無限ループは禁術じゃなかった!
 
Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~
Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~
Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~
 
Clova腹話術スキルの紹介
Clova腹話術スキルの紹介Clova腹話術スキルの紹介
Clova腹話術スキルの紹介
 
Azure&C#によるClovaスキル+LINE Bot短期開発
Azure&C#によるClovaスキル+LINE Bot短期開発Azure&C#によるClovaスキル+LINE Bot短期開発
Azure&C#によるClovaスキル+LINE Bot短期開発
 
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
 
最近Azure上でXamarinを触り始めた話
最近Azure上でXamarinを触り始めた話最近Azure上でXamarinを触り始めた話
最近Azure上でXamarinを触り始めた話
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~