大規模な金融/保険会社がgitやgithubを使用する理由


12

私は、金融/保険業界の大企業(従業員3万人)で働いています。「IT」は主な焦点ではありませんが、正直に言って、これらは情報主導型の産業であり、技術的優位性のある企業はより早く前進しているようです。

私の会社には多くのソフトウェア開発チームがいます。言語やフレームワークはもちろん、バージョン管理機能を備えたマップ上にあります。何も使用しない(知っている)、PVCSを使用するもの、VSSを使用するもの、SVNを使用するものがあります。

gitを企業に持ち込みたい。具体的には、GitHub(プライベートリポジトリ)を持ち込みます。これについて話すのにふさわしい人は知っていますが、正直言って、このような抜本的な動きは、あいまいなセキュリティの懸念や競合他社がそれを使用していないという事実のために、大企業の環境で通常撃ち落とされます参照としてjQuery、Ruby on Rails、Facebookなどのみを引用してください)。

私の質問はこれです。大企業がPVCS / VSS / SVNからGitHub(プライベートリポジトリ)などのホストされたgitソリューションにゆっくりと慎重に切り替える必要がある理由の最も説得力のある理由は何ですか。もちろん、私の計画の一部には、必須ではない開発プロジェクトのPOCが含まれます。


2
私も同じプロセスにいます(大規模な金融会社、従業員数10万...):stackoverflow.com/questions/3597747/…を
VonC

3
内部のgitリポジトリーから始めることができます。あなたはgitが素晴らしいと確信するかもしれませんが、決してコードを「外部」に置くことは許されません。

@VonC:他の質問をありがとう。その他:これまでのすばらしい回答/コメントに感謝します。私はそのような偉大なUIだと思うと離れてのgitから「技術的な痛み」の一部を取るので、私は、具体的GitHubの周りを、けれども質問に固執したいのですが
macca1

4
GitHubはGitHub Enterpriseを提供するようになりました。これにより、プライベートネットワークでGitHubをホストできますが、いくつかの準備を整えることができます。
M.ダドリー

回答:


25

無関心な第三者として、私が心配するかもしれないいくつかのことがあります。(IT部門に)答える準備ができているという質問を投げてみましょう。

  • バージョン管理はなしよりも優れています。選択肢がたくさんありますが、何が問題なのでしょうか?
  • 分散バージョン管理?あれは何でしょう?それをどのように制御しますか?
  • どれくらいかかるか?ソフトウェアだけでなく、サーバー、ライセンス、メンテナンスなども含まれます。
  • 私はGitHubの、または信頼していない任意の外部委託ホスティングを。すべてを社内で行う必要があります。独自のサーバーをセットアップできないのはなぜですか?
  • Windowsで実行できますか?現在のベースラインに維持する必要があります。
  • どのように物を保護しますか?SVNを取得しますが、これは私を怖がらせます。

これらが最初に出てくる質問です。VSSとPVCSについては、合理的に適切な引数(VSSがバージョン履歴を破損するなど)を思い付くでしょう。SVNはもう少し難しくなります。GITのマージ機能に焦点を当てることを強くお勧めします。また、Mercurialについて心を開いておくことをお勧めします。GITのすべての議論は、Mercurialの議論でもあります。Mercurialは、より成熟したWindowsサポートを備えています。

セキュリティは、金融機関および政府機関にとって最も重要です。外部でホストされるリソースに対して非常に抵抗力 があります。リスク管理の観点から、誰かがGitHubをハッキングしてソースコードを盗んだ場合、または問題追跡ツールに文書化されたセキュリティの脆弱性を発見した場合にどうなるかを検討してください。それは会社にとって壊滅的です。会社が法的に認められている場合、純粋な管理の観点から勤務時間ごとに料金を支払う必要がありますが、リソースがVPNネットワーク外にあるときに自宅で仕事をしているかどうかをどのように監視できますか?別の注意として、すべてのリソースが社外から入手できる場合に、どのようにして企業スパイを防ぐことができますか?これらは、ホスティングのアウトソーシングに対するITおよび管理上の議論です。大企業物事をこのように見なければなりません。中小企業の場合、最終的な収益と、これらすべてのサービスを導入するのにかかる費用を検討します。

