온라인으로 코드를 호스팅해야합니까?


22

우리는 직장에서 좋은 소스 제어 및 프로젝트 관리 솔루션을 찾고 있으며 GitHub 조직 및 개인 저장소를 만들 것을 제안했습니다. 나는 여러 가지 이유로 GitHub를 좋아하지만 이것은 GitHub에 관한 것이 아닙니다 (사실 동료가 경쟁 플랫폼을 선호하여 포인트를 제시 할 것입니다)- 개인 코드를 온라인으로 저장하는 것 입니다.

이것이 좋은 아이디어인지 아닌지를 이해하려고합니다. 서버 비용이 필요하지 않고 (적어도 직접적으로) 코드를 쉽게 검색 할 수 있기 때문에 확실히 유리합니다 (모든 것이 온라인 상태 임).

그러나 우리 팀은 미정이며 내 질문에 이르게됩니다.이 결정을하기 위해 무엇을 고려해야합니까?


13
github을 사용하기 위해 코드를 클라우드에 저장할 필요가 없습니다. 그들은 엔터프라이즈 제품을
로봇 Gort

1
@StevenBurnap 예 ... 조직 패키지 가격의 10 배 입니다. =)
Mathieu Guindon

12
또한 git
Harrison Paine

6
코드에 관한 것이 아니라는 점을 명심하십시오. 개발자가 실수로 비밀번호 및 SSL 키와 같은 것을 커밋하는 것이 일반적입니다.
네이트 CK

5
GitHub와 달리 실제로는 자체 오픈 소스 인 GitLab Community Edition 을 언급 한 사람이 아무도 없다고 솔직히 놀랐습니다 . GitLab을 사용하기 위해 클라우드에 코드를 저장 하거나 독점 소프트웨어를 구입할 필요가 없습니다 . (@StevenBurnap)
와일드 카드

답변:


24

프로로서

회사 사무실이 고장 나더라도 코드는 여전히 서버에 있습니다.

회사 사무실 이 그렇지 않은 경우 타 버리지 않지만 git 저장소가있는 서버가 DOES하더라도 여전히 로컬 사본이 있습니다.

회사의 사무실 건물에서 서버에 리포지토리를 호스팅하면 (예 : 네트워크 공유 드라이브를 사용하는 것과 같은 ...?) 회사의 사무실이 고장 나면 둘 다 잃게됩니다.

물론 평소대로 백업이 필요합니다 ...

"번 다운"을 "랜섬웨어에 감염된 것"으로 바꾸십시오.

기본적으로 가용성이 향상되었습니다.

죄수로서

코드를 호스팅 할 타사와 파일을 공유해야합니다. 정말 큰 회사 비밀이 있다면 이것이 허용되지 않을 수 있습니다. 예를 들어 유럽 시민의 개인 정보가 포함 된 데이터베이스가있는 경우 미국 법률의 적용을 받기 때문에 미국의 제 3 자에게 코드를 호스팅 할 수 없습니다. EU 개인 정보 보호법을 준수하십시오. 법적 문제가 아니더라도 제 3자가 개인 파일을 제공하는 데 뇌물 을 줄 수 있음을 알고 있어야합니다 . 이는 제 3 자에게 큰 영향을 줄 수 있지만 (거대한 평판 페널티) 발생할 수 있습니다.

기본적으로 기밀 유지가 중단되었습니다.


가용성에 대한 기밀 유지에 문제가 없다면 제 3 자와 온라인으로 개인 코드를 호스팅하는 것이 좋습니다. 그렇지 않으면하지 마십시오. 상사가 현명한 결정을 내릴 수 있도록 장단점을 설명 할 수는 있지만 "아니요"라고들을 수 있습니다. 누군가에게 결정을 내리면 이런 일이 일어날 수 있습니다. 당신의 상사가 거절하면 그게 다야 나는 당신의 상사를 강제로 설득하는 것이 좋은 생각이라고 생각하지 않습니다.


목록 질문이므로 목록에 추가 할 또 다른 단점은 호스팅 조직이 Google 코드를 방해하는 경우 어떻게해야합니까?
David Hammen

