
상명대학교 / 서광규 교수
2-1. 사례 1: 온라인 자동차 부품 매장
- 추천 서비스
- 결제 게이트웨이 서비스: 이 마이크로서비스는 결제 게이트웨이 API와 통합되어 고객이 신용 카드나 직불 은행 카드를 사용하여 온라인으로 결제할 수 있도록 한다. 결제 거래를 처리하고 결제가 완료되면 주문 상태를 업데이트한다.
사용자 서비스는 인증 및 사용자 정보의 중심점 역할을 하기 때문에 중요하고 의존도가 높은 마이크로서비스로 식별된다. 주문 서비스는 시스템의 핵심 기능을 관리하므로 의존도가 높을 가능성이 높은 반면, 결제 서비스, 결제 게이트웨이 서비스 및 추천 서비스는 보다 전문적이고 종속성이 더 좁다. 향후 시스템에서 가장 변경될 가능성이 높은 부분은 할인 및 추천 시스템과 사용자 인터페이스이다. 사용자 행동이나 비즈니스 요구 사항에 따라 새로운 규칙이나 조건 및 권장 사항을 포함하도록 할인 및 권장 사항을 업데이트해야 할 수도 있다.
ChatGPT와 여러 차례 채팅을 진행하면서 이전에는 확인되지 않았지만 필요한 참조 서비스를 제공했다. 그림 2에는 식별된 마이크로서비스와 그 관계가 표시되어 있다.

[그림2. 온라인 자동차 부품 매장 II]
그림 2에서 볼 수 있듯이 이 경우 Order 마이크로서비스는 의존도가 낮고 이에 의존하는 다른 서비스도 적으므로 더 나은 솔루션으로 볼 수 있다. 따라서 시스템이 ChatGPT에 설명된 방식과 제공된 세부 정보 수준이 제공되는 솔루션의 품질에 영향을 미친다는 결론을 내릴 수 있다.
이 두 가지 권장 디자인은 다소 유사하지만 식별된 서비스에는 약간의 차이가 있다. 원하는 디자인에 대해 더 자세한 지침을 제공하면 솔루션의 복잡성과 품질에 영향을 미칠 수 있다.
"가능한 한 많은 마이크로 서비스를 만들라"거나 "5개이상 마이크로 서비스를 만들지 않도록 하라"와 같은 지침은 ChatGPT가 보다 바람직한 솔루션을 제공하는 데 도움이 될 수 있다.
2-2. 사례 2: 동물병원
첫 번째 채팅에서는 GPT에 대한 전체 설명이 제공된다.
소프트웨어 시스템은 동물병원에서 사용된다. 이 시스템을 통해 애완동물 검사 및 개입 일정을 계획하고 문서화할 수 있다. 시험은 고객이 웹사이트의 양식을 통해 일정을 정한다.
필요한 모든 데이터를 입력하고 사용 가능한 날짜와 시간을 선택해야 한다. 요청 빈도가 높은 짧은 기간과 빈도가 낮은 기간이 있을 것으로 예상된다. 검사 또는 개입이 수행된 후 이를 수행한 수의사가 이를 문서화한다. 수의사는 이미 기록된 애완동물을 선택할 수 있고, 애완동물이 없으면 시스템에 추가할 수 있다.
수의사는 전용 사용자로 로그인하고 전용 양식을 통해 절차를 설명하는 데이터를 삽입함으로써 이를 수행한다. 또 다른 유형의 사용자는 웹사이트의 콘텐츠를 관리하고 클리닉에서 제공하는 사용 가능한 서비스를 제공 및 관리하는 관리자이다. 그들은 또한 교육적이고 전문적인 기사가 담긴 블로그와 진료소 및 그곳에서 치료받는 애완동물의 비디오와 사진 갤러리로 구성된 시스템의 홍보 부분을 관리한다.
시스템의 또 다른 부분은 고객이 질문에 답할 수 있는 수의사에게 연락하는 데 사용할 수 있는 채팅이다. 시험 일정을 잡고 채팅을 사용하기 위해 고객이 등록된 사용자를 가질 필요는 없다.
그러나 고객은 채팅에서 묻는 질문에 대한 업데이트를 받을 수 있는 이메일을 제공해야 한다. 수의사는 전용 사용자를 사용하여 채팅을 통해 질문에 응답한다. 채팅에서 고객의 질문에 응답하는 수의사는 현재 한 명만 근무하며 모든 질문은 수의사에게 전달되어야 한다.
ChatGPT로 식별되는 서비스는 다음과 같다.
- 예약 서비스: 이 마이크로서비스는 애완동물 검사 및 개입 일정을 처리한다. 고객이 웹사이트 양식을 통해 약속 요청을 제출하고, 가능한 날짜와 시간을 선택하고, 관련 약속 데이터를 저장할 수 있는 기능을 제공한다.
- 사용자 서비스: 사용자 서비스는 사용자 인증 및 권한 부여를 관리한다. 사용자 등록, 로그인, 사용자 프로필 관리를 처리한다. 고객 사용자, 수의사 사용자, 관리자 사용자를 구분한다.
- 애완동물 서비스: 이 마이크로서비스는 애완동물 데이터 관리를 처리한다. 이를 통해 수의사는 아직 등록되지 않은 새 애완동물을 시스템에 추가할 수 있다. 또한 수의사가 애완동물을 검사 및 개입 기록과 연관시키는 기능도 제공한다.
- 문서화 서비스: 이 마이크로서비스는 검사 및 중재를 문서화하는 역할을 담당한다. 이를 통해 수의사는 로그인하고, 전용 양식에 액세스하고, 절차를 설명하는 데이터를 삽입할 수 있다. 검사 및 중재기록을 저장하고 관리한다.
- 관리 서비스: 관리 서비스는 관리자가 웹사이트의 콘텐츠를 관리할 수 있는 기능을 제공한다. 여기에는 서비스 추가, 편집 또는 제거와 같이 클리닉에서 제공하는 사용 가능한 서비스 관리가 포함된다.
- 프로모션 서비스: 이 마이크로서비스는 시스템의 프로모션 부분을 처리한다. 교육적이고 전문적인 기사로 블로그를 관리하며, 진료소 및 그곳에서 치료받는 애완동물과 관련된 동영상과 사진 갤러리도 관리한다.
- 채팅 서비스: 채팅 서비스를 통해 고객은 채팅 기능을 통해 이용 가능한 수의사에게 연락하고 질문을 할 수 있다. 이를 통해 고객은 등록된 사용자 없이 채팅을 시작할 수 있다. 또한 이 서비스는 담당 수의사에게 질문이 전달되고 수의사는 전용 사용자를 통해 응답할 수 있도록 보장한다.
스케줄링 및 애완동물 관리 서비스는 시스템의 핵심 서비스로 파악되었으며, 프로모션 콘텐츠 관리 서비스는 잦은 변경이 예상되는 서비스로 지목되었다. 그림 3에는 식별된 마이크로서비스와 그 관계가 표시되어 있다.

