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 (개념 증명): 설계의 핵심적인 부분이나 리스크가 높은 기술 조합에 대해 소규모 프로토타입을 만들어 성능을 검증합니다.
    • 문서화: 설계 결정 사항, 패턴, 기술 스택, 인프라 다이어그램 등을 아키텍처 문서로 정리합니다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기