実際、大企業が社内で行う方が安価です。 彼らはすでにITリソースを持っているので、責任を少しシャッフルする必要があります。そして、ソリューションが主に定期的なメンテナンス(バックアップとユーザー管理)のみを必要とする場合、企業のドアの内側にそれを保持する理由は他にもあります。

Windowsホスティングについては、組織ごとの問題です。いくつかの企業がWindows koolaidを飲み込んでいます。Linux koolaidを飲み込んだ人もいます。他の人は、ケースバイケースでそれを考慮します。IT部門が組織に設定したルールに従って遊ぶ必要があります。どちらかでソリューションをホストできる限り、あなたは最高です。

最後に、このような大規模な組織では、すべて自分たちのやり方でやりたいと思う領土が必ず存在します。 彼らはすべて、VSS、PVCS、SVN、またはあなたが何を選んだのか、説得力のある議論を持っています。ITにとってはすべて同じです。大規模な組織内で統合する唯一の方法は、上から順番に注文することです。このような注文には常に抵抗があり、標準化されたバージョン管理システムを持つことによる総所有コスト(TCO)の明らかな利点がない限り、おそらくあなたの会社が望むことではありません。


1
+1:ここに記載されている引数が有効でなかったとしても、「fief」という言葉を創造的に使用するために+1します。
ジョエルイーサートン

1
大企業が物事を見る方法を提示したかっただけです。誰もがそれらがすべて有効であるふりをすることはありませんが、あなたはそれらに対する答えを持たなければなりません。
ベリンロリチュ

1
私はこれらの点のいずれにも同意しません。すべての組織で有効なわけではありませんが、多くの組織でそれぞれ有効です。
ジョエルイーサトン

1
過去5年間で時間が変わったため、BitBucketまたは他のバリアントを社内でホストできます。さらに水を汚すために、Microsoft Team Foundation ServerはコアでGITを使用しているようであり、Visual StudioにはGITが組み込まれています。GITの議論は以前よりもはるかに強力になりました。また、GITはすべてのツールベンダー統合でMercurialを上回っているようです。良いニュースは、これらすべてを企業のインフラストラクチャと統合できることです(認証にActiveDirectoryや企業のLDAPを使用するなど)
Berin Loritsch

GitHubを外部でホストする必要はもうありません。
UpAndAdam

8

私は金融/保険会社でも働いています(ただし、現在働いている会社ほど大きくはありません)。また、複数の開発チームがあり、企業が開発するマイクロソフト製品を具体的に選択しましたが、マスターアーキテクチャ、言語、またはソース管理はまだありません。私たちはすべて.Netを使用していますが、フレームワークの異なるバージョンおよび異なる言語の複数のプロジェクトがあります。一部のプロジェクトではVSSを使用し、他のプロジェクトではTFSを使用します。現在、QAマネージャーとして新しい高レベルのアーキテクトがいます。彼は、ホッジポッジバグトラッキング、ソース管理、フレームワークの使用からTFSのより普遍的な実装へのエンタープライズ移行を先導しています。これは、彼がa)ソフトウェアの性質に非常に経験があるという事実によってのみ可能になります。

自分の組織内でこれに対処するには、最初にいくつかのことを考慮する必要があります。

  1. なぜあなたはGitHubの答えに夢中になりますか?共通のソース管理をお探しですか、それとも快適なものを実装する理由をお探しですか?答えはわかりません(率直に言って気にしません)が、これは他の人のビジネスでうなずき始めるときに出てくる質問です。
  2. 現在、これらのソフトウェアチームのいずれかと提携していますか?はいの場合、コンセプトを擁護するために、関係のない、適切な位置にある個人を見つける必要があるかもしれません。そうしないと、他の開発チームは、自分の考えを刻み込もうとしていると感じるかもしれません。彼らはすでに機能するものを持っているので、彼らは概念に対してさらに抵抗力があります(彼らの意見では)。
  3. 他のチームの個人にアウトリーチを行って、コンセプトに賛同を得ましたか?他の開発者も同様の意見や懸念を持っていますか?それを達成するための別の手段は、作業を実行する人々の間で批判的な集団をフォローすることです。より多くの人々が共通のソースリポジトリを要求し始めるにつれて、管理者は注意を払わなければなりません。
  4. 他のチームのコード/プロセス/要件に十分に精通しており、GitHubは彼らのために働く(または働かない)と言っていますか?

