OCI Serverless Introduction
2019.10.15 OCIJP#2
Suguru Sugiyama
1 Copyright © 2019 Oracle and/or its affiliates.
OCIJPとは
Oracle Cloud の UserGroup です
URL : https://fullenergy-oci.connpass.com/
Safe harbor statement
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon in making purchasing
decisions.
The development, release, timing, and pricing of any features or functionality described for
Oracle’s products may change and remains at the sole discretion of Oracle Corporation.
2 Copyright © 2019 Oracle and/or its affiliates.
自己紹介
3 Copyright © 2019 Oracle and/or its affiliates.
Twitter : sugimount
Qiita : sugimount
• 得意なこと
• コンテナ, サーバレス, IaaS全般
• 好きなOCIサービス
• Oracle Functions, OKE
• 日本オラクル Solution Engineer
• 杉山 卓 (すぎやま すぐる)
OCIの記事
約50個書きました
今日はなすこと
4 Copyright © 2019 Oracle and/or its affiliates.
• サーバレスの定義
• Oracle が提供するサーバレスサービスの紹介
• サーバレスアプリケーション のデモ
サーバレスって?
5 Copyright © 2019 Oracle and/or its affiliates.
まれによくある誤解
「それサーバあるじゃん」
CNCFの定義(意訳)
6 Copyright © 2019 Oracle and/or its affiliates.
https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview
• サーバ管理が不要な実行モデルのこと
• アプリケーションアップロード後は、サービス提供側でよしなに運用
• 需要に応じて、自動的にスケーリング・使用した分だけ課金
• 以下の片方 or 両方を提供しているサービスがサーバレス
• FaaS (Functions-as-a-Service)
• BaaS (Backend-as-as-Service)
FaaS (Function-as-a-Service) とは
7 Copyright © 2019 Oracle and/or its affiliates.
• 処理を行うコード(=Function)を、Public Cloud にお任せして実行
• サーバ自体の保守は不要
• 良く知られているサービス
• AWS Lambda, Google Cloud Functions, Azure Functions, IBM Cloud Functions
FaaS サービス
Function
アップロード
必要な時に、イベントドリブンで実行
BaaS (Backend-as-a-Service) とは
8 Copyright © 2019 Oracle and/or its affiliates.
• アプリケーションの一部として利用可能な、サービスのこと
• メッセージキュー、Pub/Subキュー、認証、データストアなど
アプリケーション アプリケーション
自分で開発
自分で開発
BaaS 置き換え
サーバレスのメリット / デメリット
9 Copyright © 2019 Oracle and/or its affiliates.
メリット デメリット
• インフラ管理不要
• 自動スケール
• 開発効率の向上 (疎結合)
• 使った分だけ課金
• コールドスタート問題
• Function の実行時間上限
• 一般的にRDBと相性が悪い
• ベンダーロックイン
• カスタマイズ性の範囲が狭い
Oracle Functions
10 Copyright © 2019 Oracle and/or its affiliates.
• OCI でも FaaS サービスを2019年7月に提供しました
• 特徴
• Docker Native
Dockerfile でコンテナを作成して、コンテナをアップロード
• OSSベース
Fn Project
どこでも環境が構築可能 (オンプレミス、他Public Cloud)
Oracle Functions の実行方法
11 Copyright © 2019 Oracle and/or its affiliates.
• CLI, SDK を経由して実行
• Events サービスから実行
• OCIのリソースの状態変化を検知して Function を起動
• 例) Object Storage にファイルを置くと、検知して起動
Compute Instanceのオートスケールを、検知して起動
• 定期実行 (今後追加予定)
Web経由で実行したいときは、どうすればいいの?
12 Copyright © 2019 Oracle and/or its affiliates.
• CLI, SDK を使用して実行は可能だが
Client 側に秘密情報を持つのでセキュリティが気になる
Web Browser
Oracle
Functions
秘密情報
Oracle Cloud
API Gateway で解決
13 Copyright © 2019 Oracle and/or its affiliates.
• API Gateway を使うことで、Oracle Functions を HTTPS で公開
• Client 側で秘密情報を持たなくてもOK!
Web Browser
Oracle
Functions
Oracle Cloud
API Gateway
OCI API Gateway
14 Copyright © 2019 Oracle and/or its affiliates.
• Oracle Functions を含めた、様々なリソースを HTTPS 公開
• 主な機能
• カスタムドメイン
• CORS対応
• Logging
• 認証 (Basic, APIKey, OAuth, MTLS, OCI IAM, IDCS)
• スロットリング
• 現在、制限付き利用提供中 https://go.oracle.com/LP=78019?elqCampaignId=179851
Serverless App Demo
15 Copyright © 2019 Oracle and/or its affiliates.
アーキテクチャ : 画像投稿
16 Copyright © 2019 Oracle and/or its affiliates.
Phoenix リージョン
(API Gatewayは、2019年10月現在、Phoenix リージョンで限定提供中のため)
API Gateway
Oracle
Functions
Tokyo リージョン
Object Storage
画像格納用
User
(Web Browser) 2. Object Storageの アップロード用URLを取得
Events
Oracle
Functions
Oracle DB
API Gateway
4. 画像メタデータ保存
(URL, 名前, 作成日時 など)
Oracle
Functions
3. アップロード用URL宛に、
直接画像をアップロード
Webサイト
ホスティング
1. 静的ページ取得
HTML, JavaScriptなど
アーキテクチャ : 画像取得
17 Copyright © 2019 Oracle and/or its affiliates.
Phoenix リージョン
(API Gatewayは、2019年10月現在、Phoenix リージョンで限定提供中のため)
API Gateway Oracle
Functions
Tokyo
Object Storage
画像格納用
User
(Web Browser)
Events
Oracle
Functions
Oracle DB
API Gateway
2.画像メタデータ取得
Oracle
Functions
3.画像メタデータ取得
(URL, 名前, 作成日時 など)
Webサイト
ホスティング
1. 静的ページ取得
HTML, JavaScriptなど
4. 画像を取得
まとめ
18 Copyright © 2019 Oracle and/or its affiliates.
• サーバレスの、メリット/デメリット
• メリット:サーバ管理不要
• デメリット:いままでのアーキテクチャーとは異なる
• OCI でも Serverless サービスを提供
• サーバレスつかっていき!
OCHaCafe
19 Copyright © 2019 Oracle and/or its affiliates.
• Oracle が 10/31 に主催するイベント
OCHaCafe でより詳細にサーバレスを取り上げ
https://ochacafe.connpass.com/event/147285/
Thank you
20 Copyright © 2019 Oracle and/or its affiliates.

