オンラインでコードをホストする必要がありますか?


22

私たちは職場で優れたソース管理およびプロジェクト管理ソリューションを探しています。GitHub組織とプライベートリポジトリを作成することを提案しました。私は多くの理由でGitHubが大好きですが、これはGitHubについてではありません(実際、同僚は競合するプラットフォームを支持してポイントを提示するつもりです)- 私たちのプライベートコードをオンラインで保存することです

これが良いアイデアかどうかを理解しようとしています。サーバーコストの必要性を(少なくとも直接)排除し、コードの検索(すべてがオンライン)を容易にするため、間違いなく有利に思えます。

しかし、私たちのチームは未定であり、私の質問に私を導きます。この決定を下すために、私たちは何を考慮すべきですか?


13
githubを使用するためにコードをクラウドに保存する必要がないことに注意してください。彼らは、販売する企業向け製品
ゴートロボット

1
@StevenBurnapええ... 組織パッケージの価格の10倍です。=)
マチューギンドン

12
また注目すべきは、あなたはgitのを使用するのGithubを必要としない
ハリソンパイネ

6
コードだけではないことに注意してください。開発者がパスワードやSSLキーなどを誤ってコミットすることはよくあります。
ネイトCK

5
GitHubとは異なり、実際にはそれ自体がオープンソースであるGitLab Community Editionについても言及していないことに、私は率直に驚いています。GitLabを使用するためにコードをクラウドに保存したり、独自のソフトウェアを入手したりする必要はありません。(@StevenBurnap)
ワイルドカード

回答:


24

プロとして、

会社のオフィスが全焼した場合、コードはまだサーバー上にあります。

会社のオフィス焼け、gitリポジトリが配置されているサーバーに問題がない場合は、ローカルコピーが残っています。

会社のオフィスビルのサーバーでリポジトリをホストする場合(ネットワーク共有ドライブの場合のように...?)、会社のオフィスが燃え尽きると、両方が失われます。

もちろん、通常どおりバックアップが必要です...

「焼失」を「ランサムウェアに感染」に置き換えてください。

基本的に、可用性はアップしています。

短所として、

コードをホストするサードパーティとファイルを共有する必要があります。あなたが本当に大きな企業秘密を持っているならば、これは許されないかもしれません。たとえば、欧州市民の個人情報を含むデータベースがある場合、米国の第三者のコードをホストすることは許可されない可能性があります。 EUプライバシー法を支持します。法律上の問題ではない場合でも、第三者があなたの個人ファイルを提供するように買収される可能性があることに注意する必要があります。これは、サードパーティにとっては非常に悪いことでしょう(大きな評判のペナルティ)が、起こる可能性があります。

基本的に、機密性は低下しています。


可用性と機密性の取引に問題がない場合は、プライベートコードを第三者とオンラインでホストすることをお勧めします。そうでなければ、しないでください。上司が賢明な決定を下せるようにするためのトレードオフを説明できますが、「いいえ」と聞くかもしれません。それはあなたが誰かに決断を下した場合に起こりうることです。あなたの上司がノーと言ったら、それはそれです。私はあなたの上司に無理やり説得することは非常に良い考えだとは思いません。


これはリストの質問であるため、リストに追加するもう1つの短所は、ホスティング組織がGoogle Codeの道を行くとしたらどうでしょうか。
デビッドハンメン

@DavidHammenサーバーが焼失した場合、ローカルコピーがあります...しかし...予定外のメンテナンスに問題があると思います...?この点は両側で利用できると思います。自分のサーバーをホストしている場合はさらにダウンし、他の誰かがサーバーをホストしている場合は不便なときにダウンする可能性があります。この場合、githubは不正行為を行う可能性がありますが、サーバーも同様です。この場合、サードパーティが消滅する可能性は低いと思います。
Pimgd

9
gitを使用している場合、すべての開発者がリポジトリのコピーを持っていることに注意してください。(マイナスのプライベートブランチ。)
ロボット

3
@DavidHammenしたがって、サービスのサーバーが焼失した場合と同じように、ローカルコピーが残っています。そして、代替サービスに切り替えるか、すべてを社内に持ち込むかを選択できます。
8bittree

3
@ njzk2は、低遅延ネットワーキングのためですか?それともあなたが小さな会社だから?たぶん、あなたのインターネットは、総がらくたであり、あなたがあなたのファイルへの高速アクセスを持っているしたいのですが...
Pimgd

11

明らかに、それはプロバイダーに対する信頼の問題であり、ソースコードをどれだけ評価するのかということです。

しかし、少なくとも過去には、人々はソースコードを過大評価していることは明らかだと思います。

  • 「ビジネスプロセスオートメーション」製品の場合。社内チームがビジネスのニーズに特化したウェブサイトやその他のソフトウェアを作成します。他の人に対するそのソフトウェアの価値は一般的に非常に低いです。

  • 販売可能なソフトウェアの場合; これは販売しているバイナリであり、ソースコードにアクセスせずにコピーおよびハッキングすることができます。

第二に、コードを第三者に保存することで、実際に露出が現在のレベルを超えているかどうかも考慮する必要があります。多くの場合、それはしません

  • 例えば; 製品がバックエンドコードのないWebサイトの場合、コードは既に公開されています。
  • コンパイルされたコードが配布されている場合は、逆コンパイルできます。
  • コードがWebサイトまたはサービスであり、サードパーティでホストしている場合。その後、サードパーティがコードを逆コンパイルできます。
  • バックアップをサードパーティに保存すると、サードパーティはあなたのコードにアクセスできます。

