1. 아이디어 검토
2. 기술스택 검토 및 정리 예시
Web FE/BE, GenAI, AWS, CICD 사용하기로 결정했을 때
| 레이어 | 기술 스택 구성 요소 | AWS 서비스 연동 예시 | 선정 근거 |
| Web Front-end | React / Vue.js | Amazon CloudFront를 통한 정적 배포 및 캐싱 | 사용자 경험 최적화 및 빠른 로딩 속도 확보. |
| Web Back-end | Node.js (Express) 또는 Go (Gin) | Amazon ECS (Fargate) 또는 Lambda (API Gateway) | Node.js의 비동기 처리 성능과 AWS 서버리스/컨테이너 환경의 확장성 결합. |
| AI 추론 Layer | Python (FastAPI), Boto3 SDK | Amazon SageMaker Endpoint 또는 Amazon Bedrock API | AI/ML 생태계 표준 언어 사용. 웹 트래픽과 AI 추론 트래픽 분리 관리. |
| AI 데이터 / DB | PostgreSQL + pgvector | Amazon Aurora (PostgreSQL), Amazon S3 (Data Lake) | RAG 데이터의 벡터 검색 및 데이터 무결성 확보. |
| 메시지 큐 | Python (SQS) | Amazon SQS | GenAI 추론은 지연 시간이 길 수 있으므로, 비동기 처리를 통해 사용자에게 빠른 응답 제공. |
| CI/CD & IaC | CodePipeline, Docker | AWS CodePipeline, CodeBuild, CloudFormation | 전체 서비스와 AI 모델 배포 파이프라인의 통합 자동화 및 인프라의 코드 관리. |
3. 요구사항 분석 정의 * 구체화
4. 기술검토
5. 아키텍처 설계
1. ⚙️ 아키텍처 설계의 4단계 과정
아키텍처 설계는 일반적으로 다음 네 가지 주요 단계를 거치며 반복적으로 진행됩니다.
1.1. 요구사항 분석 및 정의 (Requirements Analysis)
- 활동 목표: 시스템이 무엇을 해야 하고, 어떤 제약 조건 내에서 작동해야 하는지를 명확히 이해합니다.
- 주요 활동:
- 기능적 요구사항 정리 (예: 사용자 로그인, 상품 주문).
- 비기능적 요구사항(NFR) 정의 (예: 성능, 확장성, 보안, 가용성). 특히 아키텍처 선택에 결정적인 영향을 미치는 확장성이나 지연 시간 목표를 명확히 합니다.
- 제약 조건 식별 (예: 예산, 기술 스택 제약, 개발 기간).
1.2. 개념적 아키텍처 설계 (Conceptual/Logical Design)
- 활동 목표: 시스템의 **큰 그림(Big Picture)**과 주요 구성 요소(모듈)를 식별하고, 이들 간의 관계 및 상호작용 방식을 정의합니다.
- 주요 활동:
- 패턴 선택: 시스템의 목적과 NFR에 따라 적합한 아키텍처 패턴을 선택합니다 (예: 모놀리식, 마이크로서비스, 이벤트 주도 아키텍처).
- 주요 컴포넌트 식별: 데이터베이스, API 게이트웨이, 인증 서비스, 비즈니스 로직 처리 모듈 등 시스템을 구성하는 핵심 요소를 정의합니다.
- 데이터 흐름 정의: 사용자의 요청이 시스템 내부의 컴포넌트들을 거쳐 어떻게 처리되는지 흐름도를 그립니다.
1.3. 기술 아키텍처 설계 (Technical/Physical Design)
- 활동 목표: 개념적 설계에서 정의된 컴포넌트들을 구체적인 기술 스택과 인프라에 매핑합니다.
- 주요 활동:
- 기술 스택 선정: 백엔드 언어/프레임워크, 데이터베이스 유형(SQL/NoSQL), 캐싱 시스템 등 구체적인 기술을 결정하고 선정 이유를 문서화합니다.
- 배포 환경 설계: 클라우드 서비스(AWS, Azure 등)를 선정하고, 서버 구성(EC2, Lambda, Fargate), 로드 밸런싱, 네트워킹(VPC) 등을 구체적으로 정의합니다.
- CI/CD 파이프라인 구상: 개발-테스트-배포 자동화 전략을 수립합니다.
1.4. 아키텍처 평가 및 검토 (Evaluation and Review)
- 활동 목표: 설계된 아키텍처가 요구사항과 제약 조건을 실제로 충족시킬 수 있는지 검증하고, 잠재적인 리스크를 식별합니다.
- 주요 활동:
- 리스크 분석: 확장성 병목 현상, 보안 취약점 등 발생 가능한 문제를 예측합니다.
- PoC (개념 증명): 설계의 핵심적인 부분이나 리스크가 높은 기술 조합에 대해 소규모 프로토타입을 만들어 성능을 검증합니다.
- 문서화: 설계 결정 사항, 패턴, 기술 스택, 인프라 다이어그램 등을 아키텍처 문서로 정리합니다.





최근댓글