エンタープライズネットワークの仮想化開発環境


11

エンタープライズ組織内の4人の開発者から成る小さなチーム向けに、仮想化を使用した開発環境の実装を試みています。これにより、開発環境、テスト環境、ステージング環境を個別に設定できるようになります。また、評価対象のシステムやツールの要件である新しいオペレーティングシステムへのアクセスが可能になります。既存のワークステーションクラスのマシンを再利用し、24GBのRAMとRAID-10を投入し、マシンをドメインに追加しようとするまで問題なく動作していました。

今、私たちは、時間の初めからすべてのエンタープライズ開発者が戦わなければならない戦争、つまり開発およびテスト環境のローカル制御のための戦いを始めています。ネットワークおよびIT管理者は、「ESXサーバーはエンタープライズ標準です」から「サーバーはクライアントVLANで許可されていません」から「[空欄に記入]は現在ローカルにあるスキルセットではありません」またはエンタープライズIT組織」。

必要に応じて、実稼働クラスのハードウェアと正式なITサポートを正当化することもできますが、時間がかかり、頭痛の種になります。その場合でも、これを実稼働システムとして扱うことでITリソースを正式に割り当てるには数か月かかる場合があります。そうしても、必要なローカル制御を失う可能性があります。

多くの皆さんが、非実稼働環境、特に仮想化の開発者による制御をめぐる同様の苦労を経験していると思います。そのため、私の質問は次のとおりです。

  1. インフラストラクチャ(ITおよびネットワーク)の人々を勝ち取り、これらのタイプのサイロを、一般に(そして当然のことながら)このタイプの非(集中管理)インフラストラクチャ?
  2. これは技術的な正当化の問題であると感じましたか?それとも、コントロールと所有権をめぐる政治的闘争の多くですか?
  3. IT管​​理の開発環境になった場合、日々の開発とテストにどれほどの障害がありましたか?
  4. これらのネットワークアクセスの問題を回避するために、開発環境を切断されたVLANまたは完全に独立したネットワークに移動することになった人はいますか?