要するに、ほとんどの現代の企業は、日々のビジネスでさまざまなサードパーティを信頼しています。彼らにとって不可欠でユニークなものでさえ。


3

この決定プロセスの一部は、少しのテスト、試行錯誤です。小さなプロジェクトを取り、いくつかのメンバーにいくつかの異なるサイトを試してもらいます。これはチームによる使いやすさをカバーするはずですが、他の考慮事項があります。

  1. 現在のインフラストラクチャ-一部の企業は、サーバー、インターネット接続、VPN、およびサーバーをホストするスキルを備えたスタッフを既に持っているため、コストと懸念の一部をはるかに簡単に吸収できます。スタートアップはこの種の投資をする必要がなく、より早く立ち上げて実行できるため、Githubのようなものを使用する傾向があります。
  2. 予算-#1の多くの側面がここに該当しますが、多額の価格タグを持つ他のソリューションが存在する可能性があります。一部の企業はコストを正当化できます。明らかに低予算で、多くのオプションが排除されます。
  3. チーム配布-全員が同じ時間帯に同じオフィスで働いている場合、githubは必要ないかもしれません。ファイルサーバーに負担がかかりすぎない場合は、Gitを使用してください。
  4. セキュリティ-セキュリティで保護された多くのサイトを見つけることができますが、一部のクライアントのセキュリティの認識はより重要です。独自の強固なネットワークを持つことは、彼らの自信を得るための正しいことかもしれません。セキュリティバッジ、網膜スキャナー、武装した警備員は、一部のクライアントにセキュリティを叫んでいます。
  5. トレーニング-アプリの使い方だけでなく、会社/チームが導入したいルールと手順があります。どのように物事をやりたいのかを考えておくと、使用するツールが決まります。他のチームメンバーを引き付けることは、あなたが物事を行う方法を好む場合、少し簡単になります。

コーディングと配信のプロセス全体を通して作業を開始します。このプロセスに関与する人が多いほど良い。管理者がすべてを変更するためだけに、特定の基準に基づいたソース管理プラットフォームを採用したくありません。「この分散されたアジャイルは機能していません。だから、月曜日から8〜7時に全員がオフィスから働き始める必要があります。」


2

会社のリポジトリをクラウドでホストするべきではないと必ずしも言っているわけではありませんが、私は個人的にクラウドホスティングの欠点と痛みを経験しています。

インターネット接続の速度と信頼性はどのくらいですか?

私にとって、それが唯一の最大の考慮事項です。たとえば、私の会社はかなり田舎にあります。私たちの間に -net速度が速く燃えるされ、私たちの -net速度は最悪で最高の、実にフレーク状に遅いです。

使用しているVCSによっては、痛みの一部を軽減できます。Gitのような分散バージョン管理システムは、ローカルで作業できるのでそれほど悪くはありません。同僚とコードを共有する必要がある場合は、ネットワークドライブで新しいリポジトリを初期化することもできます。それに比べて、ローカルワークスペース全体に関係なく、Team Foundationでこれらのことを実際に行うことはできません。

しかし、それは単なるコードです。クラウドでホストされるリポジトリには、コードだけではありません。作業項目(機能/バグリスト)はどうですか?ドキュメント(wiki)はどうですか?継続的インテグレーションのビルドはどうですか?これらはすべて、コードと一緒にクラウドでホストされる可能性があります。インターネット接続がダウンした場合、これらを使用せずにどのように作業しますか?

Gitlabは、チームが必要とする以上の機能を提供する無料のオンプレミスバージョンを提供します。オンプレミスのインストールを強くお勧めします。リスクを大幅に削減します。


1
信頼できるインターネット接続を備えた街で働いている今、これに対する私の意見がどのように変わっているかは驚くべきことです。インターネットが信頼できる場合、premサーバーでそれらを維持するコストを支払う理由はありません。
ラバーダック

1

この決定を下すには、何を考慮すべきですか?

欠点を考慮する必要があります。私は(他の人とともに)私の現在の雇用主に、プライベートgithubリポジトリで会社の最高の知的財産の宝石をホストするのをやめるように勧めました。誤解しないでください。githubは、オープンソースソフトウェアにとって素晴らしいです。

クローズドソースソフトウェアの場合、github.com(または他の選択肢)がソースコードを世界に公開しないように秘密保持契約(NDA)に署名しましたか?それで頑張ってください!

私の意見では、他のエンティティがあなたとNDAに署名するまで、他のエンティティに知的財産の宝石を冠するものを開示することはまったくばかげています。クライアントとNDAに署名しないgithubなどのサービスの使用を計画しています。代わりに、非常に長いEULA(エンドユーザーライセンス契約)の形式であいまいな約束を提供します。

Github自身は、これが重大な問題になる可能性があることを認識しており、その結果、Github Enterpriseを、サーバー上でソースコード(およびその他のプライベートなもの)をホストするメカニズムとして提供しています。


4
だから...単純な製造業者のウェブサイトにとっては、それでいいはずですよね?会社の「クラウン知的財産」は、私たちがそれを促進するために使用するコードよりも、製造しているものに関するものです。
マチューギンドン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.