왜 소프트웨어나 시스템 설계는 유연하고 확장 가능한 구조를 추구할까? 애자일 개발론에 따르면 그 이유는 요구사항이 항상 변화하기 때문이다. 그렇다면 요구사항은 왜 항상 변화하는가? 바뀌지 않는 유일한 것은 바뀌지 않는 것이 없다는 사실이라서? 물론 이런 철학적인 이야기도 답이 될 수 있지만, 2010년대부터 유구히 강조되는 확장 가능한 구조에 대한 답이 되기는 어려워보인다.
적절한 답변을 디지털 전환(DX)에서 찾았다. DX는 디지털 전환의 약어로, 비즈니스 주체를 IT에 맡겨서 비즈니스를 근본적으로 혁신하는 것을 말한다. DX 이전의 비즈니스 주체는 사람이 담당하는 사업 부서였고 시장에 상품과 서비스를 지원하는 역할을 이들이 담당했다. 하지만 디지털 기술이 사회와 경제에 보급되면서 많은 기술이 자동화 혹은 디지털화되었고, 시장과 소통하는 역할에 IT의 비중이 커졌다. IT가 빠르고 다이나믹하게 변화하는 시장과 직접 소통하며 상품이나 서비스를 지원하고 시장으로부터 피드백을 받는다. 필요에 따라 최신 IT 기술을 적용하기도 한다. 결과적으로 디지털 기술이 도입된 사회에서 시장의 빠른 변화를 대응하기 위한 비즈니스 혁신 아이디어를 DX라고 할 수 있다.
디지털 전환은 다음과 같은 네 가지 방법으로 이룰 수 있다. 이 방법들은 IT가 최신의 사용자 경험을 제공하는 것을 목표로 한다.
- IT 인프라 표준화 : 최신 기술을 사용해서 인프라 표준화를 도모하고 환경 구축, 운영의 효율화와 속도 향상을 목표로 한다. 구체적으로는 표준 기술로 컨테이너에 의한 가상화를 검토한다. 컨테이너와 쿠버네티스 등의 컨테이너 오케스트레이션을 사용해 인프라를 구축, 운영하므로 특정 클라우드 서비스에 종속되지 않고 공통 인프라를 구축할 수 있게 한다.
- 마이크로서비스 애플리케이션 현대화 : 마이크로서비스와 테스트 자동화를 근간으로 한 데브옵스(Devops)를 실현한다. 애플리케이션 개발, 변경 속도와 품질 향상을 기대할 수 있다.
- 시스템 도입 방법 개선 : 신속하고 다이내믹하게 IT 시스템을 개발/운영하기 위해서는 IT 시스템 개발 및 구축을 내재화해야 한다. 단, 내재화는 조직 구성, 비즈니스 런칭, 기술 축적 등 해결해야 할 다양한 과제가 있으므로 중/장기적으로 계획하는 것이 현실적이다. 단기적으로는 SI 회사(Sler)와의 계약 형태를 재고해서 사내 IT 기술자 양성에 투자해야 한다.
- 비즈니스 운영 문화 개선 : 비즈니스 운영 문화를 혁신하려면 시장의 빠른 변화에 대응할 수 있도록 조직 구성을 변경해야 하며, 이때 IT 시스템을 최대한 활용하기 위해 IT 부서와 더 긴밀하고 유연하게 연계할 수 있는 구성을 검토해야 한다. 예를 들어, 각 사업 부서에는 IT 부서와 접점 이 되는 인력을 배치해서 시스템화 요건과 우선 순위 관리 등을 통해 애플리케이션(비즈니스)의 책임자로 일하게 해야 한다. 가능한 한 자동화를 도모하고 조직이 프로세스를 신속하게 돌릴 수 있도록 노력해야 한다.
빠른 변화에 대응하기 위해 새로운 제품을 개발하는 것도 중요하지만, 레거시 시스템을 유지 보수하는 작업도 그에 못지 않게 중요하다. 기존 시스템을 유지보수하지 않아 발생하는 비용을 기술 부채라고 한다. 기술적 부채가 많아지면 운영해야할 제품/기술이 늘어나고 IT 기술자의 기술 향상 부담도 늘어나서 IT 시스템 현대화 시에 기간이나 비용적 부담이 커진다. 최악의 경우 현재 IT 시스템 운영에 IT 예산을 전부 소진해버려 최신 IT를 위한 투자가 불가능한 상황에 이를 수도 있으므로, 정기적인 유지 보수 작업이 필요하다.
요약
- 디지털 기술이 사회에 적극적으로 도입되면서, 비즈니스 구조에서 시장과 소통하는 부서가 운영 부서에서 IT 부서로 전환되는 것을 DX라고 한다.
- 시장의 빠른 변화에 대응하기 위해 시장 분석과 제품 개발, 피드백을 통한 개선 작업에 IT를 전면으로 도입하고 운영 작업을 자동화해야 한다.
- 제품이 빠른 변화에 대응하려면 변경에 유리한 구조를 만들어야 한다. 애플리케이션이 다양한 요구사항 변화를 반영할 수 있도록 유연하게 현대화하는 것이 MSA의 목적이다.
- 기존 시스템을 유지 보수하지 않아 기술 부채가 누적되면 IT 시스템 현대화 시에 기간이나 비용적 부담이 커지므로 조심해야한다.
'Cloud > MSA' 카테고리의 다른 글
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) (0) | 2024.01.18 |
---|---|
마이크로서비스의 실패 사례와 모듈형 모놀리스 제안! 우아한 모놀리스 세미나 (0) | 2024.01.17 |
도메인 주도 설계로 시작하는 마이크로서비스 개발 (0) | 2024.01.17 |
카프카 니 도대체 뭔데 (0) | 2023.07.01 |
클라우드 네이티브 컴퓨팅과 MSA (0) | 2023.04.27 |