• 検索結果がありません。

_serverless

N/A
N/A
Protected

Academic year: 2021

シェア "_serverless"

Copied!
48
0
0

読み込み中.... (全文を見る)

全文

(1)

サーバーレスのおさらい

主要サービス、利⽤パターン、事例

(2)

アジェンダ

サーバーレスとは

-

主要コンポーネントについてのおさらい

リソース管理とエラー制御の基本

サーバーレスにおけるデータベースの考え⽅

パターンで考える

(3)

サーバーレスのおさらいと

主要コンポーネント

(4)

サーバーレスとは

サーバーがない?

(5)

サーバーレスとは

アプリケーションデータ

アプリケーション処理コード

サーバーサイド間通信 暗号化

冗⻑化

プラットフォーム、アプリ実⾏基盤

OS保守、パッチ適⽤

ネットワーク構成

コンピューティングリソース、

ストレージ、物理ネットワーキング

客様

Clo

ud

管理⼯数

(⾃動化=⼯数少)

既存移⾏

向き

新規・追加

刷新向き

⾃動管理に伴う

制限・制約

客様

コン

オンプレ

インフラ

サービス

インフラ+

コンテナ

サーバーレス

マネージド/

(6)

API Gateway

HTTPS REST

処理ロジック

Lambda

データ管理

DynamoDB

これまでの⽅式との対⽐

Web

サーバー

サーバー

App

サーバー

DB

+

規模の⾒積もり

+

可⽤性設計

+

データ保全の検討

ü

⾃動スケール

ü

設計済みのリトライ

ü

データ信頼性

(7)

サーバーレスとは

サーバー管理が不要

(準備、OS保守 etc)

柔軟なスケーリング

(拡張/縮退)

⼗⼆分に考慮された

⾼可⽤性

リソース確保が不要

アイドル時の

$

サーバーの存在を意識しない

アプリケーションの本質 “ロジック開発” に注⼒できる

(8)

サーバーレスによる代表的な効果

サーバー管理が不要

(準備、OS保守 etc)

柔軟なスケーリング

(拡張/縮退)

⼗⼆分に考慮された

⾼可⽤性

リソース確保が不要

アイドル時の

$

⾼⽣産性

変更容易性

マネージド

業務注⼒

⾃動リソース管理

マネージド

コスト最適化

スケーラビリティ

(機会損失防⽌)

リアルタイム

(付加価値/機能差別化)

エンジニア

意識改⾰

実際の処理負荷に応じて

⾃動で拡張/縮退

ユーザーの責任領域を

⼩さくしそこだけに注⼒

(9)

1/10

アイドル時間のリソースが

解放され、利⽤費が最適化

9:1

開発:保守/運⽤” の作業

⽐率が 1:9 から⼤きく改善

1/3

コード量の減少(従来⽐)

= ⽣産性向上、保守改善

5x

従来より⽣産性が向上

アプリ展開を加速化

お客様の効果例

1

運⽤を 1 ⼈で楽に実施

機能改善に注⼒可能

2

ヶ⽉

スケール、冗⻑化などの

考慮不要で短期実装可能

1/6

安定した定常稼働により

運⽤の労⼒を⼤幅に短縮

1-2

簡易な機能追加は短期で

実装・デプロイ可能

(10)

サーバーレスアプリケーション

利⽤者がやること

ü

アプリケーション設計

ü

ロジック開発/DB設計

ü

監視・エラー制御

クラウドがやること

ü

リソース管理

ü

再実⾏処理

ü

ログ管理

ü

サーバー保守

アプリケーションデータ

アプリケーション処理コード

サーバーサイド間通信 暗号化

冗⻑化

プラットフォーム、アプリ実⾏基盤

OS

保守、パッチ適⽤

ネットワーク構成

コンピューティングリソース、

ストレージ、物理ネットワーキング

Clo

ud

マネージド/

サーバーレス

(11)

Function as a Service: AWS Lambda

