40
© 2016 Insight Technology, Inc. All Rights Reserved. Database as Code - サクッとテスト用DB環境をアプリチームに渡したい DevOpsを実現するテクノロジーの秘密

DBTS2016 Data as Code - Delphix

Embed Size (px)

Citation preview

Page 1: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

Database as Code -

サクッとテスト用DB環境をアプリチームに渡したい

〜 DevOpsを実現するテクノロジーの秘密

Page 2: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 2

自己紹介石川 雅也 (いしかわ まさや)

現職

株式会社インサイトテクノロジー 取締役 CTOビッグデータソリューション事業部FB: MasayaIshikawa

職歴

外資系HWベンダーにて、ミニコン/UNIX OS担当SE. 社内SE向け技術情報発信、トラブルシュート。crash dump解析、UNIX SCSI Device Driver改造とか

1993年 日本オラクルに入社。DBインフラ系テクニカルサポート、コンサルティング、トラブルシュート。

1995年 インサイトテクノロジー設立Oracleパフォーマンス管理ツール Performance Insight開発 (1995~)Oracleアクセスログ取得管理ツール PISO開発 (2004~)SQL Server版、富士通Symfoware版 PISO開発 (2005~)DBコンサルティング、トラブルシュート

2012年 DB専用IAサーバー Insight Qube 開発2013年 Actian DWH向けRDBMS 販売開始2015年 Delphix データ仮想化ソリューション 販売開始現在 NVMe, NVMe Fabric, 大規模分析/ストレージ基盤などをR&D中

Page 3: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

今日のセッションの目的とゴール

目的• DevOpsは海外では既にスタンダード。どーする日本?

• DBAの立場から DevOpsを啓蒙したい。

• でTest Data Management (TDM)の話と Delphixという製品を紹介したい

ゴール• TDMについて理解する

• Database as Codeについて理解する

• Delphixのテクノロジーとメリットを理解する

• DevOpsやらないとまずいなと思う

Page 4: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 4

今日のkeyword

TDM – Test Data Management

Delphix

Agile 開発、DevOps

IaC - Infrastructure as Code

Database as Code

Page 5: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 5

Test Data Management

Page 6: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 6

リファレンス製品Oracle TEST DATA MANAGEMENT PACKとは

仮想化やクラウド・コンピューティングなどの新しいデータセンター・テクノロジーの登場により、アプリケーション・データは急激に増加しています。本番データベース内に留まらず、関連するテスト、開発、本番データベース以外のその他のデータベースでも同様のことが起こっています。Oracle Test Data Management Pack を使用すると、アプリケーションの開発、トレーニングおよびテスト向けに、データセットの参照整合性を維持しながらサイズを縮小した本番データのコピーを作成できるため、企業ではストレージ・コストの削減を実現できます。Oracle Test Data Management Pack では、データ検出とアプリケーションのモデリングにより、エンタープライズ・アプリケーションの複雑なビジネス・ルールが自動的に実行され、正確な本番データのサブセットが生成されます。

http://www.oracle.com/technetwork/jp/oem/db-mgmt/511875-ja.pdf

Page 7: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 7

TDM Today (1) speed, work cost

インフラ担当者の作業コスト

承認オーバーヘッド

環境提供までの待ち時間

作業時間とコストテスト時間の減少

単体テスト環境

本番DB環境のコピーを申請

統合テスト環境

本番DB環境のコピーを申請

品質管理環境

本番DB環境のコピーを申請

開発環境

システム管理者DB管理者

本番DB環境のコピーを申請

各種リソースの確認

領域の確認と切り出し

ファイルシステムの構成

バックアップファイルのコピー

DBのリカバリー

DBのパラメータ調整

環境の引き渡し

数日の待ち時間

ストレージ管理者

セキュリティの確保

Page 8: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

データコピー データコピー

900GB 900GB 900GB 900GB

開発システム

単体テストシステム

統合テストシステム

品質管理システム

バックアップシステム

900GB

8

TDM Today (2) environment

テスト・開発環境には予想以上にストレージ容量が必要

節約のため環境削減、共同利用など

本番システム 900GB合計5.4TB

HWコストアップテスト・開発時間の減少

Page 9: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

900GB 900GB 900GB 900GB

開発システム

単体テストシステム

統合テストシステム

品質管理システム

バックアップシステム

900GB

9

TDM Today (3) data quality

ストレージ容量、ロード時間短縮のためデータのサブセットを使用

本番システム 900GB

データ再現性減少によるテスト品質の低下

データサブセットのみ使用

100GB100GB100GB

自前で作成したダミーデータでのテスト

