실루엣 형상관리솔루션을 컨설팅하면서 고객에게 요구사항을 해결하는 솔루션을 설명하다 보면, 분명 동일한 용어인데 벤더에 따라 너무나 상이하게 사용하기 때문에 발생하는 혼동이 자주 발생합니다.

그 중 대표적인 것이 [원격지개발]이라는 용어 입니다.

IBM ClearCase의 경우 [원격지개발]을 지원하기 위해서 MultiSite라는 제품을 제공 하고 있습니다. (IBM MultiSite 제품소개, 한글)

상황에 따른 정의를 살펴 보도록 하겠습니다.

Case 1 - 지리적으로 분산되어 있는 개발팀이 상호 독립적인 레파지토리를 가지고 개발을 진행하면서, 필요한 시점에 레파지토리를 동기화 시키는 방안(IBM MulitiSite)

Case 2 - 지리적으로 분산되어 있는 개발팀이 하나의 통합된 레파지토리에 대해서, 광대역 네트워크(주로 인터넷, 전용선)를 사용하여 개발을 진행하는 방법(실루엣, CVS, SVN)

Case 3 - 원격지의 작업영역(주로 Unix, Linux 환경)에 대해서 FTP를 사용하여 체크인/아웃을 사용하는 방법(실루엣)

원격지라는 용어 자체가 지역적으로 분할 된 상황일 수도 있고, 개발자 입장에서는 물리적으로 분할 된 상황 일 수 있습니다.

이제까지의 형상관리 클라이언트들은 Unix/Linux 환경을 지원하기 위해서 Unix/Linux용 Command Line Interface를 제공 하고 있었습니다. (ClearCase, Harvest, CVS…)

즉, 형상관리가 구동되는 환경이 작업영역에서 구동되었기 때문에, 원격지에서 개발되는 작업영역에 대한 지원이라는 것이 아주 특별한 상황이었던 것이죠.

1
실루엣 프로젝트별 작업영역 설정 리스트

위 실루엣 프로젝트별 작업영역 설정 리스트를 보면, Unix환경에서 개발되는 프로젝트와 개발자 PC(Local)에서 개발되는 프로젝트가 모두 설정되어 있는 것을 볼 수 있습니다.

여기에 한가지 상황이 더 해지게 되는데, CVS/SVN의 경우 공용모드의 개발이 불가능합니다. 우리나라에만 있는 문화이겠지만 :). Oracle Pro*C를 개발하는 환경에서 서버에 하나의 Unix계정만 생성하고, 모든 개발자가 그 계정으로 접속해서 개발하는 경우입니다.

이런 경우에는 아무리 CVS/SVN이 Unix Client를 제공한다고 하더라도 현실적으로 서버에서 형상관리가 불가능합니다. 물론 실루엣은 이러한 국내의 환경을 감안하여 다양한 방법으로 작업영역을 설정 할 수 있는 기능을 제공합니다.

2
실루엣 개발자 작업영역 설정 화면

지역적으로 분산된 개발환경에 대한 경우는, 예전의 형상관리 도구들은 레파지토리를 Windows 네트워크 드라이브나, Unix Mount를 사용해서 연결 해야만 했습니다. (Ex, ClearCase)

그렇다 보니, 지역적으로 분산된 개발환경이거나 사용자가 아주 많게 되면 퍼포먼스에 지대한 문제가 발생하고는 했습니다.

하지만, 요즘 트랜드를 반영하는 실루엣이나 SVN의 경우를 보면, 인터넷을 사용하여 원격지에 있는 레파지토리에 대해서 자유롭게 체크인/아웃하는 모습을 볼 수 있습니다.

실루엣을 사용하고 계신 L사에서는 상암 IDC에 있는 단일 레파지토리에 중국개발센터에서 접속해서 자유롭게 체크인/아웃 하고 계십니다.

물론 네트워크적으로 완전히 단절된 상황이라면, Mecurial, git과 같은 “분산개발전문” 형상관리 제품을 사용하는 것이 고려 되어야 합니다.

이상 원격지개발이라는 용어기준으로 사용자가 고려 할 수 있는 사항에 대해서 이야기 해보았습니다. 다음번에는 병렬개발과 브랜치/프로모트를 한번 다루어 보도록 하겠습니다.


아픔르로
ClearCase는 말씀과 같은 이유에서 소프웨어 개발을 위한 소스관리 툴로써는 사용빈도가 확연히 줄어들고 있는 것이 사실입니다. 반면 시스템이 연관된 소프트웨어 영역에서는 형상관리의 중요성 때문에 아직 지속적으로 많이 이용되고 있고요.

반면 IBM에서는 이러한 소프트웨어 트랜드의 변화에 맞물려 RTC라는 제품을 통해 개발환경 내에 SCM기능을 녹여 이젠 더이상 소스관리라는 것이 하나의 관리 영역으로서만이 아닌 프로젝트 라이프라이클 전반(방법론, 개발 플랜, SCM, 변경관리, 개발, 빌드, 인력리소스 관리 등)에 걸쳐 상호 활용되고 연계되도록 라인업을 강화하였습니다.(Jazz까지 언급하면 좀 더 넓은 범위가 되겠지만, 생략합니다) 더욱이 IBM은 지난해 Telelogic을 인수함에 따른 Synergy/Change도 보유하게 되어 Clearcase/ClearQuest 을 중심으로한 단편적으로 제안방식에서 고객의 성향과 업무방식에 따라 3가지 제품 라인업을 가지고 제안을 드리고 있는 상황입니다. 참고하세요.

2009.04.27 10:02머샤머샤
Yes. Big Brother. :)

ClearCase가 아직도 산업현장에서 중요하게 사용되는 것은 DOS환경의 제품이 아직도 훌륭한 역할을 하고 있는 것과 같은 이치인것 같습니다.

더군다나 많은 중소제품 개발자들이 ClearCase의 사상을 벤치마크하면서 자신들의 제품을 설계했을것이고요. :)

Jazz를 고우성 지식인 포럼을 통해서 처음 발표하던날 팀원들과 함께 회의실에 모여서 검토(?)했던 기억이 사뭇 새롭습니다. 조만간 국내에도 훌륭한 Jazz 레퍼런스 사이트가 생길것으로 기대합니다.

Read Count