본문 바로가기
IT기술노트/디지털서비스

클라우드 네이티브 정보시스템 개발 절차

by 비트코기 2024. 10. 11.
반응형

클라우드 네이티브 정보시스템 개발 절차


1. 클라우드 네이티브 정보시스템 개발 절차 개요

개요 - 클라우드 네이티브 정보시스템 개발 절차는 분석, 설계, 구현, 테스트 및 이행의 단계로 진행된다 요구사항이 명확한 대부분의 공공 정보화사업은 폭포수 방법론에 따라 수행하고, 새로운 서비스를 구현하는 경우에는 애자일 방법론에 따라 점진적이고 반복적으로 수행하는 절차

 

2. 클라우드 네이티브 정보시스템 개발 절차 및 단계별 활동

1) 클라우드 네이티브 정보시스템 개발 절차

-  클라우드 네이티브 정보시스템 개발은 기존 정보시스템 개발 공정과 다르게 마이크로서비스 도출 · 설계 · 개발, 마이크로서비스 아키텍처 설계 · 구축, 빌드 · 배포 등의 태스크를 포함한다.

 

2) 클라우드 네이티브 정보시스템 단계별 활동

단계 활동 설명
분석 요구사항 분석 • 사용자에 대한 인터뷰 및 설문 등을 통해 업무 개선 및 시스템 개선 요구사항을 수집 분석하고 검토함
- 업무 개선 요구 : 현행 업무 문제점 , 개선사항 등 분석
- 시스템 개선 요구 : 현행 시스템의 문제점 , 개선사항 , 시스템 영향도 , 제약사항 등 분석
마이크로서비스 도출 • 업무기능의 응집도와 유사성을 고려하여 독립적으로 배포하고 , 확장할 수 있는 마이크로서비스를 도출함
- 도메인 주도 설계 , 이벤트 스토밍 , 업무기능 분해 방식을 통해 마이크로서비스를 도출
클라우드 네이티브 아키텍처 설계
(개념 아키텍처)
• 클라우드 네이티브 애플리케이션 아키텍처의 구성요소 설계
- API 게이트웨이 , 서비스 메시 , 런타임 플랫폼 , CI/CD, 백엔드 서비스 , 텔레메트리 등 구성요소의 기능을 검토하고
설계 마이크로서비스 설계
(도메인 모델링)
• 도메인모델링을 통한 마이크로서비스 내부 구조를 상세 설계하고 , 이를 기반으로 개발 단계에 최종 코드를 구현함
- 도메인이 제공하는 기능과 주요 데이터를 포함
마이크로서비스 아키텍처 설계
(논리 아키텍처)
• 마이크로서비스 환경 설정, 서비스 관리, 서비스 게이트웨이, 모니터링 , 큐잉 메시지 브로커 ) 등 환경 구성 설계
• 도메인 모델의 표준 패턴을 이용하여 도메인 구현모델 설계
- 쿼리 패턴 (API 조합 패턴 , CQRS 패턴 ),
- 트랜잭션 관리 ( SAGA 패턴
프런트엔드(UI) 설계 • 효율적인 업무처리를 위한 사용자 인터페이스 (UI) 설계
- 사용자 경험 (UX) 설계 , 화면 구성 및 디자인 (UI) 설계 등
개발 원칙 수립 • 클라우드 네이티브 정보시스템을 구축하기 위한 개발원칙을 수립함
• SaaS 개발원칙인 12 Factors 를 토대로 각 기관에서 클라우드 네이티브 정보시스템을 구축하기 위한 개발 원칙을 수립함
구현 개발·테스트·운영환경 구축 • 개발 및 단위 테스트를 위해 필요한 SW 를 로컬 개발환경에 설치하고 검증
• 공공 또는 민간
마이크로서비스 개발 및 테스트
(스프링부트 활용)
• 도메인 모델의 결과물을 기반으로 마이크로서비스를 코드로 구현하고 단위 테스트를 수행 서비스와 리파지토리 구현
• 구현된 업무를 적절한 기술로 구현하기 위한 패키지 구성
마이크로서비스 아키텍처 구축
(물리 아키텍처)
• 마이크로서비스 아키텍처 시스템 환경을 구성
- 스프링 클라우드 등 오픈소스 라이브러리를 활용
- 주요 구성 요소 : API 게이트웨이 , 설정 , 서비스 디스커버리 , 서킷 브레이커 , 이벤트
프런트엔드(UI) 개발 및 테스트 • 사용자 인터페이스 ( 를 개발하고 테스트함
빌드·배포 • 도커 , 쿠버네티스 등 컨테이너를 기반으로 마이크로서비스를 빌드 · 배포함
• 저장소에 커밋한 코드의 모든 변경 사항을 검증한 후 빌드 수 행한 후 테스트 단계로 넘어감
• 빌드되고 테스트된 결과물을 원하는 환경으로 배포함
사용자 테스트 빌드된 마이크로서비스를 사용자 , 개발자 등이 함께 테스트를 수행하고 개선 요구사항을 반영하여 해결하는 과정
테스트·이행 통합테스트 •  설계와 분석 단계를 통해 개발된 마이크로서비스 간 연계 , 시스템 성능 테스트 수행 및 문제 해결 수행
•  통합테스트 결과에 따라 릴리즈 새로운 버전 출시 를 결정
데이터 이행 •  기존 시스템의 클라우드 네이티브 전환 또는 신규 시스템 구축 시 초기 데이터 또는 기존 데이터를 이행 구축
릴리즈
(운영이관)
•  테스트가 완료된 애플리케이션을 운영환경으로 릴리즈
안정화 및 운영 •  클라우드 네이티브 정보시스템 구축 후 서비스 안정화 및 사후관리

- 클라우드 전환 및 도입 효과를 높이기 위해 단순한 기술 인프라 위주의 클라우드 도입보다 클라우드 환경에 최적화된 새로운 형태의 클라우드 네이티브 정보시스템 구축이 필요하고, 기존의 크고 , 단일한 서비스 구조를 마이크로서비스 아키텍처로 구현하여 개발 , 배포 , 운영함으로써 빠르고 안정적인 대국민 서비스 제공


※출처: 클라우드 네이티브 정보시스템 구축을 위한 개발자 안내서, 행정안전부 / 한국지능정보사회진흥원

반응형

댓글