数MB 数MB

Page 10: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

900GB 900GB 900GB 900GB

開発システム

単体テストシステム

統合テストシステム

品質管理システム

バックアップシステム

900GB

10

TDM Today (4) data security

データマスキングの作業コスト

本番システム 900GB

マスキング作業コストテスト品質の低下

自前で作成したダミーデータでのテスト

社員 外注 外注 外注

ステージング

コピーマスキング

外注

Page 11: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 11

すべてDelphixで解決できる!!

インフラ担当者の作業コストボタン一つで環境作成

承認オーバーヘッドDev, QA担当で作業可能

環境提供までの待ち時間元のデータサイズにかかわらず数分で環境構築可能

テスト・開発環境には予想以上にストレージ容量が必要

節約のため環境削減、共同利用などデータは圧縮かつ仮想化されており、格納効率は数10倍以上

仮想化されているため数100個の環境を作成するのも現実的

Page 12: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 12

すべてDelphixで解決できる!!

ストレージ容量、ロード時間短縮のためデータのサブセットを使用本番のフルデータを使用しても、ストレージ容量、ロード時間の問題は発生しない

自前で作成したダミーデータでのテスト本番データを元に作成しているので、データの考慮漏れなどによる不具合などは発生しない。

データは常に(本番と同じ)最新状態に保つことが可能であり、テスト品質の確保にプラス。

データマスキングの作業コストデータの物理的コピーを伴わないため短時間でマスキング終了かつステージング環境は必要ない

一度定義すると、最新データも自動的にマスキング、常に最新でセキュアな環境を提供可能

Page 13: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

Sync

Vers

ion

Virtualize

Apps Files

Databases

Delphix 会社概要• 本社:米国カリフォルニア州 Menlo Park市

• 設立:2008年 / 正式製品リスース:2011年 / 従業員数: 387名

• 日本法人:2015年1月1日開設、現在5名(営業/エンジニア/マーケティング)

• 経営陣及びチーム

– CEO: Jedidiah Yueh (Avamar社創業者CEO (EMCにより買収))

– その他:Oracle Fusion Cache発明者 / Oracle Flashback Database発明者 / Oracle

RACディレクター / VMWare EVP / Business Objects創業者 / ZFS共同発明者など

• 導入企業:世界252社、日本国内6社 (2016年2月現在)

投資家

顧客 (252社)

会社概要

Page 14: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

Sync

Vers

ion

Virtualize

Apps Files

Databases

ソースシステム(例えば、本番環境)の物理的なDB/ファイルシステム/アプリケーションを、仮想的にコピーした環境を作成し、継続的に同期する仮想化ソリューション

仮想環境は任意の時刻で作成することが可能。

仮想環境はソースシステムとは独立した読み書き可能な環境であり、自由な更新が可能。

圧縮、重複排除技術によりソースデータは約1/3~1/4に圧縮して格納。

仮想環境作成時、実データは複製されず使用する領域はほぼ増加しない。したがって、ソースのサイズにかかわらず仮想環境作成は数分で終了。

仮想化したデータに対して自動的で継続的なマスキングが可能。

コアテクノロジー

Page 15: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

開発

NFS, iSCSI

テスト

品質保証QA)

統合

分析

帳票

DELPHIXエンジン

App Binaries, Files

DB Binaries, Files

Database

ソースシステム(本番環境など)

App Binaries, Files

DB Binaries, Files

Data Warehouse

ソースシステム(本番環境など)SHARED

DATA

+

CHANGED DATA

Sync

Vers

ion

Virtualize

Apps Files

Databases

高圧縮同期/差分情報コピー

物理容量を消費せず仮想環境を複数複製

任意の時刻でプロビジョニング

マスキングや物理環境へのリストアも可能

コアテクノロジー

Page 16: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

開発 QA 受入テスト本番環境

1 TB

App Data Files

Sync

Vers

ion

Virtualize

Apps Files

Databases

非本番環境

重複排除 圧縮 仮想化により領域追加消費なし ユニークなブロックマッピング技術

0.3 TB

コアテクノロジー

Page 17: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

0 2 4 6データベースをリフレッシュ

従来

環境レフレッシュ

テスト

環境レフレッシュ 環境レフレッシュ

期間 (週)

リセットによりテスト業務効率が大幅に向上

Developer BASIS DBA

サイクルタイムを3〜5倍に引き上げ、更に多くのテストを実行

テスト数の増加

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

テスト

リフレッシュ時間を短縮(数日レベル→数時間レベル)

データベースをリセットすることにより待ち時間を削減

