MSA 도입 평가 체크리스트
최근 MSA SI사업에 유행처럼 번저나가고 있습니다. 과거에 EJB그러했듯이 묻지고 따지지도 않고 MSA만이 정답이라고 말하는듯 합니다. 실제 프로젝트 참여하면 충분히 준비되지않고 진행되는 프로젝트로 개발자는 개발자대로 힘들고, 고객도 품질 낮은 결과를 납품받는 Lose and Lose 관계가 여기저기서 발생하고 있는듯 합니다. 최근 몇년간 제가 참여했던 프로젝트들도 그러했습니다.
아래 체크리스트가 절대적인건 아니지만 SI프로젝트 영업하시는 분들이 보시고 참고해서 답정너식 MSA도입을 안했으면 합니다.
부정평가가 없다고 해서 MSA도입이 꼭 필요하다는건 아니지만, 최소한 부정평가요인이 있다면 MSA제안하지 않았으면 합니다.
항목 추가될 필요가 있다거나 내용수정에 대한 의견은 언제든지 환영합니다.
평가항목 | 긍정평가 요인 | 부정평가 요인 | |
1. 비지니스를 수행하는 조직이 몇개인가요? | 3개이상 조직의 숫자가 많을 수록 긍정적 | 2개이하 조직 | |
2. 비지니스를 수행하는 사용자가 몇명인가요? | 10명 초과 사용자가 많을 수록 긍정적 | 10명 이하 | |
3. Application의 부분적으로 수평확장이 필요한가? (특정기간 특정 프로그램에 트래픽이 급속히 증가) | 부분적으로 수평확장이 필요 | - | |
4. 구축된 MSA를 통해서 서비스가 예상되는 Application의 숫자는? | 3개이상 숫자가 많을 수록 긍정적 | 2개이하 | |
5. 소프트웨어가 전반적으로 데이타의 강한 일관성을 요구하나요?(RDBMS Transaction에 강하게 의존적) | - | 강한 데이타 일관성을 요구 | |
6. 적극적으로 Public CLOUD를 활용할 수 있나요? | 적극적 활용가능 | - | |
7. On-Premise 구축 필요시 | 7.1. Private CLOUD구축 및 운영역량을 보유하고 있거나 확보할 예정인가? | 역량보유 | - |
7.2. 각종 인프라(Kubernates, Git, Jenkins, Redis, Kafka ... etc)의 구축/운영 능력을 보유하고 있는가? | 역량보유 | - | |
7.3. 적절한 커뮤니케이션 도구(Issue Traker, Wiki) 가 구축되어 있는가? | 구축되어 있음 | - | |
7.4. CI/CD 환경이 구축되어 있는가? | 구축되어 있음 | - | |
7.5. 프로젝트 수행기간은 얼마나 되나요? | - | 1년 이하 | |
8. MSA 구축하기 위해 몇개의 Database가 필요하나요? | 2개이상 긍정적, 서로다른 종류일경우 더욱 긍정적 | - | |
9. MSA 구축하기 위해 몇개의 language가 필요하나요? | 2개이상 | - | |
10. 몇개의 타시스템과 연계처리가 필요로 하나요? | 2개채널 이상 | - | |
11. Legacy 시스템 배포시간이 오래걸리고, 배포로 인한 문제점이 지속적으로 발생하고 있다. | 그렇다. | - | |
12. 위에서 해당하지 않는 모든사항들이 충분히 예측가능한 미래에 발생한 가능성이 매우 높으며 고객이 사전투자를 충분히 할 의지를 가지고 있는가? | 투자의지가 있다 | - | |