시작하기첫 아키텍처
첫 아키텍처
이 가이드에서는 처음부터 끝까지 첫 아키텍처를 설계하고, 분석한 뒤 팀과 공유합니다.
시작점 선택
방법 1: AI 지원 설계(초보자에게 권장)
Architect AI는 자연어를 완전한 아키텍처로 바꾸도록 도와줍니다.
방법 2: 패턴 라이브러리
검증된 아키텍처 패턴으로 시작해 요구사항에 맞게 수정합니다.
방법 3: 코드 가져오기
기존 Terraform/CloudFormation을 가져와 Architecto로 시각화합니다.
각 방법을 살펴보겠습니다.
방법 1: AI 지원 설계
1단계: 인프라 설명
- 대시보드에서 “아키텍처 생성” → **“AI로 설명”**을 클릭합니다
- 대화상자에 자연어로 인프라를 설명합니다
E-commerce platform selling handmade goods
- 10,000 concurrent users at peak
- Global audience (US, EU, Asia)
- Real-time inventory tracking
- Payment processing (Stripe)
- Recommendation engine (ML)
- Mobile app + web app- **“생성”**을 클릭하고 AI가 요청을 분석할 때까지 기다립니다
2단계: 생성된 옵션 검토
Architecto는 3~5개 아키텍처 옵션을 생성합니다. 각 옵션은 다음을 보여 줍니다.
- 토폴로지 다이어그램 — 구성요소와 연결의 시각적 표현
- 비용 추정 — 목표 규모의 월 비용
- 복잡성 등급 — 구현 난이도
- 적합한 용도 — 이 접근법을 사용할 상황
- 장단점 — 다른 옵션과의 절충점
각 옵션을 검토하며 다음을 생각하세요.
- 성능 요구사항을 충족하는가?
- 비용을 감당할 수 있는가?
- 팀이 구현할 수 있는가?
- 빠진 구성요소가 있는가?
3단계: 아키텍처 선택
원하는 옵션의 **“선택”**을 클릭합니다. 토폴로지가 시각적 캔버스에 로드됩니다.
캔버스 사용
캔버스에서 아키텍처를 시각적으로 설계하고 편집합니다.
캔버스 조작
| 작업 | 방법 |
|---|---|
| 이동 | 스크롤 또는 마우스 가운데 버튼으로 드래그 |
| 확대/축소 | 마우스 휠 또는 트랙패드 핀치 |
| 노드 선택 | 구성요소 클릭 |
| 노드 이동 | 선택한 노드 드래그 |
| 노드 추가 | 도구 모음의 “+”를 클릭하고 종류 선택 |
| 노드 삭제 | 선택 후 Delete |
| 노드 연결 | 한 노드에서 다른 노드로 화살표 드래그 |
| 실행 취소/다시 실행 | Ctrl+Z / Ctrl+Y |
노드 편집
노드(서버, 데이터베이스, 로드 밸런서 등)를 선택하면:
-
오른쪽에 속성 패널이 열립니다.
- 노드 종류 — 어떤 서비스인지
- 구성 — 사양(인스턴스 크기, 스토리지 등)
- 공급자 — AWS, GCP, Azure 등
- 가용성 — 단일 AZ 또는 다중 AZ
- 확장 — 수평 확장의 최소/최대 복제본 수
-
변경하면 분석이 즉시 갱신됩니다
서비스 연결
서비스 간 데이터 흐름:
- 동기 — REST API, gRPC(실선)
- 비동기 — 메시지 큐, 이벤트 스트림(파선)
- 데이터베이스 — 읽기/쓰기 작업(점선)
흐름을 클릭하면 다음을 편집합니다.
- 프로토콜 — HTTP, gRPC, TCP, UDP
- 암호화 — TLS, KMS 키
- 인증 — API 키, OAuth, mTLS
- 요청 빈도 제한 — 초당 요청 수
- 재시도 정책 — 지수 백오프, 최대 재시도 횟수
일반적인 아키텍처 패턴
전자상거래(이번 예시)
Load Balancer
├─ Web Servers (auto-scaled)
├─ API Servers (auto-scaled)
├─ Cache Layer (Redis)
├─ Primary Database (PostgreSQL)
├─ Read Replicas
├─ Object Storage (Images, PDFs)
├─ Message Queue (for async tasks)
├─ ML Service (recommendations)
├─ Search Engine (Elasticsearch)
└─ CDN (for static assets)마이크로서비스
API Gateway
├─ Auth Service
├─ User Service
├─ Product Service
├─ Order Service
├─ Payment Service
├─ Notification Service
├─ Search Service
└─ Analytics Service
Shared:
- Message Bus (for inter-service communication)
- Distributed Cache
- Logging/Monitoring Stack서버리스
API Gateway (triggers)
├─ Lambda for Auth
├─ Lambda for API handlers
├─ Lambda for background jobs
├─ DynamoDB
├─ S3 for storage
├─ CloudFront CDN
├─ SQS queues
└─ EventBridge for event routing분석 실행
설계를 마치면 구현 전에 분석하세요.
비용 분석 실행
- “분석” → **“비용 추정”**을 클릭합니다
- 가정을 입력합니다.
- 목표 사용자 수 — 1,000 / 10,000 / 100,000 / 1,000,000
- 사용량 프로필 — 보수적 / 보통 / 적극적
- 리전 — 미국 / EU / 아시아 태평양
- Architecto가 다음을 계산합니다.
- 규모별 월 총비용
- 구성요소별 비용 내역
- 비용이 급증하는 비용 변곡점
- 비용을 줄이는 권장사항
확장성 확인
- “분석” → **“확장성 분석”**을 클릭합니다
- 결과를 검토합니다.
- 병목 — 처리량을 제한하는 구성요소
- 확장 한계 — 지원 가능한 최대 사용자 수
- 확장 전략 — 수평 및 수직 확장 권장사항
- 예시: “사용자 5만 명에서 데이터베이스가 병목입니다. 읽기 복제본을 추가하고 연결 풀링을 활성화하세요.”
보안 검토
- “분석” → **“위협 모델링”**을 클릭합니다
- 식별된 위협을 확인합니다.
- STRIDE 분석 — 스푸핑, 변조, 부인, 정보 공개, 서비스 거부, 권한 상승
- 공격 경로 — 위협 발생 방식
- 완화 조치 — 각 위협 방지 방법
- 위협 예시:
- “스푸핑: 공격자가 사용자를 사칭합니다. 완화: 사용자 계정에 MFA를 활성화하세요.”
- “변조: API 호출에 대한 중간자 공격입니다. 완화: 모든 엔드포인트에 TLS 1.3을 적용하세요.”
아키텍처 맞춤 설정
모니터링과 로깅 추가
모든 운영 아키텍처에는 가시성이 필요합니다.
- 모니터링 — CloudWatch, Datadog, Prometheus
- 로깅 — CloudWatch Logs, ELK Stack, Splunk
- 추적 — X-Ray, Jaeger(마이크로서비스용)
- 경보 — PagerDuty, Opsgenie(온콜 팀용)
재해 복구 추가
장애를 계획에 반영하세요.
- 다중 리전 구성 — 액티브/액티브 또는 액티브/패시브
- 백업 전략 — 일일 자동 백업, 시점 복구
- 장애 조치 자동화 — Route 53 상태 확인, 자동 전환
- 테스트 — 카오스 엔지니어링으로 복원력 검증
보안 계층 추가
기본 인증을 넘어 다음을 적용하세요.
- 네트워크 보안 — VPC, 보안 그룹, NACL
- 암호화 — 저장 시 AWS KMS, 전송 중 TLS
- 접근 제어 — IAM 정책, RBAC, ABAC
- DDoS 방어 — CloudFront, Shield, WAF
문서 생성
아키텍처를 전문 문서로 변환하세요.
RFC 생성
- “문서” → **“RFC 생성”**을 클릭합니다
- Architecto가 다음을 자동 작성합니다.
- 문제 정의 — 필요한 이유
- 제안 솔루션 — 작성한 아키텍처
- 검토한 대안 — 다른 선택지와 채택하지 않은 이유
- 비용 분석 — 월 비용과 ROI
- 보안 검토 — 위협과 완화 조치
- 확장 분석 — 성장 대응 방식
- 섹션을 편집해 설명을 다듬습니다
- 팀과 공유해 검토받습니다
다이어그램 내보내기
- **“내보내기”**를 클릭합니다
- 형식을 선택합니다.
- PNG/SVG — 슬라이드와 문서용
- PDF — 인쇄와 보관용
- PPT — 맞춤 브랜딩 프레젠테이션용
- 모양을 설정합니다.
- 구성요소 유형별 색상
- 회사 로고 위치
- 글꼴과 텍스트 스타일
- 배경과 강조색
- 바로 사용할 파일을 다운로드합니다
아키텍처 공유
팀과 공유
- **“공유”**를 클릭합니다
- 토큰 링크를 생성합니다(기본 7일 후 만료)
- 복사해 팀원에게 보냅니다
- 계정 없이 브라우저에서 볼 수 있습니다
- 댓글을 달 수 있습니다.
- 구성요소를 클릭해 댓글 추가
- 파일과 스크린샷 첨부
- @mentions로 팀원 태그
- 실시간 알림 수신
피드백 수집
- 팀원이 댓글을 추가합니다
- 피드백이 있는 구성요소에 개수가 표시됩니다
- 댓글에 대응합니다.
- 아키텍처 갱신 후 링크 재공유
- 스레드에 답변
- 해결됨으로 표시
- 최종 아키텍처에 팀의 의견이 반영됩니다
다음 단계
성공을 위한 팁:
- 단순하게 시작하고 복잡성을 더하세요
- 구현 전에 비용과 보안을 검토하세요
- 설계 초기에 팀의 의견을 받으세요
- 나중을 위해 결정을 기록하세요