시작하기
Fascia는 코드 작성 없이 프로덕션 백엔드 시스템을 설계, 관리, 배포할 수 있는 플랫폼입니다. 구조화된 스펙(Specification)으로 비즈니스 로직을 기술하면, Fascia가 데이터베이스 스키마 생성부터 API 배포까지 나머지를 처리합니다 -- 모든 것이 여러분의 Google Cloud 프로젝트 내에서 안전하게 실행됩니다.
Fascia는 현재 얼리 액세스 단계입니다. 이 가이드에 설명된 일부 기능은 활발히 개발 중입니다. 얼리 액세스 프로그램에 참여하려면 액세스 요청을 해주십시오.
Fascia의 작동 방식
Fascia로 백엔드를 구축하는 과정은 네 단계를 따릅니다:
1. Entity 정의
Entity(엔티티)는 비즈니스 객체입니다 -- 애플리케이션이 다루는 핵심 데이터 구조입니다. 각 Entity는 다음을 포함합니다:
- 필드 --
name(string),totalPrice(number),status(enum) 같은 타입이 지정된 속성입니다. - 관계 -- 다른 Entity와의 연결입니다 (예: Reservation은 Customer에 속합니다).
- 상태 머신 -- 허용된 상태와 전이입니다 (예:
pending->confirmed->completed). - Invariant -- 항상 참이어야 하는 비즈니스 규칙입니다 (예: "종료 날짜는 시작 날짜 이후여야 합니다").
Fascia는 Entity 정의에서 데이터베이스 스키마, 마이그레이션, CRUD 작업을 자동으로 생성합니다. 자세한 내용은 Entity 개념 가이드를 참조하십시오.
2. Tool 생성
Tool(도구)은 실행 가능한 백엔드 작업입니다 -- API 엔드포인트, 웹훅 핸들러, 예약된 작업에 해당합니다. 각 Tool은 Flow 그래프로 정의됩니다: 실행 로직을 단계별로 기술하는 시각적 방향 비순환 그래프(DAG)입니다.
Flow 노드에는 데이터 작업(Read, Write), 로직(Transform, If/Switch, Retry), 외부 연동(Payment, Email, HTTP Request), 안전 제어(Transaction, Policy Check, Assert)가 포함됩니다.
모든 Tool은 Execution Contract를 따릅니다 -- 입력 검증, 인가, 정책 검사, 트랜잭션 경계, Invariant 강제, 감사 로깅을 매 호출마다 보장하는 엄격한 9단계 시퀀스입니다.
자세한 내용은 Tool 및 Flow 개념 가이드를 참조하십시오.
3. 안전성 검토
배포 전에 Fascia의 Risk Engine(리스크 엔진)이 모든 Tool을 분석하고 Risk Level(리스크 레벨)을 분류합니다:
| 레벨 | 의미 | 배포 |
|---|---|---|
| Green | 안전 -- 모든 쓰기가 트랜잭션 내에 있고, 무제한 쿼리 없음, 원시 SQL 없음 | 허용 |
| Yellow | 경고 -- 재시도 없는 외부 호출, 높은 행 영향도, 타임아웃 누락 | 확인 후 허용 |
| Red | 차단 -- 원시 쓰기, 트랜잭션 누락, 롤백 없는 결제 | 배포 전 수정 필수 |
Risk Engine은 안전하지 않은 패턴을 런타임이 아닌 설계 시에 감지합니다. 이는 실제 사용자나 데이터에 영향을 미치기 전에 문제를 식별하고 해결할 수 있다는 것을 의미합니다. 자세한 내용은 Policy 개념 가이드를 참조하십시오.
4. 배포
Entity와 Tool이 안전성 검토를 통과하면, 단일 액션으로 여러분의 GCP 프로젝트에 배포합니다. Fascia가 필요한 인프라를 프로비저닝합니다:
- Cloud Run -- Tool을 실행하는 Executor를 호스팅합니다
- Cloud SQL -- 비즈니스 데이터를 위한 PostgreSQL 데이터베이스입니다
- Cloud Scheduler -- 크론 트리거 Tool을 스케줄에 따라 실행합니다
- Secret Manager -- API 키, OAuth 시크릿, 자격 증명을 저장합니다
데이터는 여러분의 클라우 드 프로젝트를 벗어나지 않습니다. Fascia의 Control Plane은 스펙 정의와 배포 메타데이터만 저장하며 -- 비즈니스 데이터는 저장하지 않습니다. 이것이 BYOC (Bring Your Own Cloud) 모델입니다.
설계 인터페이스
Fascia는 백엔드를 구축하고 관리하기 위한 세 가지 인터페이스를 제공합니다:
Chat Studio
원하는 것을 자연어로 설명하면 됩니다. Fascia의 AI 어시스턴트가 요구사항을 Entity와 Tool 스펙으로 변환합니다. AI는 설계 시에만 작동합니다 -- 런타임 실행에는 관여하지 않습니다 (ADR-002 참조).
Flow Studio
Tool 실행 로직을 설계하기 위한 시각적 드래그 앤 드롭 편집기입니다. 데이터, 로직, 외부, 안전 작업 팔레트에서 노드를 연결하여 Flow 그래프를 구성합니다. Flow Studio는 실시간 검증, Risk 분류, 동시성 전략 표시를 제공합니다.