コードを⽤意 → 実⾏時に適切にインフラを確保して処理を実⾏

f(x) = {…}

呼び出し元

処理対象

例・API呼び出し

・データ変更イベント

・ファイル配置イベント…

例・DBアクセス

・ファイル出⼒

・別の処理を呼び出し…

負荷に応じて

処理を多重化

リソース管理

リトライ

ログ出⼒

(12)

最新のアナウンス

• VPC Lambda

はもう

アンチパターンでは

なくなります!

(13)

サーバーレス: 主要コンポーネント

処理ロジック

認証:

Cognito

外部I/F

REST API:

API Gateway

GraphQL:

AppSync

Java/Go/Node.js/Python/

.Net C#/Ruby and more:

AWS Lambda

ストリーム

流⼊データ:

Kinesis Data Stream

流⼊ログ:

Kinesis Firehose

データ保持/管理

NoSQL:

DynamoDB

RDB:

RDS/Aurora

Queue:

SQS

File:

S3

(14)

実戦でよく使われるユースケースパターン

(15)

これまでの⽅式との対⽐(再掲): 物理構成

API Gateway

HTTPS REST

処理ロジック

Lambda

データ管理

DynamoDB

Web

(16)

API Gateway

HTTPS REST

API Gateway

HTTPS REST

Lambda

処理ロジック

データ管理

DynamoDB

これまでの⽅式との対⽐: アプリ設計

Web

サーバー

サーバー

App

サーバー

DB

S3

静的コンテンツ

静的コンテンツ

キャッシュ

アクセス設定

商品情報

会員情報

在庫情報

注⽂データ

V

C

商品情報取得

会員情報取得

在庫情報取得

注⽂処理

M

od

el

運⽤ツール

Log

Log

Log

V

C

M

商品情報取得

会員情報取得

在庫情報取得

注⽂処理

キャッシュ

アクセス設定

商品情報

会員情報

在庫情報

注⽂データ

CloudWatch

ログ管理

例: Single Page

Application

(17)

AWS Cloud

Microservice

LIFULL

モバイル向けAPI: サーバーレスによるマイクロサービス

バック

エンド

システム

S3

API Gateway

Function

iOS/Android

ネイティブアプリ

ピーク時 4,200リクエスト/分

API

API

API

モバイル向けAPI

PC Web

⽤アプリ

PC Web

向けアプリ

⾼⽣産性

マネージド

業務注⼒

変更容易性

(18)

リソース管理と

(19)

サーバーレスにおけるリソース管理

1.

呼び出し要求に応じて

ファクションを実⾏

(処理リソースを確保)

2.

リクエスト増加

必要に応じて処理

リソースを追加確保

不適切なリソース利⽤の防⽌

効率的なリソース再利⽤の促進

=

同時実⾏数による制限・保護

(デフォルト1,000)

2019/05

現在

=

処理タイムアウトの設定

(最⼤15分)

2019/05

現在

(20)

処理リソースにおける失敗・エラー処理

基本的な考え⽅:

処理リソースの単位(ファンクション)でエラー処理を考慮する

もう少し⼤きなスコープで処理を管理したい…

処理の分岐、ループや待ち合わせ処理

⼤きなスコープでのエラー処理

正常

エラー

エラー処理/通知

正常

エラー

エラー処理/通知

正常

エラー

エラー処理/通知

(21)

Step Functions

フロー管理: Step Functions

複数の処理(Lambda含む)を

⼀連のフローとして管理

異なる⾔語のファクションの

組み合わせでもOK

実⾏履歴を確認可能、処理の

可視性を向上

(22)

提携メディア

Gunosy

グノスポ」におけるサーバーレスアーキテクチャ

⾼⽣産性

スケーラビリティ

静的コンテンツ 動的データ 記事/試合状況 フォロー状況管理 認可 (フェデレーション)

⼀般ユーザー

ログの保存 ETL処理 ログ収集 データ分析 クローリング 記事に対する処理 (タグ付けなど) 変更通知 前処理/インデックス付け 画像に対する処理 (顔座標の検出)

