기존 솔루션 패키지 종속적인 모듈들을 마이크로서비스 아키텍처(MSA) 기반 서비스로 전환하고, 각 서비스 애플리케이션은 Docker 컨테이너화하여 OpenShift 클러스터에 배포, 스케일링 및 관리함으로써 개발 및 운영 효율화를 꾀하였으며, GitLab을 기반으로 DevOps 워크플로우를 구축하였습니다.
IT
1300명+
Core
대형 벤더에서 제공하는 솔루션 중심의 서비스 지향 아키텍처(SOA)는 다수의 애플리케이션 간의 로직과 데이터를 공유하여 각 업무별로 독립된 시스템의 형태로 개발된 업무 시스템들을 통합하기 위해 제안된 아키텍처입니다. 그러나 통제와 관리를 위해 점점 무거운 방향으로 진행됨에 따라 최초의 의도였던 빠른 적용, 민첩한 개발 및 적은 통합 비용과 멀어지게 되었습니다. 빠르게 변화하는 비즈니스 환경과 다양하고 변화무쌍한 고객 니즈를 충족하기 위해서는 더 자주, 더 빨리, 더 효율적으로 프로덕션(Production)을 릴리즈해야 합니다.
마이크로서비스 아키텍처(MSA) 전환은 전체 서비스의 중단 없이 서비스별로 독립적 배포가 가능하여 요구사항을 신속하게 반영할 수 있고, 확장이 용이하여 트래픽에 따라서 유연하게 대처할 수 있습니다. 또한 장애 전파 차단(Circuit breaker)을 통해 장애 발생 시 장애 영향을 최소화할 수 있습니다.
스크럼 기반 애자일 개발 방식은 작은 목표를 짧은 Sprint 주기(2~4주 이내)마다 실제 동작하는 결과물을 제공하여, 고객의 피드백을 조기에 얻어 점진적으로 개선함으로써 고객 니즈를 빠르게 충족시킬 수 있습니다. DevOps는 개발(Dev)과 운영(Ops)을 통합하고 동시 협업함으로 개발, 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 라이프사이클의 프로세스를 개선함으로써 효율성을 극대화할 수 있습니다. GitLab은 Agile 기반으로 DevOps를 완벽하게 지원합니다.
- 그룹은 동일한 네임스페이스에서 관련 프로젝트를 구성하고 최상위 그룹에 구성원을 추가하여 여러 프로젝트와 여러 팀 구성원에게 더 적은 단계로 액세스 권한을 부여할 수 있습니다.
- 프로젝트는 코드베이스 단위로 만듭니다. 이를 이슈 트래커로 사용하고, 코드에 대해 공동 작업하고, 내장된 GitLab CI/CD를 사용하여 앱을 지속적으로 빌드, 테스트 및 배포할 수 있습니다.
- 이슈 보드는 기존의 이슈 추적 기능과 레이블을 기반으로 합니다. 이슈는 할당된 레이블, 마일스톤 또는 담당자 별로 정리된 세로 목록의 카드로 나타납니다.
- 이슈 보드는 팀이 작업 중인 이슈, 각 이슈에 할당된 사람, 워크플로우에서 해당 이슈가 있는 위치를 보여줄 수 있습니다.
- 마일스톤을 Agile 스프린트로 사용할 수 있으므로 특정 스프린트와 관련된 모든 이슈와 병합 요청을 추적할 수 있습니다.
- 마일스톤을 GitLab의 릴리스 기능과 통합하여 사용할 수 있습니다.