대규모 금융 / 보험 회사가 git 및 / 또는 github를 사용해야하는 이유


12

저는 금융 / 보험 산업에서 대기업 (30K 직원)을 위해 일합니다. "IT"가 우리의 주요 초점은 아니지만, 솔직히 말하면 정보 중심의 산업이며 기술적 인 이점이 더 우수한 회사는 더 빨리 앞서가는 것 같습니다.

우리 회사에는 많은 소프트웨어 개발 팀이 있습니다. 사용되는 언어 / 프레임 워크는 물론 버전 관리 기능이있는지도입니다. 일부는 (내가 아는) 사용하지 않고, 일부는 PVCS를 사용하고, 일부는 VSS를 사용하며, 가장 잘 사용되는 SVN을 사용합니다.

나는 내 사업에 자식을 가져오고 싶다. 더 구체적으로, GitHub (개인 저장소)를 가져오고 싶습니다. 나는 사람들이 이것에 대해 이야기 할 수 있다는 것을 알고 있지만 다시 솔직하게 말하면, 이와 같은 과감한 움직임은 모호한 보안 문제 또는 경쟁 업체가 아무도 사용하지 않는다는 사실 때문에 대기업 환경에서 일반적으로 격추됩니다. jQuery, Ruby on Rails, Facebook 등을 참조로 인용).

제 질문은 이것입니다. 대기업이 PVCS / VSS / SVN에서 GitHub (private repo)와 같은 호스팅 된 git 솔루션으로 천천히 의도적으로 전환해야하는 가장 큰 이유는 무엇입니까? 물론 내 계획의 일부에는 비 필수 개발 프로젝트에 대한 POC가 포함됩니다.


2
나는 같은 과정에 있습니다 (대형 금융 회사, 100K 직원 ...) : stackoverflow.com/questions/3597747/…
VonC

3
내부 자식 저장소를 가지고 시작할 수 있습니다. git이 훌륭하다는 것을 확신 할 수 있지만 결코 "외부"코드를 넣을 수는 없습니다.

@VonC : 다른 질문에 감사드립니다. 기타 : 지금까지 모든 훌륭한 답변 / 의견에 감사드립니다. 나는 그것이 훌륭한 UI라고 생각하고 git에서 "기술적 인 고통"을
취하기

4
GitHub는 이제 개인 네트워크에서 GitHub를 호스팅 할 수있는 GitHub Enterprise 를 제공 하지만 일부 반죽을 준비 할 수 있습니다.
M. Dudley

답변:


25

무관심한 제 3 자로서 내가 염려 할만한 것이 몇 가지 있습니다. 따라서 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합니다.
Joel Etherton

1
방금 대기업이 사물을 보는 방식을 제시하고 싶었습니다. 아무도 그들 모두가 유효한 척하는 것은 아니지만 당신은 그들에 대한 답을 얻어야 할 것입니다.
Berin Loritsch

1
나는이 점들 중 어느 것에도 동의하지 않습니다. 모든 조직에 유효하지는 않지만 많은 조직에 유효합니다.
Joel Etherton

1
지난 5 년 동안 시간이 바뀌면서 BitBucket 또는 다른 변형을 사내에서 호스팅 할 수 있습니다. Microsoft Team Foundation Server는 기본적으로 GIT를 사용하는 것으로 보이며 Visual Studio는 이제 GIT를 지원합니다. GIT에 대한 논쟁은 예전보다 훨씬 강력합니다. 또한 GIT는 모든 툴 벤더 통합으로 Mercurial을 능가하는 것으로 보입니다. 다행 인 것은이 모든 것들이 기업 인프라와 통합 될 수 있다는 것입니다 (ActiveDirectory 또는 기업 LDAP를 사용하여 인증)
Berin Loritsch

더 이상 GitHub를 외부에서 호스팅 할 필요가 없습니다.
UpAndAdam

8

또한 금융 / 보험 회사에서 근무하고 있습니다 (현재 근무하는 회사보다 크지는 않지만). 또한 여러 개발 팀이 있으며, 엔터프라이즈에서 개발하기 위해 Microsoft 제품을 특별히 선택했지만 마스터 아키텍처, 언어 또는 소스 제어는 아직 없습니다. 우리는 모두 .Net을 사용하고 있지만 다른 버전의 프레임 워크와 다른 언어로 된 여러 프로젝트가 있습니다. 일부 프로젝트는 VSS를 사용하고 다른 프로젝트는 TFS를 사용합니다. 우리는 현재 QA 관리자로서 새로운 상위 레벨 설계자를 보유하고 있으며, 우리의 hodge-podge 버그 추적, 소스 제어, 프레임 워크 사용에서 더 보편적 인 TFS 구현으로의 엔터프라이즈 전환을 주도했습니다. 이것은 그가 a) 소프트웨어의 본질에 극도로 경험이 있다는 사실에 의해서만 가능합니다.

