SlideShare a Scribd company logo
1 of 19
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
Serverless FrameworkでC#を使ってみる
2020年1月17日
木村健一郎
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
名前:木村健一郎
所属:株式会社オルターブース
SORACOM-UG九州
JAWS-UG福岡
娘ちゃんのパパ(2歳6ヶ月)
お仕事:テクニカルアーキテクト
好きなAWSサービス: Lambda
好きなAzureサービス:Functions(予)
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
FaaSとは
・Function as a Service
・関数(プログラム)の実行環境が提供されるので、
利用者は自分のやりたいこと(ビジネスロジック
≒プログラム)にだけ注力できる
・基本的にイベントドリブン型、実行時間に応じた
従量課金
・サーバーレスコンピューティングと同意で使う
人がいるけど、あくまで「一部」
・PaaS/BaaSも忘れないであげてください
・個人的には「クラウド/サーバーレスの
理念の体現」と思ってる
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
各社のFaaSサービス
・AWS
AWS Lambda
・Microsoft Azure
Azure Functions
・Google Cloud
Cloud Functions
・Alibaba Cloud
Function Compute
・Tencent Cloud
Tencent Cloud Function
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
C#でFaaSといえば?
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
AWS Lambda
+
Serverless Framework
ですよね!
(異論は認める)
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
だってVS Codeの拡張機能を利用し
てAzure Functions使うなんてもう
みんなやってるでしょ?
https://docs.microsoft.com/ja-jp/azure/azure-
functions/functions-develop-vs-code?tabs=nodejs
https://tekunabe.hatenablog.jp/entry/2018/12/28/azure_fu
nction_local_and_deploy
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
Serverless Framework
The Serverless Framework helps you build serverless apps
with radically less overhead and cost. It provides a
powerful, unified experience to develop, deploy, test, secure
and monitor your serverless applications.
(*)https://serverless.com/framework/docs/
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
Serverless Framework
・オープンソースのCLI(Node.js)
・ホストされたダッシュボード
・様々なプラットホーム用のアプリケーション
開発・試験・デプロイが可能
・リソースやインフラの定義まで一括でYAMLで
書ける
・Infrastructure as a Code
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
導入
Node.js(ならびにnpm)が入っている環境であれば、
以下のコマンドでインストールは完了します
%npm –g install serverless
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
AWS Credentialの登録
・IAMアカウント(プログラムによるアクセス )を作成
・既存のポリシーからAdministratorAccess権限を
アタッチする
・環境変数 AWS_ACCESS_KEY_IDと
AWS_SECRET_ACCESS_KEYを設定する
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
全体の流れ
1.関数テンプレートを作成する
%serverless create –t aws-csharp –n fukuten-sample-
app 
–p fukuten-sample-app
2.開発する
%cd fukuten-sample-app
%vi serverless.yml
%vi Handler.cs
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
3.ビルドする
%./build.cmd
4.デプロイする
%serverless deploy
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
5.動かしてみる
%serverless invoke –f hello
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
build.cmd(build.sh)の中身
dotnet restore
dotnet lambda package --configuration release --framework
netcoreapp2.1 --output-package bin/release/netcoreapp2.1/hello.zip
Lambdaにデプロイするzipファイルを作るときは、publishではなく lambda
package を使う
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
Serverless.ymlで削っちゃ駄目なところ
service: my-csharp-app
provider:
name: aws
runtime: dotnetcore2.1
package:
individually: true
functions:
hello:
handler: CsharpHandlers::AwsDotnetCsharp.Handler::Hello
package:
artifact: bin/release/netcoreapp2.1/hello.zip
関数ごとにパッケージ(zipファイル)をわけるなら最上位の設定でpackage/individuallyをtrueにした
上で、funcitonsでの定義で「package/artifact」の設定を忘れない。
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
service: my-csharp-app
provider:
name: aws
runtime: dotnetcore2.1
package:
artifact: bin/release/netcoreapp2.1/hello.zip
functions:
hello:
handler: CsharpHandlers::AwsDotnetCsharp.Handler::Hello
関数ごとに分けないならこんな感じ
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.
まとめ
・FaaSを書くときにC#も使っていきましょう!
・AWS LambdaもC#使えます
・Serverless Frameworkいいですよー!
・ただし現状C#はLambdaのみ
・azure Functionsはnodejsとpython
・serverless.ymlでpackage/artifactsを忘れない
・忘れると「Could not find the required ‘xxxx.
deps.json’」というLambda Exceptionが発生
する
Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.

More Related Content

What's hot

xAI meetup #1
xAI meetup #1xAI meetup #1
xAI meetup #1ru pic
 
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...典子 松本
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要Akira Inoue
 
New Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMNew Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMShotaro Suzuki
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps典子 松本
 
.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデートTomomitsuKusaba
 
Microsoft learnご紹介vol2
Microsoft learnご紹介vol2Microsoft learnご紹介vol2
Microsoft learnご紹介vol2ru pic
 