リセットにより処理ステップ数を削減>> 削減できたリソースを他のプロジェクトに配分

すぐに使えるテストデータにアクセス可能

数分以内でリセット >> クオリティの高いテストが行え、且つ作業量を大幅に削減

Page 18: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

Delphixによるバージョン管理

Dev

QA

UAT

Dev

QA

UAT

v. X.2

Dev

QA

UAT

v. X.3

本番システムのタイムフロー

仮想化により、複数開発プロジェクトの同時実行が可能になり、また異なるデータベースのデータ及びスキーマ変更履歴管理が容易に

Page 19: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

SAPアプリケーションプロジェクト:ランドスケープの仮想化従来:典型的なSAPプロジェクトランドスケープ

QA開発 本番前

プロジェクトライン

N+1

プロジェクトライン

N

サポートライン

サンドボックス

QA 本番開発

QA開発 本番前サンドボックス

QA開発 本番前

プロジェクトラインN+複数

プロジェクトライン

N

サポートライン

サンドボックス

QA 本番開発

QA開発 本番前サンドボックス

• コピー作成、リフレッシュに数週間• 物理コピーのためのインフラコスト• 環境が共有されており、且つ多くの制約があるため

テスト、バリデーション作業に遅延が発生

同時開発を連続的に実行 >> チームあたりの生産性が20%向上仮想化されたフルデータセットにより1/20まで物理容量を削減サンドボックス提供により、更に多くのトレーニングクラス

N+複数N

Page 20: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

エンドツーエンドの統合テストを円滑化

10:27:36 A.M. 1:30:20 P.M. 5:07:15 P.M.

ECC

BW

CRM

レガシーアプリ在庫管理

Developer BASIS

時間がかかっていたリフレッシュ作業を簡単なセルフサービスで代替 >> 削減できたリソースを他のプロジェクトに配分可能

数分以内で確実にデータ同期 >> クオリティの高いテストが行え、且つやり直し作業削減

DBA

主要業務プロセスにおけるエンドツーエンドの透過性とコントロールを提供

新規アプリのリリースマネジメント及びTTMの高速化

全て環境ライフサイクルにおいて、簡単な操作で指定した時間のデータを瞬時に同期

Page 21: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

今までのプロセス:複雑、他部署との連携、承認COMPLEX. COSTLY. SLOW.

データ管理プロセスの迅速化

VS.SELF SERVICE. EFFICIENT. ON DEMAND.

EMPOWERED USERS: SELF-SERVICE

DATA AS A SERVICEセルフサービス効率化より速く→より高品質

Page 22: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. © 2014 Delphix. All Rights Reserved Private and confidential 22

Delphixによるセルフサービス (DBAを介さず、好きな時に好きなデータ断面を取出し)

任意の時間にマーキング他ユーザへコメント共有

Page 23: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

“DATA AT RISK” IS IN DATABASES

お客様テーブル

ID First_Name

1 George

2 Mary

3 John

従業員テーブル

ID First_Name

5 John

6 George

7 Mary

お客様テーブル

ID First_Name

1 Romanth

2 Clara

3 Damien

従業員テーブル

ID First_Name

5 Damien

6 Romanth

7 Clara

未マスクデータ マスク済データ

データマスキングにより非本番環境の機密データを保護

現実性テストや分析のためにリアリティのある値を

保持参照整合性

多数のデータベースが混在した環境でも整合性を保ちながらデータをマスキング

非可逆性機密データを不可逆的

に置き換える

反復可能更新されたデータも常に同期し自動的にマス

キング

本番環境内の機密データ社会保障番号(マイナンバー) 、

クレジットカード番号、患者情報、

Eメールアドレス等

Page 24: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

アプリケーションプロジェクトを加速化させるデータセキュリティソリューション

一般的なマスキング

1.物理データを毎回マスキングし移動させる時間・手間を回避

2.セキュアな環境を数分でデリバリ

3.セルフサービスでマスキングデータをプロビジョニング

開発、テスト、QA 環境

18時間

コピー作成

マスク済データ

6時間

コピー作成

コピー作成

マスクされたゴールデンコピーの作成

開発、テスト、QA 環境に対してマスクされた仮想コ

ピーを提供

15分

マスク済データ

4時間

Page 25: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

Products & Add-Ons

Delphixエンジン– The Virtual Data Hub• ソフトウェアアプライアンス、一台ずつ課金

• サポートプラットフォーム:

• VMWare, AWS EC2• サポートデータソース:

• Oracle, Microsoft SQL, Sybase, DB2, PostgreSQL, MySQL• Packaged Applications: Oracle EBS, SAP• Linux, Unix & Windows File Systems