最後の(または実際の)質問については、ビジネスマネージャーの観点から見た長期的な唯一の真の説得力のある理由は、それがお金を節約できるということです。これらの節約は、ダウンタイムの削減、コードセキュリティの向上、開発者の生産性の向上、コードベースの冗長性の向上(バックアップ用)などの形で実現できます。最終的に行う必要があるのは、このようなモデルへの移行に費やされた時間、労力、およびお金が最終的に投資の見返りとして価値があることを確認することです。また、最終的に「ゆっくりと意図的に」同じモデルが将来サポートされることを示す必要があります。

このような企業の変化はドクトリンに多くの影響を与えるため、草の根スタイルの熱意が必要になります。このコンセプトを擁護するには、VPレベルの誰かが必ず必要です。マネージャーは働くかもしれませんが、エグゼクティブは他のグループに概念を刷り込むためのより多くの権限を持ちます。


4

そのような企業は、リポジトリを一元化する必要があります。SVN、VSS、およびPVCSには共通点が1つあります。これらはすべてクライアントサーバーアーキテクチャです。Gitは分散VCSとして設計されており、本質的に分散型です。

GitHub-さらに問題があります。これは外部サービスです。外部サービスのソースコードは、経営陣が受け入れない可能性が高いものです。

ただし、双方が満足できる解決策があります。Gitにはgit-svnコマンドがあります。基本的にはSVNリポジトリがありますが、一部の開発者は独自のローカルGITリポジトリを選択し、それを集中SVNリポジトリと同期することもできます。プライベートブランチまたはコミットされていないパッチの送信に代わる優れた手段。git-svn統合のための良いハウツー


集中リポジトリー設定に同意します。Git-SVN相互運用に関して:GitHubは、GitリポジトリへのSVNアクセスを提供するようになりました。また、会社がホストするリポジトリはSubGitなどのツールの恩恵を受ける場合があります。
vadishev

githubは外部である必要はありません
UpAndAdam

1

これらの回答のいくつかは、GitHubに投稿されてからの変更のため、GitHubとセキュリティに関するコメントに関してはかなり古くなっています。

  • GitHub は外部からのホストを強制しません
  • GitHub の無料版は、この制限を設けています。
  • 内部ホスティングに利用可能なGitHubのエンタープライズバージョンがありますhttps://enterprise.github.com/home。無料ではなく、もちろん費用がかかります

私が働いている会社はそれを使い始めたばかりで、私たちのコードは企業秘密であり、金融​​部門に属しているため、まったく同じ懸念がありました。それとは別に、GitHubを使用しないGITを使用する他の方法がありますが、これは類似したもの、redmine、gitosisなどです...

「誰が使用しているのか」という質問について:PayPal、Etsy、rackspace、vimeo、SAP、NASAのJPL、Linux Kernel

説得力のある技術的な理由は、リストするには多すぎます。ここで注目に値する唯一のものは、他の回答が指摘している高レベルの大企業の問題です。私が考えることができる最大のものは、一貫性、均一性、明確な監査、監査の単純さです。これらの他のVCSシステムの多くに関する問題の宝庫を解決することは大きなものです。

異なるシステム間で統合、監査、レポート、およびそれらを制御するために、異なる奇抜なスクリプトを作成する必要があるすべての部門への重複した労力が削減されます。

  • 取引会社のような偏執的な環境でSVNを使用しなければならないたびに、不条理な「コンプライアンス」と「セキュリティ」のフックはパフォーマンスに非常に有害でした。

開発者の見込み客から技術的な使用上の問題を説明したので、これを言います。15年以上の総使用量で、GITとともにCVS、SVN、CMVC、クリアケース、パーフォース、およびその他のシステムをプロフェッショナルな環境で使用しました。誰かが私にGIT以外のものを使用したい場合(おそらく最後の2つの設定に応じてbzr、mercurial、perforce、clearcaseを除く)、私はすぐに他の場所で時間を費やしたほうが良いと思います。 私は2009年に(CVSとSVNにわずかな許容範囲を拡張しましたが)その結論に近づきました。SVNが職場でどのように使用されているかという短期間にうんざりしていました。 GITへの移行を説得するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.