20190427 global azurebootcamp
20190427 global azurebootcamp20190427 global azurebootcamp
20190427 global azurebootcampTomoyuki Obi
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuberTakaaki Suzuki
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートKazumi IWANAGA
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門拓将 平林
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうYuta Matsumura
 
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~拓将 平林
 
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Shotaro Suzuki
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaasTomoyuki Obi
 
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」
仮想サーバは、もう不要?!今からIoTやるなら「サーバレス・コンピューティング」仮想サーバは、もう不要?!今からIoTやるなら「サーバレス・コンピューティング」
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」真吾 吉田
 
30min serverless-x tuber
30min serverless-x tuber30min serverless-x tuber
30min serverless-x tuberc-mitsuba
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うことAkira Inoue
 

What's hot (20)

xAI meetup #1
xAI meetup #1xAI meetup #1
xAI meetup #1
 
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
 
New Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMNew Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASM
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps
 
.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート
 
Microsoft learnご紹介vol2
Microsoft learnご紹介vol2Microsoft learnご紹介vol2
Microsoft learnご紹介vol2
 
20190427 global azurebootcamp
20190427 global azurebootcamp20190427 global azurebootcamp
20190427 global azurebootcamp
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuber
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
 
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
 
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaas
 
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」
仮想サーバは、もう不要?!今からIoTやるなら「サーバレス・コンピューティング」仮想サーバは、もう不要?!今からIoTやるなら「サーバレス・コンピューティング」
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」
 
30min serverless-x tuber
30min serverless-x tuber30min serverless-x tuber
30min serverless-x tuber
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うこと
 

Similar to Fukuten 20200117 up

AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~Ken'ichirou Kimura
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築Tomo-o Kubo
 
AWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみたAWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみたKen'ichirou Kimura
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザインAtsushi Kojima
 
JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 Gyori Nagafuchi
 
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践Amazon Web Services Japan
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)VirtualTech Japan Inc.
 
ノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintoneノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintone典子 松本
 
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~ISAO_Corp
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤Godai Nakamura
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyosoRyosuke Izumi
 
Azure App Service Overview LT
Azure App Service Overview LTAzure App Service Overview LT
Azure App Service Overview LTKeiji Kamebuchi
 
基幹システムにおけるオープンソース活用
基幹システムにおけるオープンソース活用基幹システムにおけるオープンソース活用
基幹システムにおけるオープンソース活用UNIRITA Incorporated
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~Dai Iwai
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in ServerlessAmazon Web Services Japan
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例Recruit Technologies
 

Similar to Fukuten 20200117 up (20)

AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
AWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみたAWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみた
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
 
JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12
 
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
 
ノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintoneノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintone
 
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyoso
 
Azure App Service Overview LT
Azure App Service Overview LTAzure App Service Overview LT
Azure App Service Overview LT
 
基幹システムにおけるオープンソース活用
基幹システムにおけるオープンソース活用基幹システムにおけるオープンソース活用
基幹システムにおけるオープンソース活用
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 

More from Ken'ichirou Kimura

SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?Ken'ichirou Kimura
 
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M ButtonならびにシミュレータについてSORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M ButtonならびにシミュレータについてKen'ichirou Kimura
 
SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for EnterpriseシミュレータについてSORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for EnterpriseシミュレータについてKen'ichirou Kimura
 
スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!Ken'ichirou Kimura
 
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみたAWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみたKen'ichirou Kimura
 
ひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT CentralにつないでみるひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT CentralにつないでみるKen'ichirou Kimura
 
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介Ken'ichirou Kimura
 
Amazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しようAmazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しようKen'ichirou Kimura
 
SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17Ken'ichirou Kimura
 
あのボタンで子育て支援!
あのボタンで子育て支援!あのボタンで子育て支援!
あのボタンで子育て支援!Ken'ichirou Kimura
 
LogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろうLogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろうKen'ichirou Kimura
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築Ken'ichirou Kimura
 
SESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみようSESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみようKen'ichirou Kimura
 
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-Ken'ichirou Kimura
 

More from Ken'ichirou Kimura (19)

SORACOM UG紹介
SORACOM UG紹介SORACOM UG紹介
SORACOM UG紹介
 
SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?
 
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M ButtonならびにシミュレータについてSORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M Buttonならびにシミュレータについて
 
SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for EnterpriseシミュレータについてSORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
 
スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!
 
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみたAWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
 
ひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT CentralにつないでみるひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT Centralにつないでみる
 
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
 
Cloudshell 20201229
Cloudshell 20201229Cloudshell 20201229
Cloudshell 20201229
 
Soracomug 20200701
Soracomug 20200701Soracomug 20200701
Soracomug 20200701
 
Amazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しようAmazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しよう
 
SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17
 
Serverless meetuplt 201903_up
Serverless meetuplt 201903_upServerless meetuplt 201903_up
Serverless meetuplt 201903_up
 
あのボタンで子育て支援!
あのボタンで子育て支援!あのボタンで子育て支援!
あのボタンで子育て支援!
 
LogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろうLogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろう
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
 
Jawsug福岡 201606 up
Jawsug福岡 201606 upJawsug福岡 201606 up
Jawsug福岡 201606 up
 
SESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみようSESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみよう
 
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-
AWS、怖くないよ!-災害・防災に関わるシステムのAWS適用事例紹介-
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

Fukuten 20200117 up

  • 1. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. Serverless FrameworkでC#を使ってみる 2020年1月17日 木村健一郎
  • 2. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 名前:木村健一郎 所属:株式会社オルターブース SORACOM-UG九州 JAWS-UG福岡 娘ちゃんのパパ(2歳6ヶ月) お仕事:テクニカルアーキテクト 好きなAWSサービス: Lambda 好きなAzureサービス:Functions(予)
  • 3. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. FaaSとは ・Function as a Service ・関数(プログラム)の実行環境が提供されるので、 利用者は自分のやりたいこと(ビジネスロジック ≒プログラム)にだけ注力できる ・基本的にイベントドリブン型、実行時間に応じた 従量課金 ・サーバーレスコンピューティングと同意で使う 人がいるけど、あくまで「一部」 ・PaaS/BaaSも忘れないであげてください ・個人的には「クラウド/サーバーレスの 理念の体現」と思ってる
  • 4. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 各社のFaaSサービス ・AWS AWS Lambda ・Microsoft Azure Azure Functions ・Google Cloud Cloud Functions ・Alibaba Cloud Function Compute ・Tencent Cloud Tencent Cloud Function
  • 5. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. C#でFaaSといえば?
  • 6. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. AWS Lambda + Serverless Framework ですよね! (異論は認める)
  • 7. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. だってVS Codeの拡張機能を利用し てAzure Functions使うなんてもう みんなやってるでしょ? https://docs.microsoft.com/ja-jp/azure/azure- functions/functions-develop-vs-code?tabs=nodejs https://tekunabe.hatenablog.jp/entry/2018/12/28/azure_fu nction_local_and_deploy
  • 8. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. Serverless Framework The Serverless Framework helps you build serverless apps with radically less overhead and cost. It provides a powerful, unified experience to develop, deploy, test, secure and monitor your serverless applications. (*)https://serverless.com/framework/docs/
  • 9. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. Serverless Framework ・オープンソースのCLI(Node.js) ・ホストされたダッシュボード ・様々なプラットホーム用のアプリケーション 開発・試験・デプロイが可能 ・リソースやインフラの定義まで一括でYAMLで 書ける ・Infrastructure as a Code
  • 10. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 導入 Node.js(ならびにnpm)が入っている環境であれば、 以下のコマンドでインストールは完了します %npm –g install serverless
  • 11. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. AWS Credentialの登録 ・IAMアカウント(プログラムによるアクセス )を作成 ・既存のポリシーからAdministratorAccess権限を アタッチする ・環境変数 AWS_ACCESS_KEY_IDと AWS_SECRET_ACCESS_KEYを設定する
  • 12. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 全体の流れ 1.関数テンプレートを作成する %serverless create –t aws-csharp –n fukuten-sample- app –p fukuten-sample-app 2.開発する %cd fukuten-sample-app %vi serverless.yml %vi Handler.cs
  • 13. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 3.ビルドする %./build.cmd 4.デプロイする %serverless deploy
  • 14. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. 5.動かしてみる %serverless invoke –f hello
  • 15. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. build.cmd(build.sh)の中身 dotnet restore dotnet lambda package --configuration release --framework netcoreapp2.1 --output-package bin/release/netcoreapp2.1/hello.zip Lambdaにデプロイするzipファイルを作るときは、publishではなく lambda package を使う
  • 16. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. Serverless.ymlで削っちゃ駄目なところ service: my-csharp-app provider: name: aws runtime: dotnetcore2.1 package: individually: true functions: hello: handler: CsharpHandlers::AwsDotnetCsharp.Handler::Hello package: artifact: bin/release/netcoreapp2.1/hello.zip 関数ごとにパッケージ(zipファイル)をわけるなら最上位の設定でpackage/individuallyをtrueにした 上で、funcitonsでの定義で「package/artifact」の設定を忘れない。
  • 17. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. service: my-csharp-app provider: name: aws runtime: dotnetcore2.1 package: artifact: bin/release/netcoreapp2.1/hello.zip functions: hello: handler: CsharpHandlers::AwsDotnetCsharp.Handler::Hello 関数ごとに分けないならこんな感じ
  • 18. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved. まとめ ・FaaSを書くときにC#も使っていきましょう! ・AWS LambdaもC#使えます ・Serverless Frameworkいいですよー! ・ただし現状C#はLambdaのみ ・azure Functionsはnodejsとpython ・serverless.ymlでpackage/artifactsを忘れない ・忘れると「Could not find the required ‘xxxx. deps.json’」というLambda Exceptionが発生 する
  • 19. Copyright © 2015-2020 ALTERBOOTH inc. All Rights Reserved.