본문으로 건너뛰기

시작하기

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단계 시퀀스입니다.

자세한 내용은 ToolFlow 개념 가이드를 참조하십시오.

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 분류, 동시성 전략 표시를 제공합니다.

Management Console

프로덕션 백엔드를 배포, 모니터링, 관리합니다. 배포 상태를 확인하고, 감사 로그를 검사하며, 워크스페이스 설정을 관리하고, Tool 실행 메트릭을 모니터링할 수 있습니다.

다음 단계

  • 핵심 개념 -- Entity, Tool, Flow, Policy를 심층적으로 이해합니다
  • 아키텍처 -- Control Plane과 Data Plane의 분리 구조를 학습합니다
  • 아키텍처 결정 -- 주요 설계 선택의 근거를 확인합니다