edb postgres on kubernetes2019/11/05  · devops中...

11
EDB Postgres on Kubernetes EnterpriseDB ⾼鶴勝治 1 Copyright EnterpriseDB Corporation, 2019. All rights reserved.

Upload: others

Post on 22-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

EDB Postgres on Kubernetes

EnterpriseDB⾼鶴勝治

1 Copyright EnterpriseDB Corporation, 2019. All rights reserved.

Page 2: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.2

エンタープライズ版 Postgres の成功

• テクニカルサポート

• レガシーデータベースからの解放

• ツール

• 高可用性

企業がコミュニティ版ではなく、エンタープライズ版のPostgreSQLを使う理由

Page 3: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.

EDB Postgres Platform

3

Page 4: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.4

クラウドへのデータベース移⾏の 2 つの道

CONTAINERS DBaaS

IT中⼼

データベースは多くのアプリの中⼼的なリソース開発者のためのセルフサーブ主な要因︓⽣産性と管理性通常はパブリッククラウドで開始

新規および既存のアプリケーション

DevOps中⼼

データベースはアプリケーションの構成要素⾃動/スクリプト化されたデプロイメント

主な要因︓移植性と⾃動化通常はプライベートクラウドで開始

主に新しいアプリケーション

VS.

Page 5: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Kubernetes上にデータベースを実装する際のメリット

5

l 全ての開発者、オンデマンドで各自のデータベースを持つことができる

l 開発とテスを迅速にできる

l 全てのアプリケーションの実行において、インフラストラクチャをシンプルにできる

l Auto-scalingやself-healingを自動デプロイが可能

App App

App

pod

pod

pod

pod

Copyright EnterpriseDB Corporation, 2019. All rights reserved.

Page 6: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Kubernetes上でデータベースを実装する際の問題

6

Kubernetes の制限事項

l データベースにも拘らず、Kubenetes上は、通常のアプリケーションプログラムと同様に扱われる

• Kubernetes pods は self healing• マスターのdatabase pod がフェイル後、リスタートする際に、HAの実装が難しい

App App

App

pod

pod

pod

pod

Copyright EnterpriseDB Corporation, 2019. All rights reserved.

Page 7: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.7

Data Management & Automated Failover

Monitoring

Backup & Recovery

Read Scalability

Automated Operations

EDBによる解決方法

l EDB PostgresをDokcerイメージにパッケージング

l 実績のあるEFMを用いたHA構成(master-slave)

l エンタープライズ・クラスのツールを提供する(BART、PEM)

l 利用するK8s機能• Stateful Sets• Pod Anti-affinity• Config Maps• Secrets• Dynamic Persistent Volume

Page 8: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Data Management & Automated

FailoverRead

Scalability MonitoringDisaster Recovery

Automated Operations

EDB Postgres Advanced Server + EDB Postgres Failover Manager

pgPool:SQL Routing and Load Balancing

EDB Postgres Enterprise Manager:Monitor, Manage, Tune

EDB PostgresBackup and Recovery Tool

EDB PostgresKubernetes Operator

8

統合されたプラットフォーム:EDB Postgres on Kubernetes

Copyright EnterpriseDB Corporation, 2019. All rights reserved.

Page 9: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.9

MasterRead Replica

Read Replica

EPAS EPAS EPAS

Applications

Shared or Local Storage

Applications Kubernetes Cluster

Monitoring

Backup & Restore

Read Scaling

Automated Failover

Automated Operations

Operator

より使いやすいEDB Postgres

Page 10: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.10

クラウド ベンダーのロックイン回避

オンプレミス、パブリッククラウド、プライベートクラウド、ベアメタル、どこでも同じEDB Postgres

シームレスなフェイルオーバー

K8s の制限事項を乗り越え、データベースの高い可用性を実現

複雑さの軽減

データベースを DevOps に組み込むことで Postgres を

ソフトウェア配信パイプラインに統合

FLEXIBILITY HIGH AVAILABILITY MANAGEABILITY

ベネフィット

Page 11: EDB Postgres on Kubernetes2019/11/05  · DevOps中 データベースはアプリケーションの構成要素 動/スクリプト化されたデプロイメント ... Kubernetes上でデータベースを実装する際の問題

Copyright EnterpriseDB Corporation, 2019. All rights reserved.

THANK YOU

[email protected]

11