また、これはHyper-V対ESXの聖戦ではありません(どちらでも構いません-ただし、Hyper-Vはこれらの目的のためにMSDNで「無料」であるため選択されました[はい、VMWareにも無料ツールがあります-一般的に、優れた管理ツールはそうではなく、 "Microsoftショップ"のローカル開発者が管理しやすいでしょう)-どちらに対する賛否両論はこの質問の範囲外です。

これは、仮想化と物理ハードウェアの比較でもありません。仮想化コンポーネントを使用しなくても、同じ質問をすることができます。

また、開発チームがパッチ管理とウイルス対策を管理するか、既存のエンタープライズシステムをサポートする場合は既存のエンタープライズシステムと統合することを既に保証していると仮定します。このシナリオは、さまざまな質問とともに、SFにも投稿されており、うまくいけば反対の視点を引き出すことができます。


開発者マシンを仮想化しようとしているのはなぜですか?どのような問題を解決しようとしていますか?とにかく開発者、ネットワーク管理者、およびIT管理者がこれを尋ねるので、ここでBeanを流出させることもできます。
ロバートハーベイ



2
わかりやすく言うと、オンデマンドの開発、テスト、および運用環境を個別に用意する機能が必要です。自動化された単体テスト/ CI。現在運用環境で実行されていないが、評価中のシステムまたはツールの要件であるOSおよび/またはツールへのアクセス。正直なところ、テストと展開のための段階的な環境を持っている開発者の利点と、一般的な仮想化の使用は受け入れられ、確立されたと思いました。確かに、ローカル管理者の制御はこれらすべてに必要というわけではありませんが、いくつか必要です。
ScottBai

1
あなたは私のケースを述べることに関して有効な点を述べています(利益)-しかし、それは実際には質問の一部でした。現在の開発環境は、開発者が制限された権限(ファイルコピー+個々のSQLデータベースDBOなど)を持つ本番サーバーへの展開と相まって、開発者ワークステーションで構成されています。明らかにこれは最適ではありません(私はそこに新しいですが、誰もがこれが大きな問題であることをすでに知っていました)。それ以外の場合、仮想化の部分は実際にこの役割を果たしている既存の物理マシンがあった場合よりも実際には重要な差別化要因ではないため、それは良い質問です。
ScottBai

回答:


7

あなたは「予約外」になり、それを正当化しようとしています。

これは仮想化に関するものではありません。それはコントロールと責任についてです。IT部門は、会社のシステムの安全性と信頼性に責任があります。それらが機能することを確認するために、ITはそれらを独自の管理下に置いています。ITの管理下にないシステムを構築したため、問題になりつつあります。

私の経験では、プログラマが自分のシステムを必要とする通常の理由は次のとおりです。

  • ITは応答しません。新しい環境を取得するには数週間かかりますが、今は必要です。
  • 制御が必要です。彼らはあなたにそれを与えません。許可を設定したり、コンポーネントをインストールしたりする必要があります。ITがあなたを許可しません。

最終的に、本番環境に行くときは、完全にロックダウンされたIT管理システムが必要になります。しかし、開発中には柔軟性が必要です。いくつかの提案:

  • 友達を作る。ITの一部の人々と知り合う。彼らと顔を合わせて話します。あなたの状況を説明し、何ができるか尋ねてください。質問するだけで、devサーバーの管理者権限を取得できる場合があります。
  • ローカルで実行します。ローカルマシンでアプリケーションの一部を実行できる場合、サーバーは不要かもしれませんし、ロックダウンされたDBインスタンスで逃げることもできます。
  • スポンサーを取得します。VPが「なぜ私のプロジェクトをブロックしているのですか?」プロジェクトスポンサーの影響力を活用します。
  • クラウドへ!プロジェクトの予算でまかなう場合は、EC2でホストするだけで、IT部門全体をバイパスできます。リスクはハッキングされており、企業情報をファイアウォールの外に出すことで解雇されています。
  • ロングゲームを実行します。適切に承認され管理されたサーバーへのリクエストを早期に提出してください。自作について苦情が出たら、まだ公式サーバーを待っていると言います。
  • 事前割り当て。将来必要になると思われるサーバーをリクエストします。次に、実際のニーズがあるときにそれらを再利用します。

非常に有効なポイント。スポンサーチップの+1は、ほとんどの場合魅力のように機能します!
サウルデルガド

これは素晴らしい答えです-私が必ずしも聞きたかったものではありませんが、頭に釘を打ったと思います。これは、開発者が開発環境に対する正当なニーズを持っているが、ITが対応しておらず、したがって彼らのニーズを満たすために彼らと協力しようとしていないという認識を持っている開発者の問題であることがわかりました。ハードウェアで遊ぶのが好きなのと同じように、開発環境(完全な権限)、テスト環境(展開のみの権限)、ステージング(権限なし)、本番(権限なし)のIT管理環境が提供されます)、そのすべてのインフラストラクチャを管理する必要はありません。
ScottBai

2

このような状況で私がアマチュアである限り、IT部門の追加費用(および拡張)の必要性を部門の長に正当化するには、適切で適切に構築された議論が必要と思われます。おそらく、問題を仲介し、提案の潜在的な価値を、それを払ってしまう人々に関連付けることができる優れたスピーカーが必要です。

問題は実際に考慮に値する問題です。あるグループは開発環境を望んでいますが、責任があると感じ、実際にシステム全体のセキュリティに責任がある他のグループに圧力をかけています。貴重な。

将来的に収益性の高いプロジェクトや開発者向けの無料環境のために特定のリソースをオフサイト化する機能が、コスト削減とリソース管理の手段としての仮想化の市場合理化に取って代わったのは印象的です。

誤解しないでください、仮想化に反対ではありません。しかし、開発グループが環境をより生産的にし、すべてを単に仮想化するよりも安全である可能性のある別の領域に資格を与えることを許可するための非常に良い説明可能なレソンがあることがしばしばあります。

確かに、オフィスは通常のオフィス間の部署にクラウドを使用することでお金を節約できます。そこでは非常に便利です。(それは仮想化の一種ですが、異なる、私は知っています)