[그림3. 동물병원 온라인 시스템 I]
그림 3에서 볼 수 있듯이 서비스는 이전 예보다 서로에 대한 의존도가 약간 적다. 그러나 격리된 것으로 볼 수 있는 두 가지 서비스(관리 및 프로모션)가 있는데, 이는 모델이 시스템에 적합하지 않으며 추가 변경이 필요하다는 신호일 수 있다.
부분적인 설명에 이어 약속 예약 마이크로서비스, 애완동물 관리 마이크로서비스, 검사 및 중재 마이크로서비스, 사용자 관리 마이크로서비스, 콘텐츠 관리 마이크로서비스 등의 추가 세부정보가 식별된다.
추가 마이크로서비스로는 프로모션 관리 마이크로서비스와 채팅 관리 마이크로서비스가 있다.
그림 4에는 식별된 마이크로서비스와 그 관계가 표시되어 있다.

[그림4. 동물병원 온라인 시스템 II]
이 반복에는 분리된 서비스가 없지만 서로 연결되어 있지만 시스템의 나머지 부분과는 연결되지 않은 두 가지 서비스(콘텐츠 및 프로모션)가 있다. 설명된 시스템에 대해 이것이 사실인지 여부는 건축가가 분석할 몫이다.
참 고 문 헌
- Tatjana Stojanovic, Sa?a D. Lazarevi?, The Application of ChatGPT for Identification of Microservices, E-business technologies Conferences Proceedings 2023, Vol. 3 No. 1. 2023.
- S. Newman, Building Microservices ? Designing fine-grained systems, O'Reilly Media, Inc., 2015.
- J. &. F. M. Lewis, "Microservices a definition of this new architectural term," 25 3 2014. [Online]. Available: https://martinfowler.com/articles/microservices.html.
- M. R. a. R. H. Dharmendra Shadija, "Microservices: Granularity vs. Performance," in In Companion Proceedings of the10th International Conference on Utility and Cloud Computing (UCC ’17 Companion). Association for Computing Machinery, New York, NY, USA, 215?220. , 2017.
- Haque, Md & Li, Shuai. (2023). The Potential Use of ChatGPT for Debugging and Bug Fixing. EAI Endorsed Transactions on AI and Robotics. 2. e4. 10.4108/airo.v2i1.3276.
- Liu, Chao & Xuanlin, Bao & Zhang, Hongyu & Zhang, Neng & Hu, Haibo & Zhang, Xiaohong & Yan, Meng. (2023). Improving ChatGPT Prompt for Code Generation.
- White, J., Hays, S., Fu, Q., Spencer-Smith, J., & Schmidt, D.C. (2023). ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design. ArXiv, abs/2303.07839.
- Kim, Dae-Kyoo. (2023). Using ChatGPT to Develop Software Systems: Alert to Software Engineers?. 10.13140/ RG.2.2.26388.78725.
- "Open AI," 30 11 2022. [Online]. Available: https://openai.com/ blog/chatgpt. [Accessed 10 5 2023].
저작권 정책
K-ICT 클라우드혁신센터의 저작물인 『마이크로서비스 식별을 위한 ChatGPT 적용』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.