Weitere ähnliche Inhalte
Ähnlich wie AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】 (20)
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
- 2. 本日の演目
2
• kintoneエコシステム
• サーバレスアーキテクチャ
• 結局サーバレスとは?
• サーバレスアーキテクチャの恩恵
• 今回フォーカスするAWSのサービス
• AWS Lambda
• Amazon API Gateway
• ハンズオン① Hello World!!
• ハンズオン② Hello Lambda!を繰り返す
• ハンズオン③ kintone & Backlog連携
• サンプルダウンロード
• ハンズオンモデル
• Lambda・イベント設定
• API Gatewayの設定
• Backlogの設定
• kintoneの設定
• Lambda・関数の設定
• Backlogからの課題の追加を試す
• ハンズオン後片付け
※スライド内リンクはPDFダウンロード時に有効になります
- 17. • アプリ開発に多くのメリット
• バックエンド側のコードが減るため開発コストを最小化
• バックエンド側のサーバが減るため運用コストを最小化
• AWSによってマネージされるため、スケーラビリティやキャパシティ、セキュリティの心配不要
• 非常にコスト効率が高いため、多くの場合、コスト減が見込める
• 必要に応じてEC2も導入できる安心感
• 汎用的なサービスでは実現の難しいビジネス固有の要件に関してはEC2を利用して実装
• EC2を利用する部分についてもCodeDeployやElastic Beanstalk、Ops Works等で自動化
• 開発者がビジネスにフォーカスできる
サーバレスアーキテクチャの恩恵
17
- 20. • Amazon S3
• Amazon Kinesis Streams
• Amazon DynamoDB
Streams
• Amazon Cognito
• Amazon SNS
• Alexa AppKit
• Amazon SWF
• Amazon SES inbound mail
• Amazon CloudWatch Logs
• Amazon Connected Home
• AWS IoT
• (Schedule Event)
AWS Lambda(続き)
20
イベントソース
トリガー
Node.js
Python
Java
Lambda関数の起動
のコードを実行
最大5分間のタイムアウト
- 37. Lambda関数の書き方
37
Node.js
exports.handler = function(event, context) {
// 正常として終了させたい時には
context.succeed();
// 異常として終了させたい時には
context.fail();
};
context.succeed/fail の記述を忘れる
とエラーの原因にもなるので注意
Python
def lambda_handler(event, context):
# 終了させたい時には
return event['requestParameters']
# 例外処理する時には
raise Exception('Something went wrong')
- 98. 【参考】kintone REST APIの概要
98
• kintoneアプリのレコードやスペースの操作
kintone REST APIの用途
プロトコル
• HTTPSプロトコル
フォーマット
• JSON
文字コード
• UTF-8
認証認証
• ユーザ認証(パスワード、APIトークン)
• Basic認証
その他
• 同時処理レコード数100件
• API同時アクセス10件
※GET/recordsのみ500件
- 99. 【参考】kintone REST APIの概要(続き)
99
• https://{subdomain}.cybozu.com/k/v1/{command}.json【通常】
• https://{subdomain}.cybozu.com/k/guest/{space id}/v1/
{command}.json【ゲストスペース】
URI
リクエストヘッダ
• Host: {subdomain}.cybozu.com:443
• Content-Type:application/json
• 認証情報
- 115. 参考情報
115
• 「AWS Lambda公式サイト」[https://aws.amazon.com/jp/lambda/]
• 「AWS Lambdaドキュメント」[https://aws.amazon.com/jp/documentation/lambda/]
• 「Amazon API Gateway公式サイト」[https://aws.amazon.com/jp/api-gateway/]
• 「Amazon API Gatewayドキュメント」[https://aws.amazon.com/jp/documentation/
apigateway/]
• 「Serverless Architechture on AWS」[http://www.slideshare.net/keisuke69/
serverless-architecture-on-aws]
• 「Backlogを使いこなそう -Webhook-」[http://www.backlog.jp/help/adminsguide/
webhook-setting/userguide2493.html]
• kintone開発コミュニティサイト「cybozu.com developer network」[https://
cybozudev.zendesk.com/hc/ja]