変更容易性

(23)

サーバーレスにおける

データベースの考え⽅

(24)

サーバーレスにおけるデータベース

データベースとして RDB を使えないか….

⼤量のDB接続リクエストが

発⽣する可能性!!

RDB

パンクする

側のリソースが

(25)

サーバーレスにおけるデータベース

同時リクエスト数がそこまで⾼くない or

⼊り⼝でスロットリングする

1

DB

接続を

制御する

2

3

分散型の

DB

を選ぶ

(26)

AWS Cloud

On-Premise

既存互換I/F

新アプリ向けI/F

アダストリア様

サーバーレスによるモバイルバックエンド

マネージド

業務注⼒

マネージド

⾃動リソース管理

S3

API

Gateway

モバイルアプリ「.st」

PC Web

⽤ ECサイト

認証

負荷に応じて⾃動でリソース拡張/縮退

API

API

バック

エンド

EC

システム

(27)
(28)
(29)

LIXIL

スマート宅配ポストサービス

Io

T

B2

C A

PI

B2

B A

PI

ユーザー

App

管理

Ap

p

データ可視化

コスト最適化

マネージド

リソース⾃動管理

変更容易性

IoT

バックエンド

流⼊データの連続処理

ログデータ収集処理

モバイル

バックエンド

業務系API

業務系API

業務系API

モバイル

バックエンド

業務系API

(30)

実戦でよく使われるユースケースパターン

(31)

VPC

リアルタイムモバイル

モバイル オフライン処理

動的Webアプリ

モバイルバックエンド

業務系 API

グループ企業間API

インタラクティブAPI

データ配信API

WebSocket

ユースケースパターン: モバイル、API 関連

王道的なサーバーレス実装の形

リクエスト/レスポンス型向け

内部データの公開ルートをAPI 化

VPC

内での API 公開も可能

リアルタイム通信要件や⾮接続状態

(オフライン)要件のモバイル向け

WebSocket

でリアルタイムに情報を配信

クラウド側のデータ変更をPush配信可能

(32)
(33)

パターン組み合わせの例

モニタリング型モバイルアプリ

• IoT

アプリケーション

(34)

モニタリング型モバイルアプリの例

要件:

モバイルアプリから随時データが送信されてくる。

そのデータの加⼯・集計をしてタイムリーに可視化したい。

処理起動

QuickSight or 3

可視化

rd

パーティ

モバイルアプリ部分

ログデータの分析

ログデータ

収集処理

(35)

AWS Cloud

開発⽣産性:

1

ヶ⽉

で実装

運⽤効率化:

2

でシステム運⽤

CARTE by CyberAgent

⾃律神経のスコア化サービス

API

認証サービス

マネージド

⾃動リソース管理

マネージド

業務注⼒

⾼⽣産性

認証

数値化

可視化

数値化処理

データ可視化

n

⾃律神経研究の第⼀⼈者「順天堂⼤学医学部 ⼩林弘幸教授」全⾯監修

n

⾃律神経の状態を測定し可視化

-

スマホカメラに60秒指を置くだけで1〜100の数値でスコア化

https://carte-ca.jp/

処理起動

(36)

IoT

アプリケーションの例

要件:

機器から随時データが送信。データを収集し、機械学習させたい。

モバイルアプリから機器の遠隔操作を可能にする。

⼀部の機器については Alexa によるボイス操作を可能にしたい。

フロー管理

モバイル

アプリ部分

Alexa Skill

IoT

バックエンド

機械学習フロー

モバイルアプリによる

機器の遠隔操作

Alexa

経由での

ボイスコマンド

ログデータ

収集処理

(37)

ソニー様

Serverless Conf 2018

「aiboクラウドサービスを⽀えるサーバーレス技術」

(38)
(39)

SNS トピック SQSキュー

データ連携処理パイプライン

要件:

各所から連続的にデータが送信されてくる。

