시작하기
Fascia는 코드 작성 없이 프로덕션 백엔드 시스템을 설계, 관리, 배포할 수 있는 플랫폼입니다. 구조화된 스펙(Specification)으로 비즈니스 로직을 기술하면, 결정론적 Go 실행기가 런타임에 직접 해석합니다 — 데이 터베이스 구축부터 API 배포까지, 모든 것이 여러분의 Google Cloud 프로젝트 내에서 실행됩니다.
Fascia는 현재 얼리 액세스 단계입니다. 이 가이드에 설명된 일부 기능은 활발히 개발 중입니다. 얼리 액세스 프로그램에 참여하려면 액세스 요청을 해주세요.
준비물
- Fascia 계정 — fascia.run에서 가입
- Google Cloud 계정 (배포 시에만 필요 — GCP 없이도 설계 가능)
Fascia의 작동 방식
Fascia로 백엔드를 구축하는 과정은 다섯 단계를 따릅니다:
1. Entity 정의
Entity(엔티티)는 비즈니스 객체입니다 — 애플리케이션이 다루는 핵심 데이터 구조입니다. 스마트 데이터베이스 테이블이라고 생각하면 됩니다. 각 Entity는 다음을 포함합니다:
- 필드 — 저장할 데이터입니다.
name(텍스트),totalPrice(숫자),status(선택 목록) 등입니다. - 관계 — Entity 간의 연결입니다 (예: Reservation은 Customer에 속합니다).
- 상태 라이프사이클 — 데이터가 거치는 단계입니다 (예:
대기중→확정→완료). - 비즈니스 규칙 — 항상 참이어야 하는 조건입니다 (예: "종료 날짜는 시작 날짜 이후여야 합니다").
Fascia가 자동으로 데이터베이스 테이블을 생성하고, 데이터 저장을 처리하며, 규칙을 강제합니다. 자세한 내용은 Entity 개념 가이드를 참조하세요.
2. Tool 생성
Tool(도구)은 백엔드 작업입니다 — 앱이 할 수 있는 동작들입니다. 각 Tool은 API 엔드포인트와 같습니다: 요청을 받고, 데이터를 처리하고, 결과를 반환합니다. 플로우 그래프를 사용해 시각적으로 로직을 설계합니다 — 무엇이 일어나야 하는지 단계별로 나타내는 다이어그램입니다.
사용 가능한 단계에는 데이터 읽기/쓰기, 조건 분기(if/switch), 이메일 전송, 결제 처리, 외부 API 호출 등이 포함됩니다. 모든 단계는 데이터 손상을 방지하는 트랜잭션 경계 내에서 실행됩니다.
모든 Tool은 엄격한 Execution Contract를 따릅니다 — 매 요청마다 입력 검증, 권한 확인, 데이터 무결성, 자동 로깅을 보장하는 9단계 시퀀스입니다.
자세한 내용은 Tool 및 Flow 개념 가이드를 참조하세요.
3. 설계 검토
배포 전에 Fascia의 Risk Engine이 모든 Tool을 검사하고 스펙 완전성을 평가합니다:
| 레벨 | 의미 | 배포 가능? |
|---|---|---|
| Green | 스펙이 완전합니다 — 데이터 작업이 보호되고, 불완전한 패턴이 감지되지 않았습니다 | 예 |
| Yellow | 주의할 점이 있습니다 (예: 결제 처리, 재시도 없는 외부 API) | 예, 경고 확인 후 |
| Red | 반드시 수정해야 할 심각한 스펙 이슈가 있습니다 (예: 보호되지 않은 데이터 변경, 트랜잭션 경계 누락) | 아니오 — 먼저 문제를 수정하세요 |
핵심은 문제가 배포 후가 아니라 설계 시에 발견된다는 것입니다. 실제 사용자나 데이터에 영향을 미치기 전에 문제를 식별하고 해결할 수 있습니다. 자세한 내용은 Policy 가이드를 참조하세요.
4. 배포
Entity와 Tool이 설계 검토를 통과하면, 클릭 한 번으로 여러분의 Google Cloud 프로젝트에 배포합니다. Fascia가 필요한 모든 것을 설정합니다:
- Cloud Run — 백엔드 로직을 실행합니다
- Cloud SQL — PostgreSQL 데이터베이스입니다
- Cloud Scheduler — 예약된 작업을 실행합니다 (예: 일일 리포트, 정리 작업)
- Secret Manager — API 키와 비밀번호를 안전하게 저장합니다
데이터는 절대 여러분의 클라우드 프로젝트를 벗어나지 않습니다. Fascia 서버는 설계 스펙만 저장하며 — 비즈니스 데이터는 저장하지 않습니다. 이것이 BYOC (Bring Your Own Cloud) 모델입니다.
5. 앱 사용하기
배포 후, Entity CRUD Portal이 스펙에서 자동 생성된 완전한 웹 애플리케이션을 제공합니다:
- Dashboard — 모든 Entity의 레코드 수와 최근 활동 확인
- 데이터 관리 — 자동 생성된 폼으로 레코드 생성, 수정, 조회
- Tool 실행 — 간단한 UI로 백엔드 작업 실행
- 상태 전이 — 라이프사이클을 통해 레코드 이동 (예: 예약 확정)
End-User 인증을 설정하면 실제 사용자(고객, 직원)가 역할별로 필터링된 인터페이스를 통해 백엔드와 상호작용할 수 있습니다. 자세한 내용은 Portal 가이드를 참조하세요.
설계 인터페이스
Fascia는 백엔드를 구축하고 관리하기 위한 세 가지 인터페이스를 제공합니다:
Chat Studio
원하는 것을 일상 언어로 설명하면 됩니다. Fascia의 AI 어시스턴트가 아이디어를 구조화된 스펙으로 변환해 줍니다. AI는 설계 시에만 사용됩니다 — 백엔드가 실제 요청을 처리할 때는 사용되지 않습니다 (실행 계약 참조).
Flow Studio
Tool의 작동 방식을 설계하는 시각적 드래그 앤 드롭 편집기입니다. 데이터 작업, 조건, 연동, 검증 제어 팔레트에서 단계를 연결하여 로직을 구성합니다. Risk Level과 실행 전략에 대한 실시간 피드백을 제공합니다.
Management Console
배포 후: 시스템 모니터링, 데이터 조회, 변경 추적, 사용자 관리, API 테스트가 가능합니다. 자세한 내용은 백엔드 관리하기를 참조하세요.
다음 단계
- 예약 시스템 만들기 — 완전한 실습 튜토리얼
- 핵심 개념 — Entity, Tool, Flow, Policy를 심층적으로 이해합니다
- FAQ — 자주 묻는 질문과 문제 해결
- 아키텍처 — 시스템 설계 알아보기