@DavidHammen 서버가 고장 나면 로컬 사본이 있지만 계획되지 않은 유지 보수에 문제가있는 것 같습니다. 나는이 점이 양쪽에서 가능하다고 생각한다. 당신이 당신의 자신의 서버를 호스팅하면 더 다운 될 것입니다, 다른 누군가가 서버를 호스팅하면 불편 할 때 다운 될 수 있습니다. 이 경우 github은 똥을 낼 수 있지만 서버도 마찬가지입니다. 이 경우 타사가 사라질 가능성이 적습니다.
Pimgd

9
git을 사용하는 경우 모든 개발자는 저장소 사본을 갖게됩니다. (마이너스 개인 지점)
로봇 고트

3
@DavidHammen 따라서 서비스 서버가 다운 된 것처럼 여전히 로컬 복사본이 있습니다. 그런 다음 대체 서비스로 전환하거나 사내로 가져갈 수 있습니다.
8bittree

3
지연 시간이 짧은 네트워킹 때문에 @ njzk2? 아니면 작은 회사니까? 인터넷이 완전히 망가 져서 파일에 빠르게 액세스하고 싶을 수도 있습니다 ...
허물이고 원합니다 Pimgd

11

분명히 공급자에 대한 신뢰와 소스 코드의 가치에 대한 의문입니다.

그러나 나는 적어도 과거에는 사람들이 소스 코드를 과대 평가했다는 것이 분명하다고 생각합니다.

  • '비즈니스 프로세스 자동화'제품의 경우; 사내 팀은 비즈니스 요구에 맞게 웹 사이트 및 기타 소프트웨어를 만듭니다. 다른 사람에게 해당 소프트웨어의 가치는 일반적으로 매우 낮습니다.

  • 판매 가능한 소프트웨어 그것은 당신이 판매하는 바이너리이며, 소스 코드에 액세스하지 않고 복사하고 해킹 할 수 있습니다.

둘째 : 타사에 코드를 저장하면 실제로 노출이 현재 수준보다 높아지는 지 여부도 고려해야합니다. 많은 경우에

  • 예를 들어; 제품이 백엔드 코드가없는 웹 사이트 인 경우 코드는 이미 공개 된 것입니다.
  • 컴파일 된 코드가 배포되면 디 컴파일 할 수 있습니다.
  • 귀하의 코드가 웹 사이트 또는 서비스이고 귀하가이를 제 3 자와 호스팅하는 경우. 그러면 타사가 코드를 디 컴파일 할 수 있습니다.
  • 백업을 타사와 함께 저장하면 코드에 액세스 할 수 있습니다.

요컨대, 대부분의 현대 비즈니스는 일상적인 비즈니스로 다양한 제 3자를 신뢰합니다. 그들에게 중요하고 독창적 인 것들조차도.


3

이 결정 과정의 일부는 약간의 테스트, 시행 착오 일 수 있습니다. 작은 프로젝트를 수행하고 몇 명의 회원이 다른 사이트를 시험해 보도록하십시오. 이것은 팀의 유용성을 다루어야하지만 다른 고려 사항이 있습니다.

  1. 현재 인프라-일부 회사에는 서버, 인터넷 연결, VPN 및 서버 호스팅 기술을 갖춘 직원이 이미 있으므로 일부 비용과 문제를 훨씬 쉽게 흡수 할 수 있습니다. 신생 기업은 Github와 같은 것을 사용하는 경향이 있습니다. 왜냐하면 이러한 유형의 투자를하지 않아도되고 더 빨리 시작하고 실행할 수 있기 때문입니다.
  2. 예산-# 1의 많은 측면이 여기에 속하지만, 가격표가 큰 다른 솔루션이있을 수 있습니다. 일부 회사는 비용을 정당화 할 수 있습니다. 분명히 예산이 적 으면 많은 옵션이 제거됩니다.
  3. 팀 배포-같은 시간에 모든 사람이 같은 사무실에서 일할 때 github이 필요하지 않을 수 있습니다. 파일 서버에 부담이 없으면 Git을 설치하십시오.
  4. 보안-안전한 많은 사이트를 찾을 수 있지만 일부 클라이언트에 대한 보안 인식이 더 중요합니다. 자신의 아이언 클래드 네트워크를 갖는 것이 그들의 자신감을 얻는 것이 옳을 수도 있습니다. 보안 배지, 망막 스캐너 및 무장 경비원은 일부 고객에게 보안을 비명을 지 릅니다.
  5. 교육-앱 사용 방법뿐만 아니라 회사 / 팀에서 적용하려는 규칙과 절차가 있습니다. 어떤 일을하고 싶은지에 대한 아이디어를 가지면 어떤 도구를 사용할지 결정할 수 있습니다. 그들이하는 방식이 마음에 들면 팀원을 더 쉽게 유치 할 수 있습니다.