それらに対して随時加⼯・集計などの処理を経て分析⽤データにしたい。

最終的には機械学習のフローに回す。

フロー管理

SNS トピック SQSキュー

前加⼯処理

集計処理

(40)

AWS Cloud

受取

ダイソー様

サーバーレスによるPOSデータ処理

マネージド

⾃動リソース管理

5,000

を超える店舗、

70,000

以上の商品点数

(2018/02時点)

今後のデータ増加に

⾃動でリソース拡張

変更容易性

マネージド

業務注⼒

それぞれの実際の負荷に応じて独⽴して⾃動で拡張/縮退

処理優先 or コスト優先で処理量の調整を設定可能

チェック

ためる

参照更新

参照

コマンド

クエリ

SNS SNS SNS

(41)

AWS Summit

での発表にて

R . I K C L 2 IK CML @@C C M L . KCABML K L K

9 5 5 2 8

0 L

B

y

B

B

(42)

LEGO:

impex

製品関連情報を Eコマースへ展開

(43)

サーバーレス検討の

きっかけと狙い

(44)

モバイル/Web

バックエンド

サービスAPI/

業務機能API

ログ処理/

サービス監視

画像加⼯処理

サーバーレステクノロジご利⽤の国内のお客様(抜粋)

データ前処理/機械学習パイプライン処理

ポイント/POS

課⾦データ処理

分散並列バッチ

by リクルートライフスタイル by アイデアマンズ by ソルクシーズ

IoT

関連

ユースケース

ストリーム処理

SaaS/

ソリューション基盤

by オージス総研 by サイオステクノロジー

顧客 向け

従業員 向け

by PSソリューションズ

(45)

API

サーバーレス実装が選択されたタイミング

新サービスの実装

既存の仕組みへの機能追加

既存処理の刷新

既存アーキテクチャの最適化

モバイル/

Web

by オージス総研 by サイオステクノロジー

IoT

by PSソリューションズ by リクルートライフスタイル

データ分析/

データレイク

(46)

代表的な検討対象領域

規模/負荷の⾒積もりの観点で…

将来予測が難しい

ü

新規事業

ü

スタートアップ

ü

共通機能部分

時間/時期による変動が⼤きい

ü B2C

サービス

ü B2B

連携

ü

スケジュール型の

タスク処理

アプリ機能要件の観点で…

機能変更頻度が⾼い

ü

新規事業

ü

スタートアップ

ü B2C

サービス

ü

連携処理

ü

規制対応領域

多くのデータ種別を取り扱う

ü

データレイク前後の

データ変換/加⼯処理

ü IoT

センシングデータ

(47)

Project 責任者向け

ビジネス価値とは?

- 事例 Pickup

- IDC調査レポート

アーキテクト向け

ユースケースパターン

- 16 のパターン

- 組み合わせ活⽤例

これからの開発者向け

サーバーレス技術情報

- ハンズオン・技術資料

- 開発環境、Tips...

amzn.to/2UJT4bB

amzn.to/2WeZ1xz

amzn.to/2WeZuQl

3つのサーバーレス関連Webページ

(48)

参照

関連したドキュメント

016-522 【原因】 LDAP サーバーの SSL 認証エラーです。SSL クライアント証明書が取得で きません。. 【処置】 LDAP サーバーから

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ

Conditions for transmitter specifications unless otherwise specified with the antenna network from AX−SFUS Application Note: Sigfox Compliant Reference Design and at 902.2 MHz?.

Conditions for transmitter specifications unless otherwise specified with the antenna network from AX−SFEU Application Note: Sigfox Compliant Reference Design and at 868.130

FLOW METER INF-M 型、FLOW SWITCH INF-MA 型の原理は面積式流量計と同一のシャ

多核種除去設備等の サンプルタンク ALPS処理⽔等貯留タンク または ALPS

○池本委員 事業計画について教えていただきたいのですが、12 ページの表 4-3 を見ます と、破砕処理施設は既存施設が 1 時間当たり 60t に対して、新施設は