안녕하세요.

Cloud 전환(Mig.) 현실적 문제점 2편에 대해서 적어보려 합니다.

주제는 MSA(Micro Service Architecture) 전환의 한계입니다.

 

[1. Cloud도입을 위한 MSA 서비스 도입 필요성]

  MSA는 Cloud Native 대표 Archtecture이며, 아래와 같은 필요성에 의해 도입됩니다.

  아래 필요성은 Cloud 도입시 MSA화를 병행해야하는 이유입니다.

필요성 요소 설명
비용 효율성 - Micro Service 별 복제 - Micro Service 별 서버 구성/확장으로 Pay-Per-Use 비용 효율화
확장성/가용성 - Scale Out
- Data Replication
- 상황에 맞는 가상서버(ex. EC2) Scale Out으로 가용성 제공
- Data Replication을 통한 가용성 제공
개발 효율성 - Polyglot Architecture
- DevOps 체계 지원
- 다양한 개발언어 및 DB 연계로 인한 개발 편의성 제공
- DevOps조직과 연계된 서비스 별 즉시 개발 가능

 

MSA 전환 개념도

 

  위와 같은 필요성들을 달성하기 위한 MSA도입 시 제일 중요한 고려사항은

  기존 Monolithic Service에서 적절한 수준의 Micro Service 분해입니다.

  하지만 Micro Service의 적절한 분해라는 것은 말처럼 쉽지 않은 한계점을 가지고 있습니다.

 

[2. Cloud도입을 위한 MSA 서비스 분해 한계]

 MSA 전환을 위해서는 기존 Service를 독립성, 분산성을 가질 수 있게 적절히 Micro화 해야합니다.

 아래 그림은 어느 수준으로 분해하는 것이 MSA에 효율적인가를 고민해야함을 나타냅니다.

 

 

MSA를 위한 적절한 서비스 분해는?

 

  어떤 서비스는 Business Level에서의 Micro Service화가 필요하며

  어떤 서비스는 Process Level에서의 Micro Service화가 필요합니다.

 

  기존 Monolothic Service를 기반으로 적절한 Micro Service를 찾는 것

  바로 그것이 MSA의 전환의 핵심이자 Cloud 도입의 필수 요건이지만

  실제 필드에서는 아래와 같은 현실적 한계점들이 존재합니다.

 

[MSA전환 시 현실적 한계점]

한계 요소 설명
결합도 분석 한계 - 기존 서비스 로직 파악 미비 - 복잡한 결합도 분해가 필요하지만 기존 서비스 로직
  파악 미비로 인한 한계 존재
필수 결합 모듈 존재 - 핵심 결합 모듈 필요 - One Transaction 필수 모듈 존재
  ex. 대외기관 연계(금전 연동), 실시간 처리 모듈 등
Micro Service
분해 수준 모호
- 성능 이슈 존재 - 낮은 수준의 모듈화는 모듈 간 I/F 비용 증대
- 관리 이슈 존재 - 선/후 필요한 Transaction은 모듈 간 관리 필수
  (개발자가 직접 모듈간 호출 관계를 설정 필요)
DB Join 한계 - 독립적 DB로 인한 I/O비용 증대 - 각 서비스 별 DB 독립화로 인한 DB Join 불가하며
  그에 따른 DB Transation 증대
- DB 정규화 작업 필요 - 각 독립 서비스 별 DB 정규화을 통한 DB 독립화

 

  Cloud 도입을 위한 MSA전환은 꼭 필요하지만, 특히 Mission Critical한 금융, 물류, 제조 등의 산업에서는

  위와 같은 현실적 한계점 때문에 도입을 주저하고 있습니다.

 

  Cloud도입만 하면 되는 줄 알았더니

  MSA 전환에 드는 분석/분해 작업 등은 많은 시간/비용이 들면은 MSA전환 자체를 주저하게 됩니다.

 

  하지만 위와 같은 현실적인 한계점들을 잘 고려해서

  Cloud와 함께 MSA전환을 같이 수행하게 된다면

  Cloud의 비용/운영/조직적 관점에서 신규 서비스 개발 및 확장성있는 인프라 제공 등을

  최적화하여 사용할 수 있을 것입니다.

'Cloud' 카테고리의 다른 글

Cloud 전환(Mig.) 현실적 문제점 - 1. 비용 중심적 도입  (0) 2020.03.11

안녕하세요

이번에는 Cloud Mig.에 대한 생각을 적어보려 합니다.

아래 부분은 어디에서 발췌했다거나 하는게 아닌 제가 주변이나 회사에서 경험한 생각입니다.

몇 페이지로 걸쳐 나누어 적어보겠습니다.

 

