Dev Stories

Git Flow Branch 전략을 활용한 Azure Mig. & SI고도화 병행 개발

KT Azure Migration 프로젝트 이해하기

안녕하세요.
KT On-Premis 서비스를 Azure Public Cloud로 Migration 하는 과정에서 경험했던 Lessons Learned를 공유하고자 합니다. 먼저 KT가 진행하고 있는 Azure Migration 프로젝트에 대해 간략한 소개와 Rehost or Replatform 방식의 Migration 과정에서 발생했던 이슈와 해결 방법을 설명드리겠다.

Azure Migration 프로젝트 개요

  • KT는 사내 및 대고객 서비스 대상으로 적합성 검증 절차를 통해 선정된 시스템을 Microsoft Azure Public Cloud로 전환하는 프로젝트로 '24년 하반기부터 본격적으로 추진되고 있습니다.
  •  기존 온프레미스 시스템을 Rehost/RePlatform 전략을 통해 Azure 전환함으로써 비용/운용 효율화 및 안정성을 강화하고 다양한 모델의 서비스 전환 경험을 축적하여 향 후 AICT B2B사업에서 기술/역량/경험 경쟁력 우위를 확보하기 위함입니다.


Azure Migration 문제점 및 도전과제

  그럼, Azure Migration 프로젝트 실무자(PM/PL)로 참여하면서 서비스 담당부서(PO/BA/개발사)와 Azure 전환팀 간 협의 과정에서 발생한 이행 충돌과 이슈사항 들을 이야기 해보겠습니다.

  1. One Circle Gray Azure Migration의 전략적 의미와 Public Cloud 기술도 부족으로 사업부서의 관심과 참여(협업) 부족
  2. Azure 전환 시 소스 Freezing를 기본 원칙으로 하고 있어 진행 중이거나 계획된 서비스 SI고도화 개발 일정에 미치는 영향 우려함
    - Case1. 사업부서는 SI고도화 개발 후 Azure 전환 하기를 선호하지만 Azuer 전환도 별도의 프로젝트로 추진되므로 일정 조정 폭이 제한적임
    - Case2. 연속된 고도화 개발(1차, 2차, 3차…) 사업이 있는 서비스의 경우 Azure 전환 일정 확보가 어려워 ‘ 전환 제외’를 요청하는 경우도 빈번히 발생함
  3. 즉. SI고도화와 Azure 전환 일정이 겹칠 경우 고도화 개발사와 Azure 전환팀간 함께 추진할 수 있는 합의점을 찾기 어려움

    " 사내/대고객 서비스의 SI고도화 및 상용화 일정과 최소 3~6개월 소요되는 Azure 전환간과의 충돌은 반드시 해결해야 하는 도전과제입니다"



Git Flow Branch를 활용한 Win-Win 전략 제시

이슈 요약 정리

  • Azure 전환과 SI 고도화 개발 일정 간의 충돌
      - Azure 전환 기간 동안 소스 프리징하는 기존 방식은 고도화 개발 착수 시점 지연 초래
  • 효율적인 일정 관리 불가
      - Azure Migration과 SI고도화를 순착적 진행할 경우 전체 프로젝트 기간이 상당한 길어짐

Git Flow Branch 전략을 활용한 이슈해결

  • AS-IS : 서비스 소스 프리징 후 Azure 전환 진행 후 고도화 개발 (또는 고도화 후 Azure 전환 진행)
                 ㄴ 결과적으로 개발 기간이 길어지고 사업적으로 원하는 시점에 상용 배포가 어려운 상황 발생
  • TO-BE : Azure 전환팀은 Main/Dev 브랜치에서 Azure Migration을 진행하고, SI 개발사는 feature 브랜치에서 기능 고도화를 동시 진행               
image-20250612-065151.png


  • 기대 효과:
  1. 프로젝트간 각자의 브랜치에서 독립적으로 작업할 수 있어 일정 충돌 방지
  2. Azure 전환과 고도화 개발이 동시에 진행되어 상용화 일정에 맞춰 효율적 배포 가능
  3. 리스크 관리
    ㄴ 개발팀 간의 독립적인 작업을 통해 리스크를 분산하고, 불필요한 지연 요소 방지           
    ㄴ 두 팀이 독립적으로 진행하면서도 상용화 일정을 맞추고 상호 영향을 최소화할 수 있음           
    ㄴ 기존의 서비스 소스 프리징 없이 각 팀의 개발 및 배포가 자유롭게 이루어짐
  4. 개발기간 단축 및 일정조율의 유연성 확보



Lessons Learned

문제 해결

  • Azure Migration과 기능/서비스 고도화 개발 프로젝트간 일정 충돌 문제 해결
  • Git Flow 전략을 통해 두 프로젝트가 독립적으로 진행되면서도 상호 연계/협업 가능

경쟁력 확보

  • Azure Migration과 SI고도화 개발이 동시에 진행됨으로써 프로젝트 효율성 증대
  • 대규모 On-Premise 시스템 전환 경험 축적 및 AICT B2B 사업 경쟁력 강화

프로젝트 수행 경험

  • Azure Migration과 SI고도화 작업을 병행하면서 발생할 수 있는 다양한 이해충돌을 해결할 수 있는 방법론 확보
  • Git Flow Branch 전략을 통해 효율적인 협업 모델 개발, 일정 관리의 중요성 및 유연성 강조
  • 대규모 시스템 전환 프로젝트에서 발생할 수 있는 다양한 이슈와 문제 해결 능력 향상

향후 기대 효과

  • Azure Migration 프로젝트를 통해 쌓은 경험을 바탕으로 대외 B2B 사업에서의 경쟁력 확보.
  • Cloud 전환 및 고도화 개발의 효과적인 병행을 위한 수행 전략 마련

 

지식탐색 : Git Flow Branch란?

  • Git Flow는 Git을 기반으로 한 브랜치 관리 전략으로, 개발 과정에서 여러 브랜치를 구분하여 체계적으로 관리하는 방법입니다.

     - 주요 브랜치: main, dev, feature, release, hotfix
        . Main: 배포 가능한 상태의 안정적인 브랜치
        . Develop: 개발 중인 기능을 통합하는 브랜치
        . Feature: 특정 기능 개발을 위한 브랜치
        . Release: 준비 완료된 배포를 위한 브랜치
        . Hotfix: 긴급 수정이 필요한 경우를 위한 브랜치
     - 기본 흐름: 개발은 dev에서 시작하고, 안정화된 코드가 main에 통합되며, 각 기능 개발은 feature 브랜치에서 진행


  • Git Flow 전략의 장점

     - 코드 통합의 효율성 증대
     - 다양한 개발 팀 간 협업을 원활하게 함
     - 기능별 브랜치에서 독립적으로 작업 가능
     - Git Flow는 복잡한 프로젝트에서 안정적인 버전 관리를 지원
     - 여러 개발팀이 동시에 작업할 수 있도록 협업을 용이하게 만듬

이관재

안녕하세요.

KT Azure Migration 전환리더를 담당하고 있습니다.