경영진은 프로젝트 간의 측정치가 매우 다르다는 점을 지적한다. 첫 프로젝트는 코드 리팩터링과 테스트, 배치, 보안 구현 등에서 80%의 효율을 기록했다. 다른 프로젝트는 30~40% 정도이다. 왜 차이가 나는가?
효율성 문제 대부분은 정적인 마이그레이션 접근법과 툴 때문에 생겨난다. 현재 클라우드 마이그레이션을 진행하는 사람 대부분은 과거 프로젝트에서 잘 사용했던 구체적인 프로세스와 접근법, 마이그레이션 툴 스위트에 비중을 둔다. 이런 정적인 접근법은 매우 폭넓은 종류의 마이그레이션 프로젝트와 문제에 특정 프로세스와 툴을 강요한다. 하지만 특정 프로세스와 툴을 마치 범용 솔루션처럼 잘못 사용하면 실패로 이어지기 쉽다.
이 문제의 핵심은 업계에서 ‘동급 최강’으로 여겨지는 특정 툴 스위트와 기술 묶음을 찾으려는 것과 베스트 프랙티스를 이용하고자 하는 욕심에 있다. IT 분야 사람들은 주류를 따르는 것을 좋아한다. “이 툴과 접근법에 대해 읽었는데, 우리랑 비슷한 업종인 철수와 영희네 회사에 잘 맞았으니, 우리한테도 잘 맞을 거야.” 선택은 상황에 따라 다르기 마련인데, 직접 선택하지 않는 것으로 위험을 제거할 수 있다는 잘못된 가정을 하는 것이다.
이 분야의 전문가로서 필자도 모두의 요구를 만족할 표준 마이그레이션 툴 목록을 제시하고 싶다. 하지만 현실적인 답변은 마이그레이션하려는 애플리케이션과 데이터베이스의 요구사항을 기반으로 툴과 접근법을 선택해야만 한다는 것이다.
마이그레이션 프로젝트의 대표적인 프로젝트 범주와 검토 과정은 다음과 같다.
- 현재 플랫폼 평가
- 애플리케이션 평가
- 데이터 평가
- 구성 관리 계획
- 보안 마이그레이션 툴
- 거버넌스 마이그레이션 툴
- 리팩터링 및 재배치
- CI/CD
- 테스트 및 배치
- 클라우드옵스/IT 운영
앞서 열거한 툴 범주는 현재의 플랫폼과 옮겨갈 플랫폼, 개발 접근법, 사용하는 데이터베이스, 확인된 스토리지 및 보안, 거버넌스 요구사항을 기반으로 솔루션이 달라진다. 만능접근법을 사용해도 되겠지만, 약속한 효율성을 제공하기 어려우며, 접근법과 툴이 너무 맞지 않으면 실질적으로 전체 프로젝트가 탈선할 수도 있다.
필자가 강조하고 싶은 것은 전체 프로세스에서 여분의 단계가 필요하다는 것이다. 이전하고자 하는 것, 이전할 곳, 필요한 특성 등을 기반으로 툴과 접근법을 선택하라. 이렇게 선택하면, 거의 언제나 각 마이그레이션 프로젝트마다 서로 다른 툴과 접근법을 고르게 된다. 한 마이그레이션 프로젝트에서 최적의 결과를 낸 툴을 재사용해서는 원하는 결과를 얻기 어렵다.
물론 예외는 있다. 하지만 예외적으로 같은 툴과 접근법으로 성공하기 위해서는 중앙집중화된 마이그레이션 통제센터(centralized command and control, CCC)가 필요하다. 각 마이그레이션 프로젝트의 문제 패턴과 해법이 문서화되어 있는 CoE(center of excellence)가 대표적인 예다. CCC가 있다면, 자체 베스트 프랙티스가 만들어질 것이고, 다음 마이그레이션 프로젝트에서도 제대로 동작할 가능성이 훨씬 높아진다.
많은 기업 마이그레이션 프로젝트가 일부 툴과 프로세스를 재사용하기 시작하는 지금이 적절한 시점이다. CCC는 프로젝트팀이 마이그레이션 대상을 파악하고 계획을 세울 때부터 전체 프로세스의 일부가 되어야 한다. 계획된 프로젝트를 과거의 프로젝트와 비교 분석하는 것이 CCC의 임무이다. 만약 CCC가 비슷한 특성의 이전 마이그레이션 프로젝트에서 잘 사용했던 접근법과 툴과 프로세스를 추천한다면, 프로젝트임은 관련 프로세스를 다시 진행할 필요가 없다.
경험을 통해 얻어야 하는 어려운 교훈이지만, 희망은 있다. 모두를 만족하는 한 가지는 드물지만, 대부분을 만족하는 몇 가지는 드물지 않다는 것이다. 언제나 그렇듯이 성공의 핵심은 프로젝트 끝부분이 아니라 시작할 때 숙제를 제대로 하는 것이다. 모든 것을 문서화하고 다음 프로젝트를 계획할 때 쉽게 이용할 수 있도록 하기 바란다. editor@itworld.co.kr