BT

Your opinion matters! あなたのご意見でInfoQが変わる!

DevOpsアプローチをデータベースに適用する

| 作者: Jeff Martin フォローする 6 人のフォロワー , 翻訳者 h_yoshida フォローする 0 人のフォロワー 投稿日 2017年11月29日. 推定読書時間: 2 分 |

あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。

原文(投稿日:2017/11/02)へのリンク

PASS Summit 2017の初日、RedgateエバンジェリストのSteve Jones氏が、DevOpsアプローチをデータベース管理に適用するためのヒントを公開した。氏の アプローチには、あらゆる規模のインストールに役立つヒントが含まれている。プレゼンテーションは2016年、Amazonがプロダクションレベルの変更を12秒間隔で導入した、という話題の紹介から始まった。これを取り上げた理由のひとつは、変更管理の効果的なアプローチによって、どの程度の変更を効果的に提供可能かを具体的に示すことだ。

データベースが持つデータ量とその役割の大きさを考えれば、運用中のデータベースの変更を成功させることは極めて重要だ。データベースに格納されているデータ量の例としてJones氏は、MicrosoftがAzureユーザから毎日収集するテレメトリデータの量が700テラバイトに達することを紹介した。(そう、テラバイトだ。)

Jones氏はここで、Gene Kim氏の挙げたDevOpsの3つの原則に注目する。

  1. システム思考
  2. フィードバックループの強化
  3. 実験と学習の文化

これらを基にJones氏は、DevOpsをデータベースに持ち込むためのテクニックについて論じた。 最初の基盤となるのは、バージョン管理システム(Git、SVNなど)を導入して活用することだ。次には、データベースコードをアプリケーションコードとまったく同じように扱うことが重要となる。第3は、そのVCS内に組織化されたシステムのセットアップし、メンテナンスすることだ – アプリケーションコードの格納に使用しているものと同じリポジトリでも可能だが、独自のリポジトリを使用してもよい。最後に、変更のコードレビューを使用して、それを重視することだ。

デプロイ前に開発環境以外でテストをする場合に、Jones氏が推奨するのは、運用データの一部ではなく、特別に用意したデータセットを使用することだ。最初は空のデータベース(DEV / UAT / STG / その他)から始めて、運用環境のユースケースを模した10~40行を追加しよう。

運用環境へのコードのデプロイは、すべてが一貫した方法で実施されなければならない。 手作業によるステップが必要ならば、詳細に文書化しておく必要がある。一貫性は重要だ。ユニットテストやプライマリキーの定義された適切なテーブルなど、重要な考慮事項が見落とされることなく、デプロイメント毎に同じ方法で実施されなければならない。

変更が失敗した場合のロールバックは難しい、とJones氏は考えている。データベースが関わる変更では特にそうだ。Jones氏は、ロールバックコードを記述して、デプロイメントに先立って(DEV/STG/その他で)テストしておくことを推奨する。これにより、必要な場合に実行可能なスクリプトが用意される。もうひとつの考慮すべきテクニックは、運用環境に変更をデプロイするが、その利用を機能フラグによってトリガするという、ダークデプロイ(dark deploy)の採用だ。一般公開する準備が整ったと見なされるまで、その機能をアクティブにはしない。Jones氏によると、Facebookは、Facebook Messengerのロールアウトに際してこのアプローチを採用し、同社のシステムが予想されるユーザロードを処理可能であることを確認したという。

この記事を評価

採用ステージ
スタイル

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT