Upload
masaya-ishikawa
View
398
Download
5
Embed Size (px)
Citation preview
© 2016 Insight Technology, Inc. All Rights Reserved.
Database as Code -
サクッとテスト用DB環境をアプリチームに渡したい
〜 DevOpsを実現するテクノロジーの秘密
© 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中
© 2016 Insight Technology, Inc. All Rights Reserved.
今日のセッションの目的とゴール
目的• DevOpsは海外では既にスタンダード。どーする日本?
• DBAの立場から DevOpsを啓蒙したい。
• でTest Data Management (TDM)の話と Delphixという製品を紹介したい
ゴール• TDMについて理解する
• Database as Codeについて理解する
• Delphixのテクノロジーとメリットを理解する
• DevOpsやらないとまずいなと思う
© 2016 Insight Technology, Inc. All Rights Reserved. 4
今日のkeyword
TDM – Test Data Management
Delphix
Agile 開発、DevOps
IaC - Infrastructure as Code
Database as Code
© 2016 Insight Technology, Inc. All Rights Reserved. 5
Test Data Management
© 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
© 2016 Insight Technology, Inc. All Rights Reserved. 7
TDM Today (1) speed, work cost
インフラ担当者の作業コスト
承認オーバーヘッド
環境提供までの待ち時間
作業時間とコストテスト時間の減少
単体テスト環境
本番DB環境のコピーを申請
統合テスト環境
本番DB環境のコピーを申請
品質管理環境
本番DB環境のコピーを申請
開発環境
システム管理者DB管理者
本番DB環境のコピーを申請
各種リソースの確認
領域の確認と切り出し
ファイルシステムの構成
バックアップファイルのコピー
DBのリカバリー
DBのパラメータ調整
環境の引き渡し
数日の待ち時間
ストレージ管理者
セキュリティの確保
© 2016 Insight Technology, Inc. All Rights Reserved.
データコピー データコピー
900GB 900GB 900GB 900GB
開発システム
単体テストシステム
統合テストシステム
品質管理システム
バックアップシステム
900GB
8
TDM Today (2) environment
テスト・開発環境には予想以上にストレージ容量が必要
節約のため環境削減、共同利用など
本番システム 900GB合計5.4TB
HWコストアップテスト・開発時間の減少
© 2016 Insight Technology, Inc. All Rights Reserved.
900GB 900GB 900GB 900GB
開発システム
単体テストシステム
統合テストシステム
品質管理システム
バックアップシステム
900GB
9
TDM Today (3) data quality
ストレージ容量、ロード時間短縮のためデータのサブセットを使用
本番システム 900GB
データ再現性減少によるテスト品質の低下
データサブセットのみ使用
100GB100GB100GB
自前で作成したダミーデータでのテスト
数MB 数MB
© 2016 Insight Technology, Inc. All Rights Reserved.
900GB 900GB 900GB 900GB
開発システム
単体テストシステム
統合テストシステム
品質管理システム
バックアップシステム
900GB
10
TDM Today (4) data security
データマスキングの作業コスト
本番システム 900GB
マスキング作業コストテスト品質の低下
自前で作成したダミーデータでのテスト
社員 外注 外注 外注
ステージング
コピーマスキング
外注
© 2016 Insight Technology, Inc. All Rights Reserved. 11
すべてDelphixで解決できる!!
インフラ担当者の作業コストボタン一つで環境作成
承認オーバーヘッドDev, QA担当で作業可能
環境提供までの待ち時間元のデータサイズにかかわらず数分で環境構築可能
テスト・開発環境には予想以上にストレージ容量が必要
節約のため環境削減、共同利用などデータは圧縮かつ仮想化されており、格納効率は数10倍以上
仮想化されているため数100個の環境を作成するのも現実的
© 2016 Insight Technology, Inc. All Rights Reserved. 12
すべて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社)
会社概要
© 2016 Insight Technology, Inc. All Rights Reserved.
Sync
Vers
ion
Virtualize
Apps Files
Databases
ソースシステム(例えば、本番環境)の物理的なDB/ファイルシステム/アプリケーションを、仮想的にコピーした環境を作成し、継続的に同期する仮想化ソリューション
仮想環境は任意の時刻で作成することが可能。
仮想環境はソースシステムとは独立した読み書き可能な環境であり、自由な更新が可能。
圧縮、重複排除技術によりソースデータは約1/3~1/4に圧縮して格納。
仮想環境作成時、実データは複製されず使用する領域はほぼ増加しない。したがって、ソースのサイズにかかわらず仮想環境作成は数分で終了。
仮想化したデータに対して自動的で継続的なマスキングが可能。
コアテクノロジー
© 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
高圧縮同期/差分情報コピー
物理容量を消費せず仮想環境を複数複製
任意の時刻でプロビジョニング
マスキングや物理環境へのリストアも可能
コアテクノロジー
© 2016 Insight Technology, Inc. All Rights Reserved.
開発 QA 受入テスト本番環境
1 TB
App Data Files
Sync
Vers
ion
Virtualize
Apps Files
Databases
非本番環境
重複排除 圧縮 仮想化により領域追加消費なし ユニークなブロックマッピング技術
0.3 TB
コアテクノロジー
© 2016 Insight Technology, Inc. All Rights Reserved.
0 2 4 6データベースをリフレッシュ
従来
環境レフレッシュ
テスト
環境レフレッシュ 環境レフレッシュ
期間 (週)
リセットによりテスト業務効率が大幅に向上
Developer BASIS DBA
サイクルタイムを3〜5倍に引き上げ、更に多くのテストを実行
テスト数の増加
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
テスト
リフレッシュ時間を短縮(数日レベル→数時間レベル)
データベースをリセットすることにより待ち時間を削減
リセットにより処理ステップ数を削減>> 削減できたリソースを他のプロジェクトに配分
すぐに使えるテストデータにアクセス可能
数分以内でリセット >> クオリティの高いテストが行え、且つ作業量を大幅に削減
© 2016 Insight Technology, Inc. All Rights Reserved.
Delphixによるバージョン管理
Dev
QA
UAT
Dev
QA
UAT
v. X.2
Dev
QA
UAT
v. X.3
本番システムのタイムフロー
仮想化により、複数開発プロジェクトの同時実行が可能になり、また異なるデータベースのデータ及びスキーマ変更履歴管理が容易に
© 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
© 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の高速化
全て環境ライフサイクルにおいて、簡単な操作で指定した時間のデータを瞬時に同期
© 2016 Insight Technology, Inc. All Rights Reserved.
今までのプロセス:複雑、他部署との連携、承認COMPLEX. COSTLY. SLOW.
データ管理プロセスの迅速化
VS.SELF SERVICE. EFFICIENT. ON DEMAND.
EMPOWERED USERS: SELF-SERVICE
DATA AS A SERVICEセルフサービス効率化より速く→より高品質
© 2016 Insight Technology, Inc. All Rights Reserved. © 2014 Delphix. All Rights Reserved Private and confidential 22
Delphixによるセルフサービス (DBAを介さず、好きな時に好きなデータ断面を取出し)
任意の時間にマーキング他ユーザへコメント共有
© 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メールアドレス等
© 2016 Insight Technology, Inc. All Rights Reserved.
アプリケーションプロジェクトを加速化させるデータセキュリティソリューション
一般的なマスキング
1.物理データを毎回マスキングし移動させる時間・手間を回避
2.セキュアな環境を数分でデリバリ
3.セルフサービスでマスキングデータをプロビジョニング
開発、テスト、QA 環境
18時間
コピー作成
マスク済データ
6時間
コピー作成
コピー作成
マスクされたゴールデンコピーの作成
開発、テスト、QA 環境に対してマスクされた仮想コ
ピーを提供
15分
マスク済データ
4時間
© 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
© 2016 Insight Technology, Inc. All Rights Reserved. 26
DevOps
© 2016 Insight Technology, Inc. All Rights Reserved. 27
コードのデプロイ頻度 30倍 リードタイム 1/200 エラー 1/60 エラーからの復旧時間 168倍
© 2016 Insight Technology, Inc. All Rights Reserved. 28
DevOps Guide – Selected Resources to Start Your Journey: © 2015 IT Revolution Press
© 2016 Insight Technology, Inc. All Rights Reserved. 29
de:code 2016 黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション
© 2016 Insight Technology, Inc. All Rights Reserved. 30
© 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)
© 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
© 2016 Insight Technology, Inc. All Rights Reserved.
• Infrastructure as Code (IaC)
• 継続的インテグレーション
• 自動テスト
• 継続的デプロイ
• リリースマネジメント
• アプリ パフォーマンスの監視
• ロード テストと自動スケーリング
• 可用性監視
• 変更/構成管理
• 機能フラグ(フューチャーフラグ)
• 環境へのプロビジョニングの自動解除
• セルフサービス環境
• 自動回復 (ロールバックとロールフォワード)
• 仮説に基づく開発
• 運用環境でのテスト
• フォールトインジェクション
• 使用状況監視/ユーザー テレメトリ
http://www.itproguy.com/devops-practices/Agile Japan 2016 「日本でも出来る 本物の DevOpsジャーニー」より
© 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
© 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.“
© 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.”
© 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%.”
© 2016 Insight Technology, Inc. All Rights Reserved. 38
Wrap Up
• Test Data Management に Database仮想化を入れると• DBインフラ担当の工数削減、環境整備という(いわゆる)面白くない仕事を極小化出来る
• 素早く柔軟な環境提供、本番フルデータを安全に提供することにより、開発・テスト効率の大幅アップ
• ストレージコストの削減
• DevOpsに Database as Code を入れると• DevOps環境で今まで仮想化・コード化されておらず足を引っ張っていたデータおよびデータベース、その最後のピースを改善してDevOpsのスピードアップを実現
© 2016 Insight Technology, Inc. All Rights Reserved. 39
© 2016 Insight Technology, Inc. All Rights Reserved.
記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。
Copyright 2016 Insight Technology, Inc. All Rights Reserved.