非IT担当者向けのデータベースステージング環境


10

現在、データベースステージング環境をIT部門に提案しています。アイデアは、私のような非IT担当者(公共事業データアナリスト)がソリューションをテストする場所を持ち、自分で実際の環境に実装するか、必要に応じてITに実装を依頼するというものです。この環境が有益である理由/シナリオはいくつかあります。

  1. 私は(私たちのライブデータベース環境でいくつかの基本的なデータベース権限を持っているcreate tablecreate viewなど)。スキーマの変更は約1週間に1回行いますが、これらの変更を実際の環境でテストして実装するのは、私には異常です。データベースには無数の依存関係があるため、問題が発生した場合は悲惨なことになる可能性があります。むしろ、別の環境で事前にテストしておいたほうがいいです。
  2. 私のような、より高度な権限の一部はありませんcreate triggerか、create functionライブデータベース内を。これは問題ありませんが、トリガーや関数によって解決できる問題がいくつかあります。いくつかのアイデアを開発およびテストできるように、ステージング環境でこれらの権限を付与することを提案し、それらが機能する場合は、ITがそれらをライブ環境に実装することを提案します。
  3. 一般に、私のIT部門には、ソリューションを開発するための時間やリソースがありません。とても簡単です。ですから、私が自分でレッグワークを行うことができれば、私の問題ははるかに解決されるでしょう。

「非IT担当者向けのステージング環境」は、私にとっては十分に健全なアプローチのように思えますが、正直に言って、考えをまとめただけです。IT /データベースの世界でこれがどのように一般的に行われるのか私にはわかりません。

このシナリオに当てはまる確立されたIT /データベースプラクティスはありますか?(非IT担当者向けのデータベースステージング環境を提案するときに、私は正しい軌道に乗っていますか?)


1
アクセスしてはいけないデータベースに機密性の高いデータはありますか?簡単な回避策としては、データベースのバックアップを送信して、パソコンで復元し、本番環境を壊す心配なくプレイできるようにすることです。これは追加のリソースを必要とせず、彼らがする必要があるのはあなたにバックアップを送ることだけです。ただし、これは環境のセキュリティニーズに大きく依存します。
Shaulinator 2016

1
次に、自分の環境で使用するバックアップと復元は、低コストで簡単なソリューションだと思います。ただし、理想的には、互いに模倣する処理能力の層に及ぶ複数の環境が必要であり、変更を加えながら、環境全体にわたって徐々に段階的に変更します。私たちには、プレイして変更する開発者がいて、QAが行われる場所をテストするためにプロモートします。次に、ハードウェア用の製品とほぼ1:1の別の環境、そして製品が稼働する製品です。これは明らかにコストがかかります。同様のサーバー上に別のデータベースを持つことは別のアイデアです。
Shaulinator 2016

1
ただし、環境を完全に分離しておくことをお勧めします。クエリが暴走した場合に問題が発生する可能性を最小限に抑えます。
Shaulinator 2016

1
Oracle Database Express Editionはおそらく簡単な選択です。それをあなたのマシンにインストールし、メインのデータベースと同じようにテーブルをセットアップします。代表的なデータを読み込んで、好きなだけ開発/テストできます。準備ができたら、変更を送信してテスト/評価することができます。
Raj

1
@ Raj、Express Editionの問題は、その中に使用可能な機能がほとんどないことです。Wilson、Oracleの実際の機能はEnterprise Editionにのみ付属しているため、Shaulinatorはある程度触れていますが、Oracleライセンスはおそらく私がまだ検討していない最大の障害の1つです。オラクルは、私が認識している非本番環境オプションの安価なライセンスを提供していません。そのため、ライセンスだけではかなり高価なハードルがあります。単に予算上の問題があるため、クラウドはあなたにとって良い選択肢かもしれません。
John Eisbrener 2017年

回答:


2

@Marcin Gminiskiの回答に同意します。理想的には、本番環境で利用可能な機能を模倣した環境を用意したいと考えています。問題についての私の2セントはすべて「結局あなたは何を買うことができますか?」予算の制約は、多くの場合、優れたプロセスのキラーです。そのため、実際に余裕のあるものが最終的なソリューションの複雑さ/優雅さを決定します。

IT部門には環境を整えるための時間とスタッフが不足しているとのことですが、あなた(またはあなたの部門/マネージャー)は資金を用意することができますか?少額の年間資金を調達すると、クラウドを検討する可能性が広がります。クラウドプロバイダーは必要なすべてを提供し、一部のソリューションには適切なライセンスが含まれていることもあります。これは、多くの場合、Oracleに関連する最大のコストです。機密データをこの環境に投入しない場合、クラウドはさらに魅力的になります。

さまざまな種類のクラウドオプションが利用可能ですが、AWSのOracle RDSインスタンスは、ライセンス込みオプションを提供しているという理由だけで説明します。使用しない場合はオフにして、コストをさらに最小限に抑えることができます。同等のものは他のクラウドプロバイダーにも存在する可能性がありますが、私がよく知っている多くのクラウドプロバイダーは、包括的ライセンスを提供する代わりに、Oracleベースのソリューションの持参ライセンス(BYOL)を必要とします。

ここでの最後の注意として、AWS RDSインスタンスはデータベースのみであるため、必要なアプリサーバーインフラストラクチャも追加で説明する必要があります。クラウドは、費用対効果の高いアプローチでありながら、機能をテストするための迅速な環境が必要な場合に最適なオプションです。アイドル状態のサーバーに料金がかからないように、その上にいて、オフにしてください。


3

通常、まともな環境は、少なくともDEV-> TEST-> PRE-PROD-> PRODで構成されます。開発は通常、DEVでの開発、TESTおよびITでの受け入れテスト、PREおよびPRODでのリリースにアクセスできます。ソース管理を使用すると、異なる開発者が同じコードを同時に編集することに関する問題を回避できます。

技術的には、スキーマは製品と同じである必要があり、製品前の実稼働データは必要ありませんが、製品データを製品環境の外に置くことに問題がなければ、開発/テストへの自動復元が可能です。私はVisual Cronで同様の作業を行いましたが、驚くほどうまくいきます。

コンプライアンスを維持するために、IT担当者は変更をpreおよびprodにリリースする必要があります。これにより、これをより簡単で復元力のあるものにするために、自動展開のルートをたどることができます。


2

これが私の経験です:

もともとは、という中央開発環境がありましたsimserver。開発者は同時に物事をテストし、それは面倒になった

現在、各開発者は、simserverテストのために展開するローカルを持っています。準備ができたと彼らが言うと、にプッシュされますquality assurance (QA) environment。我々は持っているjira必要性が確認されることを何のためのテストケースを、プラス我々は(我々が開発をしない専用のQAスタッフ持って、ちょうどQAを)もう一度新しい追加をテストします。

その後、ライブ配信されます。

ローカルを作ることsimserverは論理的で簡単です。あなたが取得するとVM、テンプレートの準備ができて、開発者は、単に( -ちょうど彼らのローカルコンピュータネットワークの他の部分にアクセスすることなく)自分のパソコン上でそれらを展開します。


1
simserverにとって、彼はローカルにホストされているSQL環境を意味し、製品環境のある程度のミラーリング(単純なバックアップリストア?)があると思います...そのローカル環境で開発タスクを実行します。Jiraは、開発者とQAが変更を追跡できるようにするプロジェクト管理および問題追跡プラットフォームです。彼は、ローカルインスタンスで行われる提案された変更が開発者のjiraに投稿されると述べていると思います。レビュー。VMは仮想マシンです。
ウェス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.