Slide 1

Slide 1 text

サーバーレスを実現する OpenShift Serverless Red Hat K.K. テクニカルセールス本部 2020/06

Slide 2

Slide 2 text

OpenShift Serverless のご紹介 GA April 2020

Slide 3

Slide 3 text

https://www.infoq.com/articles/kubernetes-workloads-serverless-era/ アプリケーションアーキテクチャの変遷 ● SOA → Microservice → Kubernetesを基本としたCloud Nativeアプローチへと進化 ● サービスの単位はより小さく分散化

Slide 4

Slide 4 text

Service Microservice Function > 単一の目的 > ステートレス > 独立してスケーリング > 自動化 > 単一のアクション > エフェメラル > 自律的 > 疎結合 サーバーレスアーキテクチャへの進化 f( )

Slide 5

Slide 5 text

どんな環境でも 実行可能 イベント駆動アプリ ケーション ビジネスロジックに 集中 柔軟な スケーラビリティ 必要な時に必要なだけコンテナ化されたコードを実行 ● イベントベースでオートスケール ● 使われていない時は0へスケール サーバーレスの価値

Slide 6

Slide 6 text

OpenShift Serverless ● 0からNへオンデマンドにスケーリング ● 複数のイベントソースを持つ強力な イベントモデル ● どのコンテナワークロードも サーバーレスとしてデプロイ ● Knativeベースでベンダーロックイン無し ● OperatorHubより利用可能

Slide 7

Slide 7 text

各レイヤーの役割と動作するコンポーネント Traffic routing Network resilience Security Kubernetes Istio Tekton Knative Camel-k Declarative programming Event orchestration Activation & scale-to-zero Service binding アプリケーション レイヤー インフラレイヤー Continuous integration GitOps Continuous delivery Routing and Transformation Technology Adaptors Error Handling Development Patterns Provisioning Scheduling & deployment Scaling & service discovery Monitoring & recovery

Slide 8

Slide 8 text

SERVING イベントドリブンでコンテナアプリ ケーションを実行するモデル。ゼロ にもスケールする。 イベントのConsumer/Producer共 通基盤として動作。 EVENTING Image https://unsplash.com/photos/qXakibuQiPU Knativeの機能 ※OpenShift Serverlessでは EventingはまだTP

Slide 9

Slide 9 text

● コードと設定 (Config) の分離 ● 不変のリビジョン ● オートスケーリング(未使用時には0にもなる) ● トラフィックの分割 ● 簡単かつ合理的なデプロイメントモデル ○ 単一のポート ○ 単一のコンテナ ○ No PersistentVolumes ● Knative eventingから呼び出し化 Knative Servingのコンセプト

Slide 10

Slide 10 text

● Configurations アプリケーションイメージと その構成を定義、変更した分だけRevision として残る ● Revisions コードと設定の不変なスナップ ショット ● Routes 特定リビジョンに対するingressを定 義、配分指定化 ● Services RoutesとConfigurationのセット を管理するトップレベルエンティティ (k8sの Serviceとは別物) Service Route Configuration Revision Revision Revision manages Routes traffic to records history of 10% 90% Knative ServingのResources

Slide 11

Slide 11 text

apiVersion: apps/v1 kind: Deployment metadata: name: lotto spec: replicas: 1 selector: matchLabels: app: lotto template: metadata: labels: app: lotto spec: containers: - image: cds19/lotto name: lotto ports: - containerPort: 8080 apiVersion: serving.knative.dev/v1alpha1 kind: Service metadata: name: lotto spec: replicas: 1 selector: matchLabels: app: lotto template: metadata: labels: app: lotto spec: containers: - image: cds19/lotto name: lotto ports: - containerPort: 8080 K8sの Service ま たは Ingress/Route が不要に! Knative Servingとk8sを比較 ※他にもHPAの設定等が減らせる為、 Vanila k8sと比較して記述量が大幅に減る

Slide 12

Slide 12 text

マイクロサービス, ファンクション, アプリケーション + イベント = OpenShift Serverless 12 Microservices Functions Apps Containers Infrastructure & Scheduling Containers Infrastructure & Scheduling Events Infrastructure

Slide 13

Slide 13 text

インストールとアップデート ● Operatorを使用して簡単にインストール ● OpenShift 組み込みのOperatorHubから デフォルトで利用化 ● Service Subscription からアップデート

Slide 14

Slide 14 text

Developer Experience 開発者がアプリケーションをデプロイする方法 に合わせてUIを設計 ● フロントとバックエンドコンポーネント間の 配置を可視化 ● イベントトリガーを可視化 ● スケールの変更とステータスの監視

Slide 15

Slide 15 text

サーバーレスコンテナ ユースケース1 : スケジューリングされたCron job 毎時 毎日 毎週 毎月 請求書発行 PDF変換 E-mail 領収書 データ取得 Crunchy data

Slide 16

Slide 16 text

https://medium.com/analytics-vidhya/automated-data-pipeline-using-ceph-notifications-and-kserving-5e1e9b99666 1 ユースケース2 : データ変換

Slide 17

Slide 17 text

Monolith Cloud Native Microservices Serverless Event-Driven Architecture サーバーレスに適切なランタイム = Quarkus - Kubernetes Native Java Istio Knative

Slide 18

Slide 18 text

Container First REST + CRUD Quarkus + GraalVM 0.055 Seconds Quarkus + OpenJDK 2.5 Seconds Traditional Cloud-Native Stack 9.5 Seconds 最初のレスポンスまでの時間も従来の Java Stackと比較して大幅改善 REST + CRUD Quarkus + GraalVM 35 MB Quarkus + OpenJDK 130 MB Traditional Cloud-Native Stack 218 MB “起動時間は 1分 から 400ミリ秒に”

Slide 19

Slide 19 text

Other public clouds Red Hat Advanced Cluster Manager for Kubernetes Edge Bare Metal Virtual Private Cloud Everything-as-a-Service ISV Containers and microservices AI/ML Analytics Serverless Red Hatで実現するハイブリッドクラウド環境 f( )

Slide 20

Slide 20 text

より深く学びたい方へ OpenShift Serverless Build and deploy serverless applications using an event-driven infrastructure on Red Hat® OpenShift® Tutorial Get started with your serverless journey Knative Blog series Knative: Serving your Serverless Services https://www.openshift.com/learn/topics/serverless

Slide 21

Slide 21 text

linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Thank you.