しかし、アプリケーション/プログラムが仮想化の実装のために壊れているかどうか(つまり、スタンドアロンコンピューターでは発生しない)かどうかの質問があるため、開発者がデバッグできない不明なエラーを発生させたと仮定します。実際にはプログラミングではなく、VM実装にあるバグを追跡するために時間を無駄にするため、逆効果になります。

はっきりしていることを願っています。私はあなたの特定のケースについての答えはありませんが、これらは問題の観点から有用な考慮事項であると思います。そのような問題は関係する両方の部門、そしておそらくの代表者と率直に話し合うことを強くお勧めします最終的に購入を主張しなければならない企業経営者。したがって、良いスピーカーまたは仲介者の私の提案!

おそらくそれがより多くの従業員を必要とする場合、それは肯定的なことかもしれません(そこには失業者がたくさんあります)が、自分のグループ自身にサーバー管理者のような役割を追加するのに十分な開発者セクションのITスマートがあるかもしれませんか?

私はそれが実際に非常に重要であることを知っているので、私は軽んじたくはありませんが、既存の労働者への役割の統合と追加が個人的な時間にあまりにも多くの負荷をかけ、彼らはresする傾向があると思うことがあります、特に彼らが根本的に新しく成功したソフトウェアエンジニアリングの一部になりうる場合。

私はあなたの問題をうらやましくはありませんが、新しいデザイン、新しいソフトウェア、新しいアイデアをもたらすことに完全に従事している職場をenましく思います。幸運をお祈りします。私の貢献が何らかの助けになることを願っています。

ミハリー


1

IT部門には実際にポイントがあります。

おそらく、数百のシステムで数千のアプリケーションを管理しています。これを効果的に行う唯一の方法は、少数の選択された標準ソフトウェアスタックをさらに少ない標準ハードウェア構成で実行することです。

このルートをたどると、実稼働に近づくにつれてますます多くの問題が発生します。最悪の場合、アプリケーション全体をリファクタリングして、稼働する数日前に標準の実稼働環境で実行する必要があります。

ITグループと協力して、標準的なテスト環境を設定するよう依頼し、その対価を支払うことをお勧めします。-皮肉なことに、おそらく各環境に仮想マシンをセットアップします。

プログラマーはプログラミングする必要があります。ITインフラストラクチャの担当者にインフラストラクチャを提供させ、ネットワークの担当者にネットワークを構成させてください。

また、アプリケーションが非常に非標準的で、ITがテスト環境の構築を検討しない場合も、実稼働環境で入手する可能性はゼロになります。エンタープライズアーキテクトと話して、どの環境が標準であるかを見つけ、それらを使用してみてください。標準ソフトウェア/ハードウェアを使用してアプリケーションを実際に実装できない場合、例外的なケースとしてインフラストラクチャを承認するために、エンタープライズアーキテクチャの正式な要求を行う必要があります。


0

次のことを経営陣に主張する必要があります。

  1. 仮想化された環境持つことは、会社の具体的に述べられた1つ以上の要件(複数のプラットフォームをサポートする柔軟性など)を満たします。

  2. ITよりも低コストで、よりタイムリーに実装できます。

  3. 現地で管理することにより、コストを削減し、市場投入までの時間を短縮できます。

  4. ITのセキュリティとメンテナンスの懸念を満たすことができます。

  5. プログラマの生産性は影響を受けません。

最後の1つは大きい場合です。   この種の仮想化を専門とする多くの人々とこの問題について議論しました。ローカルPCと同じように応答性を高めるのに十分なハードウェアを投入するまでに、ハードウェアコストの節約はないというのです。

したがって、実証されたコスト削減は、構成の柔軟性と、それらの構成をすぐに変更できるという形で実現する必要があります。


ご関心とご回答ありがとうございます。しかし、Qまたは私たちの意図を理解しているかどうかはわかりません。あなたは仮想化に反対する議論をしていますが、それは問題ではありません。また、Qが請求書を支払っている人々に正当化する方法である場合、これが良いアイデアである理由でもありますが、私の質問はどちらでもありません。通常のビジネスコースの例外を許可することにより、請求書を支払わず、部門の生産性レベルを特に気にしない組織間部門をうまく機能させる方法です。それとも、それを正当化するだけの問題であり、すべてがうまくいっていると言っていますか?
ScottBai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.