[1. Cloud 전환(Mig.)의 목적 - 비용 중심적 도입]

  Cloud Mig.는 기존 산업영역(물류, 금융, 공장 등)이 Legacy System을 Cloud로 전환하는 사업을 의미합니다.

  보통 선행적으로 U2L을 통해 서버들을 Linux로 변경한 후 Cloud로 이식하는 과정으로 수행합니다.

  그런데 문득 그런 생각이 듭니다.

  Cloud Mig.에서 기업들이 목표로 하는 KPI는 무엇일까?

  기존 Legacy체계에서 왜 Cloud를 도입하는 걸까?

  서비스 가용성, 확장성(Scale-Out), 적시성등을 위해서? 비용 절감? Cloud Native의 구현?

  하지만 대다수 회사들은 거의 높은 확률로 비용절감을 위해서 도입합니다.

   

    1. Cloud의 Pay Per Use

    2. 인프라 자산의 무형화로 인한 인프라/인력 Cost절감

  

  다 좋습니다. 비용도 굉장히 중요한 문제입니다.

  하지만 Cloud Mig.를 하면 비용이 무조건 낮아질까요?

  결론부터 말씀드리면 "NO"입니다.

 

[2. 근시안적 Cloud 전환(Mig.)이 비용을 줄이지 못하는 이유]

  Cloud 도입 후 비용 절감 효과를을 위해서는 동시 진행되어야할 작업들이 있음에도 기업들은 간과합니다.

  그 일련의 일들을 동시에 수행하려면 사업기간이 길어지고, 비용도 커지기 때문입니다. 

  비용을 줄이려고 Cloud를 도입하는데, Cloud도입 시 필요한 작업들이 더 큰 비용을 유발하면 안되는 것입니다.

 

  그런데 조금 더 안타까운 것은...

  동시에 진행되어야하는 이러한 일들을 단기 비용측면에서 무시하는 것이면 차라리 이해를 하지만

  많은 회사에서 지식과 경험이 없어 고려 자체를 못하고 있는 것이 더 슬픈 현실입니다.

  

  결론적으로

  Cloud Mig.시 꼭 필요한 요건들을 수행하지 못합니다.

  단순히 Legacy시스템을 Cloud로 올리는 수준으로 Mig.를 수행합니다.

  

  그렇다면 비용 절감을 위해 선행되어야하는 몇가지 요건들은 무엇일까요?

  바로 Cloud Native의 핵심요소인 MSA, DevOps, CI/CD, Container(Docker) 입니다.

  Cloud Native가 되어야 조직, 인프라, 서비스 측면 등에서의 비용절감 효과가 극대화 됩니다.

  

  하지만 다시 말씀드리지만

  위와 같은 요소들을 Cloud Mig.와 같이 하거나 선행 하려면 당장의 돈과 시간이 많이 듭니다.

  그래서 안합니다.

 

  그런데 가장 큰 문제가 있습니다.

      1. Cloud를 도입해놓고 개발, 운영팀이 분리되어 인력 비용 절감을 못합니다.

      2. MSA화 되지 않아 ScaleOut이 무겁습니다. EC2 하나 더 띄웠는데 MSA대비 비용이 몇 배 일수도 있습니다.

 

  그리고는 결과만 보면 오히려 Cloud도입 했더니

  비용은 전혀 줄지 않고 오히려 더 늘어납니다.

  거기에 MSP(Managed Service Provider) 유지관리 비용까지..

 

[3. Cloud 전환(Mig.) 목적 다양성 확보 및 Cloud Native 도입 필요]

  결론

   Cloud 전환(Mig.)시에는 아래를 명확히 해야합니다.

   그래야만 Cloud의 특성을 가장 잘 살리고 비용도 줄어듭니다.

   

    1. Cloud Mig.는 풍부한 목적을 가지고 해야합니다.(KPI의 다양화)

    2. Cloud Native 도입을 해야합니다.(Cloud도입과 동시 수행)

 

구분 목적
목적성 확보 - 고객에게 가용성있는 서비스의 제공
- 오픈데이터 시대에 Open API의 원활한 제공을 위한 안정적 플랫폼 구축
- 서비스의 적시성 있는 제공(CI/CD)
- IT 비용 절감
Cloud Native 도입 - DevOps를 통한 서비스개발/운영 조직역량향상
- Container를 통한 시스테 확장성, 가용성 제공
- CI/CD를 통한 적시적 서비스 제공
- MSA를 통한 서비스 확장성, 적시성, 가용성 제공 

 

2부에서는 Cloud 전환(Mig.)시 발생하는 MSA 전환의 한계점에 대해서 말해보겠습니다.

감사합니다.

'Cloud' 카테고리의 다른 글

Cloud 전환(Mig.) 현실적 문제점 - 2. MSA 전환의 한계  (0) 2020.03.19

+ Recent posts