Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なぜアプリケーションのモダナイゼーションをしないといけないのか

kumakumakkk
September 12, 2020

 なぜアプリケーションのモダナイゼーションをしないといけないのか

kumakumakkk

September 12, 2020
Tweet

More Decks by kumakumakkk

Other Decks in Technology

Transcript

  1. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis

    non erat sem ユーザ フロント データベース キャッシュ ビジネスロジック
  2. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis

    non erat sem LB ユーザ カスタマ向け フロントロジック クライアント向け フロントロジック 管理者(社内)向け フロントロジック カスタマ向け ビジネスロジック クライアント向け ビジネスロジック 管理者(社内)向け ビジネスロジック  各種トランスコード 各種メッセージ送信 データベース キャッシュ ETL 各種モニタリング DWH
  3. Containers without Dockerfiles 1. Security audited 2. Build your code

    the Google Way 3. Container novices can deploy to container platforms 4. Quick & Easy Builds (e.g. trying out some new code) 5. Migrating from App Engine or Cloud Functions 6. Integrated with Google Cloud products
  4. Cloud Runとは? デプロイアプリケーション : HTTP の $PORT でリッスンするコードを持つ コンテナイメージ SSL

    ターミネーション 実行中のコンテナへの HTTP リクエスト 自由に設定可能な 1 から最大 80 の同時リクエスト数 ゼロから数千のインスタンスの自動スケーリング 100 ミリ秒単位での使用した CPU、メモリの従量課金制
  5. Cloud Run Developer friendly • YAML からデプロイ • Cloud Code

    • Cloud buildpacks • ソースコンテキスト • 継続的デリバリー • Events for Cloud Run • Cloud Workflows More flexibility • 4 GB RAM • 4 vCPUs • 1 時間のリクエスト タイムアウト • 最小インスタンス • SIGTERM • gRPC サポート • サーバーサイド ストリーミング Enterprise ready • GA • 12 のリージョン • VPC アクセス • Gradual rollouts • Cloud Artifact Registry • Multi-region • Cloud CDN • Identity Aware Proxy • Cloud Armor
  6. GCP Project VPC アクセス Cloud Memorystore Redis と Memcached に接続

    プライベート IP に接続 Shared VPC のサポート Cloud Run Serverless VPC Connector Cloud Memorystore VM Compute Engine Virtual Private Cloud Private IP Private IP
  7. Multi-region load balancing 外部 HTTP(S) ロード・バランシング経由 リクエストを最も近いサービスにルーティング するグローバル エンドポイント を公開

    地域的なサービス停止障害に強い GCP Project Cloud Load Balancing Cloud Run europe-west1 Cloud Run us-central1 Cloud Run asia-no heast1 San Francisco Paris https://example.com https://example.com
  8. Events for Cloud Run 他の GCP リソースから Cloud Run サー

    ビスをトリガー 多くのリソースタイプで起動 (Cloud Audit Logging を活用) CNCF オープンスタンダードで提供: 詳細は DEV309 セッションで (coming soon)
  9. { コンテナ コード { コンテナ アプリケーション 既存システム イベント/ウェブ + コンテナ

    ウェブ アプリケーション Kubernetes Engine Compute Engine Cloud Run App Engine Cloud Functions イベント駆動 Firebase ウェブ アプリケーションと モバイルバックエンド
  10. Kubernetes Engine Compute Engine Cloud Run App Engine Cloud Functions

    抽象化 アプリケーション どんなプログラム?接続方法は?ステートは? 使用中のソフトウェア、オペレーティングシステム CPU、メモリ、ディスク ネットワーク: ファイアウォールルール、 VPN、 ロードバランサ コンテナ・ランタイムコントラクト あらゆるプログラム言語、 HTTP リクエスト コード HTTPリクエスト イベント 関数定義
  11. Kubernetes Engine Compute Engine Cloud Run App Engine Cloud Functions

    必要条件 GPU、TPU、ハイブリッド、 特定の OS が必要 HTTP/S 以外のネットワークプロトコル GPU、TPU、特定のカーネルが必要、 Windows、ライ センスの必要条件、現行システムの移行 様々なプログラム言語の選択 コンテナで実行 アプリ: URL ルーティング、コードシェア、 トラフィック分割
  12. Kubernetes Engine Compute Engine Cloud Run App Engine Cloud Functions

    課金モデル リソース設定に応じた課金 リソース設定に応じた課金 使用量 / リソース 使用量に応じた課金 使用量に応じた課金
  13. Kubernetes Engine Compute Engine Cloud Run App Engine Cloud Functions

    チーム チームのインテグレーション: 開発、運用、セキュリティが連携 アーキテクチャの改善に対して前向き 様々なチーム構成やツール選択に適応可能 開発フォーカス ビルドツールとデプロイメントの決定権を持つチーム 開発フォーカス 開発フォーカス
  14. Buildpacks on Google Cloud • Google Cloud maintains a set

    of open source buildpacks for building containers to run on GKE, Anthos, & Cloud Run • Cloud Build native support for buildpacks • Cloud Run direct source deployments w/ buildpacks • Cloud Shell has pack pre-installed. • App Engine builds via buildpacks • Cloud Functions builds via buildpacks • Cloud Code deploy to Cloud Run with Buildpacks • Skaffold native support for buildpacks
  15. ネットワーク B ネットワーク A アプリ B アプリ A A P

    I A P I ゼロ トラストネットワーク
  16. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ
  17. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可
  18. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー
  19. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング
  20. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 ポリシー制御
  21. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 ポリシー制御 利用上限 レートリミット
  22. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 ポリシー制御 利用上限 レートリミット 可観測性 可観測性
  23. アプリ B アプリ A A P I A P I

    ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 ポリシー制御 利用上限 レートリミット 可観測性 可観測性 ロギング メトリクス 分散トレーシング トポロジー
  24. 業務ロジック ではない・・! 業務ロジック B 業務ロジック A A P I A

    P I ID ID セキュリ ティ セキュリ ティ 認証 認可 ネットワークレジリエンシー ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 ポリシー制御 利用上限 レートリミット 可観測性 可観測性 ロギング メトリクス 分散トレーシング トポロジー
  25. ネットワーク関連機能 業務ロジック B A P I ID セキュリ ティ 認証

    認可 ネットワークレジリエンシー レイテンシー 障害耐性 サーキットブレーキング ポリシー制御 利用上限 レートリミット 業務ロジック A A P I ID セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性 可観測性 ロギング メトリクス 分散トレーシング トポロジー
  26. 業務ロジック 業務ロジック A P I ID セキュリ ティ ネットワークレジリエンシー ポリシー制御

    可観測性 A P I ID セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性
  27. コンテナ B   コンテナ A 業務ロジック 業務ロジック A P I

    ID セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性 A P I ID セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性
  28. Pod   envoy(サイドカーコンテナ) コンテナ 業務ロジック 業務ロジック A P I ID

    セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性 A P I ID セキュリ ティ ネットワークレジリエンシー ポリシー制御 可観測性
  29. Pod   Envoy(サイドカーコンテナ) コンテナ 業務ロジック A P I ID セキュリ

    ティ ネットワークレジリエンシー ポリシー制御 可観測性 プラットフォーム / SRE チーム 開発チーム • 業務ロジックに集中 • とても軽量 • 可搬性が高い • 自動化 • スケーラビリティ • 高いセキュリティ • 制御が効く
  30. Cloud Datastore Cloud SQL Cloud Spanner Cloud Bigtable BigQuery Translation

    API Natural Language API Speech API Vision API App Engine Compute Engine Kubernetes Engine Cloud Functions Cloud Run Cloud Storage Cloud Pub/Sub Cloud Tasks Cloud Scheduler
  31. Cloud OnAir - APP210-JP Istio / ASM でグローバルにスケールするサービスを構築し よう -

    SVR105-JP 最適なコンピューティングの選択 - SVR224-JP Cloud Run の新機能 - SVR227 Buildpacks on Google Cloud 今日のピックアップセッション
  32. Cloud OnAir - APP236 - An App Modernization Story with

    Cloud Run - APP234 - Secrets in Serverless - 2.0 - OPS100 - Designing for Observability on Google Cloud - OPS101 - Managing Enterprise-scale Distributed Business & Operations on Google Cloud その他おすすめセッション
  33. Cloud OnAir Google Cloud Next ‘20: OnAir Google Cloud Next

    ’20: OnAir の セッションへのご登録はこちらから https://cloud.withgoogle.com/next/sf/japan