OCI serverless introduction

  • 1.
    OCI Serverless Introduction 2019.10.15OCIJP#2 Suguru Sugiyama 1 Copyright © 2019 Oracle and/or its affiliates. OCIJPとは Oracle Cloud の UserGroup です URL : https://fullenergy-oci.connpass.com/
  • 2.
    Safe harbor statement Thefollowing is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2 Copyright © 2019 Oracle and/or its affiliates.
  • 3.
    自己紹介 3 Copyright ©2019 Oracle and/or its affiliates. Twitter : sugimount Qiita : sugimount • 得意なこと • コンテナ, サーバレス, IaaS全般 • 好きなOCIサービス • Oracle Functions, OKE • 日本オラクル Solution Engineer • 杉山 卓 (すぎやま すぐる) OCIの記事 約50個書きました
  • 4.
    今日はなすこと 4 Copyright ©2019 Oracle and/or its affiliates. • サーバレスの定義 • Oracle が提供するサーバレスサービスの紹介 • サーバレスアプリケーション のデモ
  • 5.
    サーバレスって? 5 Copyright ©2019 Oracle and/or its affiliates. まれによくある誤解 「それサーバあるじゃん」
  • 6.
    CNCFの定義(意訳) 6 Copyright ©2019 Oracle and/or its affiliates. https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview • サーバ管理が不要な実行モデルのこと • アプリケーションアップロード後は、サービス提供側でよしなに運用 • 需要に応じて、自動的にスケーリング・使用した分だけ課金 • 以下の片方 or 両方を提供しているサービスがサーバレス • FaaS (Functions-as-a-Service) • BaaS (Backend-as-as-Service)
  • 7.
    FaaS (Function-as-a-Service) とは 7Copyright © 2019 Oracle and/or its affiliates. • 処理を行うコード(=Function)を、Public Cloud にお任せして実行 • サーバ自体の保守は不要 • 良く知られているサービス • AWS Lambda, Google Cloud Functions, Azure Functions, IBM Cloud Functions FaaS サービス Function アップロード 必要な時に、イベントドリブンで実行
  • 8.
    BaaS (Backend-as-a-Service) とは 8Copyright © 2019 Oracle and/or its affiliates. • アプリケーションの一部として利用可能な、サービスのこと • メッセージキュー、Pub/Subキュー、認証、データストアなど アプリケーション アプリケーション 自分で開発 自分で開発 BaaS 置き換え
  • 9.
    サーバレスのメリット / デメリット 9Copyright © 2019 Oracle and/or its affiliates. メリット デメリット • インフラ管理不要 • 自動スケール • 開発効率の向上 (疎結合) • 使った分だけ課金 • コールドスタート問題 • Function の実行時間上限 • 一般的にRDBと相性が悪い • ベンダーロックイン • カスタマイズ性の範囲が狭い
  • 10.
    Oracle Functions 10 Copyright© 2019 Oracle and/or its affiliates. • OCI でも FaaS サービスを2019年7月に提供しました • 特徴 • Docker Native Dockerfile でコンテナを作成して、コンテナをアップロード • OSSベース Fn Project どこでも環境が構築可能 (オンプレミス、他Public Cloud)
  • 11.
    Oracle Functions の実行方法 11Copyright © 2019 Oracle and/or its affiliates. • CLI, SDK を経由して実行 • Events サービスから実行 • OCIのリソースの状態変化を検知して Function を起動 • 例) Object Storage にファイルを置くと、検知して起動 Compute Instanceのオートスケールを、検知して起動 • 定期実行 (今後追加予定)
  • 12.
    Web経由で実行したいときは、どうすればいいの? 12 Copyright ©2019 Oracle and/or its affiliates. • CLI, SDK を使用して実行は可能だが Client 側に秘密情報を持つのでセキュリティが気になる Web Browser Oracle Functions 秘密情報 Oracle Cloud
  • 13.
    API Gateway で解決 13Copyright © 2019 Oracle and/or its affiliates. • API Gateway を使うことで、Oracle Functions を HTTPS で公開 • Client 側で秘密情報を持たなくてもOK! Web Browser Oracle Functions Oracle Cloud API Gateway
  • 14.
    OCI API Gateway 14Copyright © 2019 Oracle and/or its affiliates. • Oracle Functions を含めた、様々なリソースを HTTPS 公開 • 主な機能 • カスタムドメイン • CORS対応 • Logging • 認証 (Basic, APIKey, OAuth, MTLS, OCI IAM, IDCS) • スロットリング • 現在、制限付き利用提供中 https://go.oracle.com/LP=78019?elqCampaignId=179851
  • 15.
    Serverless App Demo 15Copyright © 2019 Oracle and/or its affiliates.
  • 16.
    アーキテクチャ : 画像投稿 16Copyright © 2019 Oracle and/or its affiliates. Phoenix リージョン (API Gatewayは、2019年10月現在、Phoenix リージョンで限定提供中のため) API Gateway Oracle Functions Tokyo リージョン Object Storage 画像格納用 User (Web Browser) 2. Object Storageの アップロード用URLを取得 Events Oracle Functions Oracle DB API Gateway 4. 画像メタデータ保存 (URL, 名前, 作成日時 など) Oracle Functions 3. アップロード用URL宛に、 直接画像をアップロード Webサイト ホスティング 1. 静的ページ取得 HTML, JavaScriptなど
  • 17.
    アーキテクチャ : 画像取得 17Copyright © 2019 Oracle and/or its affiliates. Phoenix リージョン (API Gatewayは、2019年10月現在、Phoenix リージョンで限定提供中のため) API Gateway Oracle Functions Tokyo Object Storage 画像格納用 User (Web Browser) Events Oracle Functions Oracle DB API Gateway 2.画像メタデータ取得 Oracle Functions 3.画像メタデータ取得 (URL, 名前, 作成日時 など) Webサイト ホスティング 1. 静的ページ取得 HTML, JavaScriptなど 4. 画像を取得
  • 18.
    まとめ 18 Copyright ©2019 Oracle and/or its affiliates. • サーバレスの、メリット/デメリット • メリット:サーバ管理不要 • デメリット:いままでのアーキテクチャーとは異なる • OCI でも Serverless サービスを提供 • サーバレスつかっていき!
  • 19.
    OCHaCafe 19 Copyright ©2019 Oracle and/or its affiliates. • Oracle が 10/31 に主催するイベント OCHaCafe でより詳細にサーバレスを取り上げ https://ochacafe.connpass.com/event/147285/
  • 20.
    Thank you 20 Copyright© 2019 Oracle and/or its affiliates.