以下の内容はhttps://tech.guitarrapc.com/entry/2018/09/29/114953より取得しました。


Serverless Conf Tokyo 2018 に来ている記事2 - Azure Session

毎年参加しているServerless Conf Tokyoです。3回目になります。

http://tokyo.serverlessconf.io/

他のセッション

http://tech.guitarrapc.com/entry/2018/09/29/110107

引用は私のコメントです。

Speaker

Chris Gillum

@cgillum

Serverless ってServerがないのこと?

ServerlessはServerを気にしなくていいという意味がある。Serverがないことではない。

ようやく、これで、面倒な言葉遊び終わってほしい....

クラウドコンピューティングを交通で例えると

IaaS : レンタカー PaaS : タクシー SaaS : Liftなりのアプリ

企業は要件を持っている

パフォーマンス

パフォーマンス要件が厳しい、Microsoftの注力ポイントはここ。

  • Scale Capacity <= VM Instanceのキャパシティ
  • Scale out Speed <= すぐに展開できない状況でどう展開するか

Azure Functions v2で、70% 速度が改善した。

2018/9/24 Release : https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/

Premium Functionsがアナウンスもされた、サポートされている機能は

  • Hybrid of PaaS and Servereless
  • Optional Minimum % Maximum VM Count
  • Rapid Scale out
  • Unlimited Execution Duration
  • Premium VM Sizes
  • VNET Connectability
  • No Cold Start

などがある。

No Cold Start がかなり嬉しい。初動マジおそだし、Ping Functions でも1台しかプロビジョンされない..... 創栄場、Always Onが別にアルけどこいつ使うと....?

アクセス制御

退職者がアクセス出来ないようにするなど必要です。

デプロイが認証情報を持ってはいけない

  • 暗号化キー
  • アクセスキー
  • 他の秘密情報

これらは、Azure KeyVaultを使って管理可能。

実際めっちゃ使ってるけど、超便利。ただ、Azure Functions との疎結合過ぎて、 Terraform 以外で管理しきれないので注意。

監視

Azure IApplication Insightで監視できるよー

見にくいねん.... 結構きらい。

FaaS Spectrum

ローカル実行デモ(Docker)

Dockerイメージが提供されている。

FROM mcr.microsoft.com/azure-functions/node:2.0

https://hub.docker.com/r/microsoft/azure-functions/

あるの!?知らなかった.... さいこうじゃないですかぁ。 docker pull mcr.microsoft.com/azure-functions/base:2.0 docker pull mcr.microsoft.com/azure-functions/dotnet:2.0 docker pull mcr.microsoft.com/azure-functions/node:2.0 docker pull mcr.microsoft.com/azure-functions/python:2.0

VS Codeでブレークポイントもはれる。(拡張なし?)

HW部門が使ったVMサーバー上で利用したい -> KubernetesからAzure Functionsデプロイして、ワークロードに合わせる。

お金の制約しか無いなら、Azure Functionsでもいい。

VS CodeのExtensionsで、デプロイがさくっとできる。

ここでPortal からURL もらう流れがめっちゃ嫌い..... いい加減なんとかしたいな。

サポートされている言語

  • C# / Java / JavaScript + Python

関数オーケストレーション

従来の方法だと、関数の追加でキューが必要でありえんめんどくさい。

F1 > Queue > F2 > Queue > F3 > Queue > Fn > Queue n

これは今Lambda でめんどくさいやつ。Cloud Functions もか。

Azure DurableFunctionsのオーケストレーションがらくなのは、オーケストレーターとアクティビティでコード表現できる。(C# / Nodeでサポート)

関数チェイン、非同期API、ファンイン、ファンアウトがサポートされている。

F1 -> F2 -> F3 -> Fn

デモ : GitHub のシークレットをDurable Functions で監視....!

https://github.com/mhoeger/functions-docker-sample参照

ふつうに有用。AWS Secret の拡張だと限定的なのでまぁいいね。

リポジトリが大きいと時間かかるので、実行時間制限がないDurable functionsで対応する。

Durable Functions の callActivity待受けをyield で待ってるあたり、IEnumerator なぁ、コルーチン...

callActivityWithRetry で、リトライ制約をつけることができるのがかなりいい

いい加減Durable Functions のサンプルをリポジトリにあげておくか.... https://github.com/guitarrapc/AzureFunctionsIntroduction

オープンソース

企業が求めるのはオープンソース。

多くの改善をコミュニティからもらった。

Issue 投げてるけどコミットしてないなぁ

日本プロ野球ほげもげでは、毎日大量の写真がプロカメラマンからアップロードされる。 これまでは、毎晩この写真がだれ、とかやっていたがこれを解決した。

写真のタグ付け、自動タグ付けをしようと、Face APIでやると30%程度しか自動タグ付けできなかった。(バッタは横無垢と、ピッチャーも正面ではない)

そこで、顔認識、試合データ、Exif解析、シーン解析を組み合わせることで90% まで上がった。で、この組み合わせ = ワークフロー = Durable Functionsを使っている。

画像加工 -> 顔認識   -> 推定処理 -> 結果データ
        |           |
        -> 画像分類 ->

おまけ

デモが別途入れ替わっておこなれてるの最高では? 意識変わるし注目するのですごく面白い取り組み感ある

Durable Functions の良い使い方的には、Shibayan のLet's Encryptがよさそう。 https://github.com/shibayan/azure-appservice-letsencrypt




以上の内容はhttps://tech.guitarrapc.com/entry/2018/09/29/114953より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14