코딩 및 전달의 전체 프로세스를 통해 작업을 시작하십시오. 이 과정에 참여하는 사람이 많을수록 좋습니다. 특정 기준에 따라 소스 제어 플랫폼을 채택하지 않고 관리 담당자가 모든 것을 변경하게 할 수는 없습니다. "이 분산 된 민첩한 것이 작동하지 않기 때문에 월요일부터 8-7시에 사무실에서 일을 시작해야합니다."


2

클라우드 저장소에서 회사의 저장소를 호스팅 해서는 안된다고 반드시 말하는 것은 아니지만 클라우드 호스팅과 관련하여 개인적으로 몇 가지 단점과 어려움을 겪었습니다.

인터넷 연결이 얼마나 빠르고 안정적입니까?

나에게는 이것이 가장 큰 고려 사항입니다. 예를 들어, 우리 회사는 시골 지역에 있습니다. 우리의 동안 -net 속도가 빠르며, 우리의 -net 속도는 최악의 최고의 명백히의 flakey에서 느리다.

사용중인 VCS에 따라 일부 통증이 완화 될 수 있습니다. 분산 버전 관리 시스템은, 힘내처럼되지 않습니다 그래서 은 여전히 ​​로컬에서 작업 할 수 있기 나쁘지 . 동료와 일부 코드를 공유해야하는 경우 네트워크 드라이브에서 새 저장소를 초기화 할 수도 있습니다. 이에 비해 Team Foundation에서는 이러한 작업 중 하나를 수행 할 수 없습니다 (전체 로컬 작업 영역에도 불구하고).

그러나 그것은 단지 코드입니다. 클라우드 호스팅 리포지토리에는 코드보다 훨씬 많은 것이 있습니다. 작업 항목 (기능 / 버그 목록)은 어떻습니까? 문서 (위키)는 어떻습니까? 지속적인 통합 빌드는 어떻습니까? 이 모든 것들이 코드와 함께 클라우드에서 호스팅 될 것입니다. 인터넷 연결이 끊어지면 이런 일없이 어떻게 일할 수 있습니까?

Gitlab은 무료로 제공되는 온 프레미스 버전을 제공하여 팀이 필요로하는 것 이상을 제공합니다. 온 프레미스 설치를 적극 권장합니다. 위험을 상당히 줄입니다.


1
믿을 수있는 인터넷 연결로 도시에서 일하고 있다는 사실에 대한 나의 의견이 어떻게 바뀌는 지 놀랍습니다. 인터넷이 안정적이라면 prem 서버에서 유지 관리 비용을 지불 할 이유가 없습니다.
RubberDuck

1

이 결정을하기 위해 무엇을 고려해야합니까?

단점을 고려해야합니다. 나는 (다른 사람들과 함께) 현재 고용주가 개인 github 저장소에 회사의 지적 재산 보석 호스팅을 중단하도록 성공적으로 장려했습니다. 나를 잘못 생각하지 마라. github은 오픈 소스 소프트웨어에 환상적입니다.

비공개 소스 소프트웨어의 경우, 소스 코드를 전세계에 공개하지 않기 위해 github.com (또는 일부 대안)이 비공개 계약 (NDA)에 서명 했습니까? 행운을 빌어 요!

제 생각에는 다른 기관이 귀하와 NDA에 서명 할 때까지 지적 재산 보석을 다른 기관에 공개하는 것은 명백합니다. 클라이언트와 NDA에 서명하지 않는 github과 같은 서비스를 사용할 계획입니다. 대신 매우 긴 EULA (최종 사용자 사용권 계약) 형식으로 모호한 약속을 제공합니다.

Github은 이것이 중대한 문제가 될 수 있음을 인식하고 그 결과 Github Enterprise를 자체 서버에서 소스 코드 (및 기타 개인 정보)를 호스팅하기위한 메커니즘으로 제공합니다.


4
간단한 제조업체의 웹 사이트라면 괜찮을까요? 회사의 "크라운 지적 재산"은 우리가 제조하는 코드보다는 우리가 제조하는 것에 관한 것입니다.
Mathieu Guindon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.