Slide 1

Slide 1 text

Azure FunctionsとAWS Lambdaの 開発フローの違い 2017/6/22 第6回 Tokyo Jazug Night

Slide 2

Slide 2 text

自己紹介 ● 杉田 寿憲(Toshinori Sugita, @toshi0607) ● Software Engineer@freee ● 元◯TT ○ata企画営業、コード書くのかっこいいと思って業務 経験なしからエンジニアに ● Rubyが多いですが、Microsoft関連開発も!! ○ サーバサイド: Ruby on Rails、Go ○ クライアントサイド: WPF、これからXamarin ● We’re hiring ○ 日本を変えたいWindowsアプリエンジニア募集!!

Slide 3

Slide 3 text

今日のお話 ● いつ使うんやと思ってたサーバレスアーキテクチャ(※サーバー、 あります)の恩恵を受けた(受けそう) ● 業務ではAWS Lambdaを使ったけど、Azure Functionsで同じ ことするとどうなるのか気になった ● 実際にやってみたら色々と違いがあって面白かった気がする

Slide 4

Slide 4 text

サーバレスアーキテクチャ適用シーン before

Slide 5

Slide 5 text

サーバレスアーキテクチャ適用シーン after

Slide 6

Slide 6 text

比較の枠組み PJ作成 デバッグ デプロイ 監視 ● 専用ツール ● PJテンプレ ● ローカル ● リモート ● ローカル ● CI ● ログ ● メトリクス ※Functions、Lambda共にVisual Studio2017とC#を使用しました!

Slide 7

Slide 7 text

比較の枠組み PJ作成 デバッグ デプロイ 監視 ● 専用ツール ● PJテンプレ ● ローカル ● リモート ● ローカル ● CI ● ログ ● メトリクス ※Functions、Lambda共にVisual Studio2017とC#を使用しました!

Slide 8

Slide 8 text

PJ作成 ● Visual Studio Tools for Azure Functions ● 接続サービスに応じたテンプレート ● VS2017向けはVS2017ver15.3 -preview ● AWS Toolkit for Visual Studio ● 接続サービスに応じたテンプレート ● テスト(ローカル実行用)セット PJ作成 デバッグ デプロイ 監視 Azure Functions AWS Lambda

Slide 9

Slide 9 text

比較の枠組み PJ作成 デバッグ デプロイ 監視 ● 専用ツール ● PJテンプレ ● ローカル ● リモート ● ローカル ● リモート ● ログ ● メトリクス ※Functions、Lambda共にVisual Studio2017とC#を使用しました!

Slide 10

Slide 10 text

デバッグ(ローカル) ● Azure CLIで func run ● Visual Studioでテスト実行 PJ作成 デバッグ デプロイ 監視 Azure Functions AWS Lambda

Slide 11

Slide 11 text

デバッグ(リモート) ● Visal Studioからアタッチできる。デバッガも使 えるすごい ● Visual Studioでポータル同様イベントの発行、 ログ確認ができる PJ作成 デバッグ デプロイ 監視 Azure Functions AWS Lambda

Slide 12

Slide 12 text

比較の枠組み PJ作成 デバッグ デプロイ 監視 ● 専用ツール ● PJテンプレ ● ローカル ● リモート ● ローカル ● CI ● ログ ● メトリクス ※Functions、Lambda共にVisual Studio2017とC#を使用しました!

Slide 13

Slide 13 text

デプロイ ● Visual Studioから「公開」 ● Azure Resource Manager ● App ServiceのGithub/VSTS等連携 ● Deployment Slots Preview for Azure Functions(preview) ● Visual Studioから「Publish to AWS Lambda...」 ● AWS SAM(AWS CloudFormation) ● .NET Core CLI ○ $ dotnet restore ○ $ dotnet publish PJ作成 デバッグ デプロイ 監視 Azure Functions AWS Lambda

Slide 14

Slide 14 text

比較の枠組み PJ作成 デバッグ デプロイ 監視 ● 専用ツール ● PJテンプレ ● ローカル ● リモート ● ローカル ● CI ● ログ ● メトリクス ※Functions、Lambda共にVisual Studio2017とC#を使用しました!

Slide 15

Slide 15 text

監視 ● Monirtoringに機能追加中? ● ライブイベントストリーム ● Azure CLIでログファイルを追う ● Amazon CloudWatch ● Aamazon CloudWatch Logs PJ作成 デバッグ デプロイ 監視 Azure Functions AWS Lambda Azure Functions の監視より

Slide 16

Slide 16 text

まとめ ● Azure Functionsのつよいところ ○ リモートデバッグ ○ 豊富なデプロイフロー ● AWS Lambdaのつよいところ ○ テンプレートの親切さ ○ ローカル実行の自由度 ● 注意 ○ 最大実行時間に制限あり ■ Azure Functions: 10分 ● Functions 1.0.11002 ■ AWS Lambda: 5分 ○ 地域的な制限

Slide 17

Slide 17 text

おまけ ● Azure Functions、わかりやすい概要 ○ Azure Functions / Overview and Under the hood ● Azure Functions、最新情報 ○ de:code 2017でAzure FunctionsとLogic Appsの話をしてき た ● AWS Lambda本、6/9発売! ○ 『実践AWS Lambda ~「サーバレス」を実現する新しいアプリ ケーションのプラットフォーム~』

Slide 18

Slide 18 text

ご清聴ありがとうございました! Azure FunctionsとAWS Lambdaの 開発フローの違い