Mais conteúdo relacionado
Semelhante a Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa) (20)
Mais de Insight Technology, Inc. (20)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
- 1. © 2018 Insight Technology, Inc. All Rights Reserved.
Database as Code
DBMSシステムの開発速度を上げろと
無茶振りされているDBAのあなたへ
- 2. © 2018 Insight Technology, Inc. All Rights Reserved.
自己紹介
◼ 石川 雅也 (いしかわ まさや)
◼ 現職
• 株式会社インサイトテクノロジー 取締役 CTO
プロダクト開発本部
インサイトラボ
◼ 職歴
◼ 外資系HWベンダ UNIX担当SE, トラブルシュート、crash dump解析、Device Drive改造
• 1993年 日本オラクル DBインフラ系SE, トラブルシュート、コンサルティング
• 1995年 インサイトテクノロジー設立
Oracleパフォーマンス管理ツール Performance Insight (1995~)
Oracleアクセスログ取得管理ツール PISO (2004~)
SQL Server版、富士通Symfoware版 PISO (2005~)
DBコンサルティング、トラブルシュート
2012年 ビッグデータソリューション事業部 新規立ち上げ
高速DB専用IAサーバー Insight Qube
Actian Vector DWH向けRDBMS 販売開始 (2012~)
Delphix データベース仮想化ソリューション販売開始(2016~)
(2016年 PostgreSQL版、MySQL版 PISO)
2017年 プロダクト開発本部 2018年 インサイトラボ
- 3. © 2018 Insight Technology, Inc. All Rights Reserved.
今日のセッションの対象とゴール
対象
• 「新しいシステムの開発速度を
上げろ!! 品質は落とすな!!」
「うちはDevOpsでアジャイル開
発が出来ているのか!!」
と、上司に言われているDBA
• CI/CDやDockerと RDBMSは相
性が悪いと思っているDBA
ゴール
• Delphixのテクノロジーとメリッ
トを理解する
• Database as Codeについて理解
する
• CI/CDにRDBMSを組み込んでみ
よう と思う
- 4. © 2018 Insight Technology, Inc. All Rights Reserved. 4
Agenda
• システムの開発速度を落としている原因を
DBMSの観点から考える
• システムの開発速度を上げるには?
• CI/CDを前提とする開発環境では
• ユースケース
- 5. © 2018 Insight Technology, Inc. All Rights Reserved. 5
システムの開発速度を落としている原因を
DBMSの観点から考える
- 6. © 2018 Insight Technology, Inc. All Rights Reserved. 6
1. 環境作成の工数と提供速度
◼ インフラ担当者の作業コスト
◼ 承認オーバーヘッド
◼ 環境提供までの待ち時間
環境作成コスト
Agilityの欠如
単体テスト環境
本番DB環境の
コピーを申請
統合テスト環境
本番DB環境の
コピーを申請
品質管理環境
本番DB環境の
コピーを申請
開発環境
システム管理者DB管理者
本番DB環境の
コピーを申請
各種リソースの
確認
領域の確認と
切り出し
ファイルシステム
の構成
バックアップ
ファイルのコピー
DBのリカバリー
DBのパラメータ調整
環境の引き渡し
数日の
待ち時間
ストレージ管理者
セキュリティの確保
- 7. © 2018 Insight Technology, Inc. All Rights Reserved.
データコピー データコピー
900GB 900GB 900GB 900GB
開発
システム
単体テスト
システム
統合テスト
システム
品質管理
システム
バックアップ
システム
900GB
7
2. 潤沢ではない環境リソース
◼ テスト・開発環境には予想以上に
HWリソースやストレージ容量が必要
本番システム 900GB
合計 5サーバー/5.4TB
HWコスト
環境の競合
◼ 節約のため環境削減、開発・テスト環境の共同利用
- 8. © 2018 Insight Technology, Inc. All Rights Reserved.
900GB 900GB 900GB 900GB
開発
システム
単体テスト
システム
統合テスト
システム
品質管理
システム
バックアップ
システム
900GB
8
3. テストデータのクオリティ
◼ ストレージ容量、ロード時間短縮のため
データのサブセットを使用
本番システム 900GB
データ再現性減少による
テスト品質の低下
データサブセットのみ使用
100GB100GB100GB
◼ 自前で作成したダミーデータでのテスト
数MB 数MB
- 9. © 2018 Insight Technology, Inc. All Rights Reserved.
900GB 900GB 900GB 900GB
開発
システム
単体テスト
システム
統合テスト
システム
品質管理
システム
バックアップ
システム
900GB
9
4. セキュリティ担保のための追加工数
◼ データマスキングの作業コスト
本番システム 900GB
マスキング作業コスト
テスト品質の低下
◼ 自前で作成したダミーデータでのテスト
社員 外注 外注 外注
ステージング
コピーマスキング
外注
- 10. © 2018 Insight Technology, Inc. All Rights Reserved. 10
DBMSから見た開発速度を落とす原因
1. 工数と時間
• 開発・テスト環境作成に工数がかかる、環境提供までに時間がかかる
2. リソース不足
• 環境の共同利用、潤沢ではない環境リソース
3. データクオリティ
• テストデータのクオリティ、本番再現性の低いデータ
4. データセキュリティ
• マスキング工数もバカにならない
- 12. © 2018 Insight Technology, Inc. All Rights Reserved.
開発
NFS, iSCSI
mount
テスト
品質保証(QA)
DELPHIXエンジン
App Binaries, Files
DB Binaries, Files
Database
ソースシステム(本番環境など)
SHARED DATA
+
CHANGED
DATA
データバックアップ
(元データの1/3~1/4
まで圧縮)
物理容量を消費せず
仮想環境を
複数複製
任意の時刻で
プロビジョニング
自動で継続的な
マスキング
Delphixの機能
仮想化システム テスト&開発
独立した環境
(1人に1システム)
仮想環境作成が
数分で完了
物理環境への
プロビジョニング
(V2P)も可能
エンドユーザーによる
セルフサービスも可能
- 13. © 2018 Insight Technology, Inc. All Rights Reserved.
block pointerblock pointerblock pointer
開発 QA 受入テスト
本番環境
1 TB
App Data Files
非本番環境
✓ 重複排除
✓ 圧縮
✓ 仮想化により領域追加消費なし
✓ ユニークなブロックマッピング技術
0.3 TB
実データブロック
コアテクノロジー
- 14. © 2018 Insight Technology, Inc. All Rights Reserved.
block pointerblock pointerblock pointer
開発 QA 受入テスト
本番環境
1 TB
App Data Files
非本番環境
✓ 重複排除
✓ 圧縮
✓ 仮想化により領域追加消費なし
✓ ユニークなブロックマッピング技術
0.3 TB
実データブロック
コアテクノロジー
NFS/iSCSI
mount
NFS/iSCSI
mount
NFS/iSCSI
mount
- 15. © 2018 Insight Technology, Inc. All Rights Reserved.
block pointerblock pointerblock pointer
開発 QA 受入テスト
本番環境
1 TB
App Data Files
非本番環境
✓ 重複排除
✓ 圧縮
✓ 仮想化により領域追加消費なし
✓ ユニークなブロックマッピング技術
0.3 TB
実データブロック
コアテクノロジー
NFS/iSCSI
mount
NFS/iSCSI
mount
NFS/iSCSI
mount
Copy-on-write
更新
変更blockを時間管理
- 16. © 2018 Insight Technology, Inc. All Rights Reserved. 16
セキュア構成 / クラウド対応
Node 2Node 1本番データ
DEV
QA
Firewall
本番環境 非本番環境
マスクデータの同期
• 帯域制御
• 圧縮転送
• 転送スケジュール
• 暗号化
自動マスキング
- 17. © 2018 Insight Technology, Inc. All Rights Reserved. 17
セルフサービス、コラボレーション
- 18. © 2018 Insight Technology, Inc. All Rights Reserved.
開発
NFS, iSCSI
mount
テスト
品質保証(QA)
DELPHIXエンジン
App Binaries, Files
DB Binaries, Files
Database
ソースシステム(本番環境など)
SHARED DATA
+
CHANGED
DATA
データバックアップ
(元データの1/3~1/4
まで圧縮)
物理容量を消費せず
仮想環境を
複数複製
任意の時刻で
プロビジョニング
自動で継続的な
マスキング
問題のほとんどを解決
仮想化システム テスト&開発
独立した環境
(1人に1システム)
仮想環境作成が
数分で完了
物理環境への
プロビジョニング
(V2P)も可能
エンドユーザーによる
セルフサービスも可能
1. 工数と時間
2. リソース不足
3. データクオリティ
4. データセキュリティ
- 19. © 2018 Insight Technology, Inc. All Rights Reserved. 19
CI/CDを前提とする開発環境では
- 20. © 2018 Insight Technology, Inc. All Rights Reserved.
CI/CD Tools
Continuous
Integration Jenkins, Teamcity, Travis
Configuration
Management Puppet, Chef, Ansible
Configuration
Inspection Sonarqube, HP Fortify, Coverity
Containerization
& Virtualization
Docker, Vagrant, OpenStack,
Hyper-V, VMware
Orchestration Kubernetes, Apache Mesos,
Docker Swarm
Monitoring Nagios
- 21. © 2018 Insight Technology, Inc. All Rights Reserved. 21
RDBMS と Docker
• Dockerはアプリケーション・デプロイが得意
• RDBMSの様なステートフルな環境と組み合わせるには、いろいろ面倒
• 各種RDBMSでDocker Imageの提供などDocker対応が進んでい
るが…
• しかし、製品初期導入イメージまで (当たり前)
• 開発・テストに使えるシステムを構築するには
• データロード
• バックアップからのデータベースリカバリ
• データファイルの(物理的)コピーによるリカバリ
などの作業が必須
- 22. © 2018 Insight Technology, Inc. All Rights Reserved.
CI/CD Tools
Continuous
Integration Jenkins, Teamcity, Travis
Configuration
Management Puppet, Chef, Ansible
Configuration
Inspection Sonarqube, HP Fortify, Coverity
Containerization
& Virtualization
Docker, Vagrant, OpenStack,
Hyper-V, VMware
Data
Management
Orchestration Kubernetes, Apache Mesos,
Docker Swarm
Monitoring Nagios
Delphix
- 23. © 2018 Insight Technology, Inc. All Rights Reserved. 23
事例 – City Index
• City Index社 - スプレッド取引業界最大
• 競争の激しい市場
• 既に実現していた仕組み
- リリースマネジメントの自動化
- 継続的統合
- テストの自動化
- 高速設定・削除
開発グループはスクラム、TDD、BDDを採用
• SAFe及びAgilePMによるアジャイル開発
• “Best Mobile Trading Platform” を受賞
(atMoneyAM Online Finance Awards)
“We turned to Agile to
increase ITs value to the
business and make it
more effective.“
- 24. © 2018 Insight Technology, Inc. All Rights Reserved. 24
事例 – City Index
• テスト及びリリースマネジメントにおける
データコピーが常にボトルネック
• スクラムのメリットがリリース時間で奪われ
る
• 同時に8プロジェクトを実行
• 複数の本番データのリストアにそれぞれ4時
間必要
• 開発サイクルが長期化
• リソースの依存関係に悩まされる
• イノベーションを犠牲に
課題
“We found ourselves having to
sacrifice new innovative
projects in order to prevent
delivery rates from slipping.”
- 25. © 2018 Insight Technology, Inc. All Rights Reserved. 25
事例 – City Index
• MS SQL Serverのデータを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%.”
- 26. © 2018 Insight Technology, Inc. All Rights Reserved. 26
事例 - StubHub
モバイルプラットフォーム開発 売上30%向上
課題:
全トラフィック及び売上の50%がモバイル関連
競争市場において月次リリースが常に遅延
複数の管理者がデータにアクセス=ハイリスク
ソリューション:
Delphixはデータデリバリーをセキュア且つ自動化
管理の一元化、証拠データの継続性
200以上の仮想DBコピーを並行稼働
リリース速度の改善 → 約400億円規模の売上増加に貢献
- 27. © 2018 Insight Technology, Inc. All Rights Reserved. 27
事例 - StubHub
Year 2014 2016 2018
OPS
環境を全て仮想化
プライベートクラウド
ストリーム化されたツール/
プロセスで環境を作成
パブリッククラウドに拡張
APPS 開発環境の並列化
環境作成とリフレッシュを
セルフサービス化
開発者間のコレボレーション
をセルフサービス化
Automation データ環境の自動作成
DevOpsのワークフローと
自動テストとの統合
CI/CDオートメーションを
クラウド環境と統合
Release
Speed
14~21+日
→ 2日
2日 → 2時間 CI/CD
- 28. © 2018 Insight Technology, Inc. All Rights Reserved. 28
Delphix 会社概要
• 本社:米国カリフォルニア州
• 設立:2008年 / 正式製品リリース:2011年 / 従業員数: 約500名
• 日本法人:2015年1月1日開設、
• 日本メンバー:現在4名(営業/エンジニア/マーケティング/サポート)
– ※経営陣及びチーム
– CEO: Chris Cook (New Relic, CA Technologies, Quest Software, BMC
Software)
– その他:Jedidiah Yueh (Delphix / Avamar創業者CEO) / Oracle Cache Fusion発明者
/ Oracle Flashback Database発明者 / Oracle RACディレクター / VMWare EVP /
Business Objects創業者 / ZFS共同発明者など
• Delphix Dynamic Data Platformの製品開発・保守・販売
投資家
顧客 (252社)
- 29. © 2018 Insight Technology, Inc. All Rights Reserved. 29
Wrap Up
• システム開発のスピードを、Database仮想化で加速する
• DBインフラ担当の工数削減、
環境整備という(いわゆる)面白くない仕事を極小化出来る
• 素早く柔軟な環境提供、本番フルデータを安全に提供
することにより、開発・テスト効率の大幅アップ
• ストレージコストの削減
• DevOpsに Database as Code(Database仮想化) を入れると
• DevOps環境で今まで仮想化・コード化されておらず足を引っ張って
いたデータおよびデータベース、その最後のピースを改善して
DevOpsのスピードアップを実現
- 30. © 2018 Insight Technology, Inc. All Rights Reserved.
記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。
Copyright 2016 Insight Technology, Inc. All Rights Reserved.
- 32. © 2018 Insight Technology, Inc. All Rights Reserved. 32
事例 – 自社製品 Database Test Option (仮)
• Database Test Option (仮)
• システム移行の際のアプリケーションの正常動作を担保するのは大変
• どんなSQLが実行されているか、不明なシステムは多数
• 弊社監査ログ取得製品PISOでは複数RDBMSのSQL文を取得
• そのSQL取得範囲を全体に広げれば、すべてのSQL文を取得して
SQLアセスメントツールとして位置づけられる
• 取得したSQL文を