アドオン• Data Masking: In-Line Data Masking for All Sources• U2L: Unix to Linux Translation• Multi-Tier: All Supported DBs, Applications & File Systems• JetStream: Agile Development Toolkit• Mission Control: Advanced Reporting & Auditing

Sync

Vers

ion

Virtualize

Apps Files

Databases

Page 26: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 26

DevOps

Page 27: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 27

コードのデプロイ頻度 30倍 リードタイム 1/200 エラー 1/60 エラーからの復旧時間 168倍

Page 28: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 28

DevOps Guide – Selected Resources to Start Your Journey: © 2015 IT Revolution Press

Page 29: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 29

de:code 2016 黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション

Page 30: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 30

Page 31: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 31

Agile開発 - Before DevOps

アジャイル開発 http://www.nec-nis.co.jp/ja/column/01_agile.html

Agile Testing

Agile Infrastructure(Infrastructure as Code)

Page 32: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 32

DevOpsTools1. Automated infrastructure2. Shared version control3. One step build

and deploy4. Feature flags5. Shared metrics6. IRC and IM robots

Culture1. Respect2. Trust3. Healthy attitude about failure4. Avoiding Blame

Page 33: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

• Infrastructure as Code (IaC)

• 継続的インテグレーション

• 自動テスト

• 継続的デプロイ

• リリースマネジメント

• アプリ パフォーマンスの監視

• ロード テストと自動スケーリング

• 可用性監視

• 変更/構成管理

• 機能フラグ(フューチャーフラグ)

• 環境へのプロビジョニングの自動解除

• セルフサービス環境

• 自動回復 (ロールバックとロールフォワード)

• 仮説に基づく開発

• 運用環境でのテスト

• フォールトインジェクション

• 使用状況監視/ユーザー テレメトリ

http://www.itproguy.com/devops-practices/Agile Japan 2016 「日本でも出来る 本物の DevOpsジャーニー」より

Page 34: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

DevOps ToolsContinuous

Integration Jenkins, Teamcity, Travis

Configuration Management Puppet, Chef, Ansible

ConfigurationInspection Sonarqube, HP Fortify, Coverity

Containerization& Virtualization

Docker, Vagrant, OpenStack, Hyper-V, VMware

Version Control & Deployment DBmaestro

Orchestration Apach Zookeeper, Apache Mesos

Monitoring Nagios

DelphixData Management

Page 35: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

スプレッド取引業界最大

競争の激しい市場

既に実現していた仕組み

- リリースマネジメントの自動化

- 継続的統合

- テストの自動化

- 高速設定・削除

開発グループはスクラム、TDD、BDDを採用

SAFe及びAgilePMによるアジャイル開発

“Best Mobile Trading Platform” を受賞 (atMoneyAMOnline Finance Awards)

事例

“We turned to Agile to increase ITs value to the business and make it more effective.“

Page 36: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

テスト及びリリースマネジメントにおけるデータコピーが常にボトルネック

スクラムのメリットがリリース時間で奪われる

同時に8プロジェクトを実行

複数の本番データのリストアにそれぞれ4時間必要

開発サイクルが長期化

リソースの依存関係に悩まされる

イノベーションを犠牲に

課題

“We found ourselves having to sacrifice new innovative projects in order to prevent delivery rates from slipping.”

Page 37: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

MS SQL Server 2008のデータをDelphixにより仮想化

POC1ヶ月で構築

短期間で効果発揮

ソリューション

4時間かけていたDB作成を3分に短縮

共有して使っていたQA環境が不要

30名の開発者がセルフサービスでデータを利用

インフラ側管理者はデータコピー以外の重要な作業に注力

開発サイクルを75%短縮

アプリケーション・追加機能を更に20%多くデリバリ可能

成果

“Delphix has unlocked the potential of Agile helping us increase our output to the

business by 20%.”

Page 38: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 38

Wrap Up

• Test Data Management に Database仮想化を入れると• DBインフラ担当の工数削減、環境整備という(いわゆる)面白くない仕事を極小化出来る

• 素早く柔軟な環境提供、本番フルデータを安全に提供することにより、開発・テスト効率の大幅アップ

• ストレージコストの削減

• DevOpsに Database as Code を入れると• DevOps環境で今まで仮想化・コード化されておらず足を引っ張っていたデータおよびデータベース、その最後のピースを改善してDevOpsのスピードアップを実現

Page 39: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved. 39

Page 40: DBTS2016 Data as Code - Delphix

© 2016 Insight Technology, Inc. All Rights Reserved.

記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.