조직 내에서이 문제를 해결하려면 먼저 몇 가지 사항을 고려해야합니다.

  1. 왜 GitHub에 대한 답으로 그렇게 매혹됩니까? 일반적인 소스 컨트롤을 찾고 있습니까, 아니면 편안한 무언가를 구현할 이유를 찾고 있습니까? 나는 답을 모른다 (그리고 솔직히 신경 쓰지 않는다). 그러나 이것은 당신이 다른 사람들의 사업에서 고개를 돌리기 시작할 때 제기되는 질문이다.
  2. 현재 이러한 소프트웨어 팀 중 하나와 제휴하고 있습니까? 그렇다면, 당신은 개념을 옹호하기 위해 비 계열적이고 잘 배치 된 개인을 찾아야 할 수도 있습니다. 그렇지 않으면 다른 개발 팀이 자신의 생각을 각인하려고한다고 느낄 수도 있습니다. 이것들은 이미 (의견에 따라) 작동하는 것을 가지고 있기 때문에 개념에 대한 저항력을 더욱 높여줍니다.
  3. 다른 팀의 개인에게이 ​​개념을 도입하기 위해 봉사 활동을 했습니까? 다른 개발자들도 비슷한 의견이나 우려가 있습니까? 이를 달성하기위한 또 다른 방법은 작업을 수행하는 사람들 사이에서 비판적인 집단을 구축하는 것입니다. 더 많은 사람들이 공통 소스 리포지토리를 요구하기 시작함에 따라 경영진은 주목해야합니다.
  4. 다른 팀의 코드 / 프로세스 / 요구 사항에 대해 잘 알고 있습니까? GitHub가 해당 팀에 적합하지 않을까요?

마지막 (또는 실제?) 질문에 관해서는, 비즈니스 관리자의 관점에서 장기적으로 유일하게 설득력있는 이유는 돈을 절약한다는 것입니다. 이러한 절감은 다운 타임 감소, 코드 보안 향상, 개발자 생산성 향상, 코드 기반 중복성 (백업용) 등의 형태 일 수 있습니다. 궁극적으로해야 할 일은 이러한 모든 모델에 대한 수표를 작성하는 개인이 그러한 모델로 전환하는 데 소요되는 시간, 노력 및 비용이 결국 투자 수익으로 가치가 있다는 것을 확신시키는 것입니다. 또한 "느리고 고의적으로"드디어 일어날 때 동일한 모델에 대한 향후 지원이있을 것임을 보여 주어야합니다.

이러한 기업의 교리 변화에는 많은 것들이 있으므로 많은 풀뿌리 스타일의 열정이 필요하며 VP 레벨의 누군가가 반드시 개념을 옹호해야합니다. 관리자는 일할 수도 있지만 임원은 다른 그룹에 개념을 각인 할 수있는 권한이 훨씬 더 많습니다.


4

이러한 회사는 리포지토리를 중앙 집중화하기를 원할 것입니다. SVN, VSS 및 PVCS는 공통점이 있습니다. 모두 클라이언트-서버 아키텍처입니다. Git은 분산 VCS로 설계되었으며 본질적으로 분산되어 있습니다.

GitHub-훨씬 더 문제가 있습니다. 외부 서비스입니다. 외부 서비스의 소스 코드는 경영진이 절대 받아 들일 수없는 것입니다.

그러나 양측을 만족시킬 수있는 솔루션이 있습니다. 힘내 git-svn명령이 있습니다. 기본적으로 SVN 저장소가 있지만 일부 개발자는 자체 로컬 GIT 저장소를 갖고 중앙 SVN 저장소와 동기화하도록 선택할 수 있습니다. 개인 브랜치 또는 커밋되지 않은 패치를 보내는 좋은 대안. git-svn 통합에 대한 좋은 방법 .


중앙 집중식 저장소 환경 설정에 동의하십시오. Git-SVN interop에 관하여 : 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 년 이상의 총 사용량으로 CVS, SVN, CMVC, clearcase, perforce 및 기타 시스템을 GIT와 함께 전문적인 환경에서 사용했습니다. 누군가 내가 GIT 이외의 것을 사용하기를 원한다면 (마지막 bzr, 수은, 퍼 포스 및 클리어 케이스 (마지막 두 설정에 따라) 제외) 내 시간이 다른 곳에서 더 잘 소비된다는 것을 즉시 알 것입니다. 나는 2009 년에 CVS와 SVN에 약간의 수당을 연장 했음에도 불구하고 그 결론에 거의 도달했다. 나는 2010 년 초에 GIT를 SVN 클라이언트로 사용하기 시작했다. GIT로 전환하도록 설득하는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.