2026 웹 인프라 가이드

CMS &
콘텐츠 인프라

웹 서비스를 설계할 때
콘텐츠를 어디서 관리하고 어떻게 전달할지 결정하는 4가지 접근

Monolithic CMSHeadless CMSSaaS Embed운영 전략
← → 방향키 또는 스와이프로 탐색
1 / 20

2가지 비교 축으로 보는 CMS 구조

먼저 구조를 어떻게 나누는지 보고, 그다음 누가 운영하는지 보면 혼동이 줄어듭니다

Monolithic CMS vs Headless CMS

아키텍처 축: 콘텐츠 관리와 프레젠테이션(HTML 생성)을 어떻게 나누는가

Monolithic CMS

[CMS+Theme] → HTML → Browser

콘텐츠 관리와 프레젠테이션(HTML 생성)을 한 시스템이 함께 담당합니다.

대표 예시
WordPress, Drupal, TYPO3

Headless CMS

[CMS] → API(JSON) → [Frontend] → HTML → Browser

콘텐츠(데이터)는 API로 관리하고, 프레젠테이션(HTML 생성)은 별도 프런트엔드가 구현합니다.

대표 예시
Contentful, Sanity, Strapi
VS

SaaS Embed vs Self-hosted

운영 축: 기능을 외부 SaaS에 맡길지, 직접 설치해서 운영할지

SaaS Embed

[Frontend] → SDK/Script → [SaaS Provider] → 기능 제공

댓글, 검색, 분석 같은 기능을 외부 서비스에 맡기고 스크립트나 SDK로 연결합니다.

대표 예시
Disqus, Algolia, Google Analytics

Self-hosted

[Frontend] → API → [Self-hosted Service] → 기능 제공

오픈소스 도구나 별도 서비스를 우리 인프라에 설치하고 직접 운영합니다.

대표 예시
Matomo, Meilisearch, Plausible
VS

두 축은 서로 독립적이므로 조합해서 생각할 수 있습니다

Monolithic + SaaS

WordPress 같은 CMS에 댓글·검색·분석 기능만 외부 SaaS로 붙이는 구조

Monolithic + Self-hosted

Drupal·TYPO3를 우리 서버에 직접 설치하고 운영하는 구조

Headless + SaaS

Contentful·Sanity와 Next.js/Astro를 조합해 빠르게 구축하는 구조

Headless + Self-hosted

Strapi·Directus·Payload를 직접 운영해 데이터 통제권을 높이는 구조

즉, Monolithic/Headless는 구조를 고르는 질문이고, SaaS/Self-hosted는 운영 책임을 어디에 둘지 정하는 질문입니다.

2 / 20

아키텍처 패턴 비교

4가지 패턴을 한 번에 훑고, 언제 먼저 후보로 떠올릴지 정리합니다

Monolithic

콘텐츠 관리와 프레젠테이션(HTML 생성)을 한 시스템이 함께 담당

웹사이트 중심 운영에 적합

Headless

콘텐츠는 API로 관리하고 프레젠테이션은 별도 프런트엔드가 담당

멀티채널 확장에 유리

Hybrid

일부는 기존 CMS, 일부는 별도 프런트엔드로 단계적으로 분리

전환 리스크를 나눌 때 유리

Embed

댓글·검색·분석 같은 기능을 독립 서비스로 붙이는 방식

특정 기능만 빠르게 도입할 때 유리
비교 항목MonolithicHeadlessHybridEmbed
프레젠테이션(HTML 생성)CMS가 직접 HTML 생성별도 프런트엔드가 HTML 생성경로/화면별로 나누어 생성기능별 내부 서비스가 응답
핵심 장점구축 단순, 백오피스 일체형멀티채널 확장, 프런트 자유도점진적 분리, 위험 분산기능 도입 속도, 선택적 분리
캐시 전략HTML·정적 자산 CDNAPI + ISR/Edge 캐시경로별 캐시 전략 분리기능별 캐시·큐 운영
먼저 떠올릴 상황웹사이트가 핵심 채널일 때웹·앱·API를 함께 운영할 때기존 CMS를 유지하며 일부만 개선할 때댓글/검색/분석만 빠르게 붙일 때
이 표를 읽는 법

먼저 HTML을 누가 만드는지 보고, 다음으로 캐시 전략과 운영 복잡도를 비교하시면 빠르게 후보를 좁힐 수 있습니다.

3 / 20

Monolithic CMS

콘텐츠 관리와 프레젠테이션이 결합된 전통 구조

콘텐츠 백오피스(관리 화면)와 프레젠테이션(템플릿/테마)이 한 시스템 안에 결합된 구조. 프론트엔드와 백엔드가 본질적으로 결합(coupled)되어 있어, 테마·플러그인 생태계를 통해 기능을 확장합니다.

강점

+비개발자(마케터/운영자)가 직접 페이지·콘텐츠를 빠르게 관리 가능
+테마·플러그인 생태계로 기능 확장이 빠름 (SEO, 분석, eCommerce 등)
+웹사이트 중심 채널에서 빠른 구축·운영에 최적화

약점

-시스템이 커질수록 플러그인·테마 의존도 증가, 업데이트·보안 패치·성능 튜닝이 운영 부담
-프론트엔드 기술 스택 선택의 자유가 제한적 (테마 엔진에 종속)
-멀티 채널(앱, 음성, IoT 등) 대응이 어렵고, API 우선 설계가 불리
최적 시나리오:웹사이트가 주요 채널이고, 운영 주체가 비개발자이며, 빠른 제작·운영이 우선순위일 때
4 / 20

Monolithic CMS 대표 제품

라이선스·강점·운영 고려사항 비교

WordPressGPL (오픈소스)
+테마/플러그인 생태계 최대
코드·콘텐츠 소유권, 마이그레이션 옵션 풍부
공식 사이트 ↗
DrupalGPL (오픈소스)
+구조화 콘텐츠·API-first 지원
"No vendor lock-in" 명시, 업그레이드 전문성 필요
공식 사이트 ↗
JoomlaGPL (오픈소스)
+Extension/Template 기반 확장
자체호스팅 중심, 운영 책임 팀에 귀속
공식 사이트 ↗
TYPO3GPL (오픈소스)
+멀티사이트/멀티언어 운영
엔터프라이즈 지향, 협회/커뮤니티 거버넌스
공식 사이트 ↗
UmbracoMIT (코어 무료)
+.NET 기반 ASP.NET Core CMS
코어 무료, 매니지드/클라우드 부가 시 TCO 달라짐
공식 사이트 ↗
Adobe Experience Manager상용 (엔터프라이즈)
+대규모 조직의 WCM+DAM 통합
상용 계약·전문 운영 역량 전제, 도입 문턱 높음
공식 사이트 ↗
5 / 20

Headless CMS

API로 콘텐츠를 분리·전달하는 현대적 구조

콘텐츠 저장·관리(backend)와 프레젠테이션(frontend)을 분리하고, REST/GraphQL API로 콘텐츠를 어느 채널에든 전달하는 구조. 프론트엔드 기술 스택(React, Vue, Astro 등)을 자유롭게 선택할 수 있습니다.

SaaS형 (벤더 관리)

-인프라·업데이트·보안 패치를 벤더가 담당
-빠른 시작, 즉시 사용 가능
-사용량·좌석 기반 비용 + 벤더 종속성

Self-host형 (오픈소스)

-코드·데이터 완전 통제, 데이터 주권 확보
-운영·보안·스케일링 책임이 팀에 있음
-장기 고정비(인프라+인력)로 전환 가능
핵심 강점:API로 웹·앱·음성·IoT 등 멀티채널 동시 지원 가능
벤더 리스크:콘텐츠 모델/GraphQL 스키마 종속, API 요청/문서 수/대역폭/좌석 기반 비용이 성장 구간에서 급증할 수 있음
6 / 20

Headless CMS 대표 제품

SaaS형과 Self-host형 비교

Pricing: Free/Lite/Premium 플랜
Export: API/CLI export 지원 (space import/export)
대표적인 SaaS형 Headless CMS
공식 사이트 ↗
SanitySaaS + 오픈소스 Studio
Pricing: $15/seat/month (Growth)
Export: CLI/Export API로 데이터 export 가능
Studio(편집기)는 오픈소스, 데이터는 Sanity 클라우드
공식 사이트 ↗
StrapiSelf-host + Cloud
Pricing: Self-hosted Growth $45/month
Export: CLI export/import/transfer 공식 지원
가장 인기 있는 오픈소스 Headless CMS
공식 사이트 ↗
DirectusDB 위에 얹는 Headless
Pricing: 연 소득 < $5M이면 self-host 무료 (BSL 1.1)
Export: CSV/JSON/XML/YAML export 지원
기존 DB를 그대로 CMS화 가능한 독특한 구조
공식 사이트 ↗
Payload앱 내장형 (MIT)
Pricing: 완전 무료·오픈소스·self-host
Export: Next.js native CMS로 앱 내부에 설치
앱과 CMS를 한 코드베이스로 관리
공식 사이트 ↗
7 / 20

SaaS(Cloud) vs Self-hosted

CMS를 어떻게 운영할 것인가

이 비교는 Monolithic vs Headless와는 다른 축입니다. Monolithic, Headless CMS 모두 SaaS(클라우드) 또는 Self-hosted(직접 설치) 방식으로 운영할 수 있습니다. Cloud 벤더(AWS, GCP, Azure)도 이런 오픈소스 CMS를 자신들의 인프라에 배포하는 도구를 제공합니다.

판단 기준
1순위운영 인력 & 데이터 주권
개발자 또는 서버 관리자가 있는가?
데이터를 내가 직접 보유·통제해야 하는가?
2순위사용량에 따른 비용
사용량이 늘어날 때 SaaS 요금이 얼마나 오르는가?
인프라+운영 인력 비용과 SaaS 비용 중 어느 쪽이 저렴한가?

Self-hosted

개발자/서버 관리자가 있을 때
장점
+데이터 완전 통제
+장기적으로 사용량 비용 없음
+커스터마이징 자유
단점
-배포·업데이트·보안 패치 직접 담당
-운영 인력 비용 발생
-스케일링·백업 직접 설계

SaaS / Cloud

운영 인력이 없을 때
장점
+인프라 관리 불필요
+즉시 시작 가능
+업데이트·보안·백업 자동
단점
-사용량·좌석·대역폭 기반 월정액
-데이터가 벤더 서버에 저장
-성장 시 비용 급증 가능
VS
운영 인력이 없다면 월 비용을 내는 SaaS/Cloud가 오히려 총비용이 저렴합니다. 개발자를 고용하거나 담당자가 서버 관리를 배우는 비용이 SaaS 월정액보다 훨씬 클 수 있습니다.
8 / 20

SaaS Embed

기능을 외부 서비스로 위임하고 스크립트로 삽입

댓글·검색·분석·인증 같은 기능을 외부 SaaS에 위임하고, JS/SDK를 통해 애플리케이션에 삽입하는 접근. "붙이는 속도"가 가장 빠르지만, 시간이 지날수록 보안·프라이버시·성능 통제 비용이 발생합니다.

댓글
Disqus
universal JS embed, 트래픽 기반 과금
검색
Algolia
search requests/records 단위 과금
웹 분석
Google Analytics 4
gtag.js 배포, 무료
제품 분석
Amplitude / Mixpanel
이벤트 기반 추적, MAU 과금
고객지원
Intercom
좌석 + usage-based 혼합 과금
결제
Stripe
2.9% + $0.30 per charge
인증
Auth0
Free 25K MAU, 이후 MAU 기반 과금
기능 플래그
LaunchDarkly
Free 1K contexts/month
SaaS Embed 사용 시 고려할 점

아래 항목은 SaaS Embed를 붙일 때 함께 따라오는 운영 고려사항입니다.

보안
3rd-party JS 공급망 위험 — CSP·SRI로 완화
성능
외부 스크립트 로딩이 페이지 성능에 영향
비용
성장 시 사용량(세션/이벤트/요청/레코드) 기반 비용이 비선형 증가
9 / 20

의사결정 프레임워크

누가 무엇을 책임지는가

구조
소유 범위
트레이드오프
적합 시나리오
Monolithic CMS
기능·운영·보안·성능 튜닝을 한 시스템에서
커스터마이징이 쌓이면 복잡도 증가
웹사이트 중심·비개발자 운영·빠른 제작
Headless CMS
콘텐츠 모델링·권한·워크플로는 CMS, 프론트엔드 경험·성능·배포는 팀이
프론트엔드 개발 역량 필요
멀티채널·API 우선·프론트엔드 자유도 필요
SaaS Embed
기능 영역을 벤더에 위임, 보안·프라이버시·성능 통제는 팀이
3rd-party JS 보안·비용·성능 관리 필요
빠른 기능 도입·소규모팀·초기 단계
Self-hosted
통제권·데이터 주권을 팀이, 배포·관측·백업·업데이트도 팀이
운영 역량(DevOps) 필수
데이터 규제·프라이버시·장기 비용 통제
선택은 좋은 제품 vs 나쁜 제품이 아닙니다. 팀이 통제하고 싶은 영역과 외주 주고 싶은 영역의 경계를 어디에 두느냐의 문제입니다.
10 / 20

실무 조합 레시피

상황별 권장 스택

개발·IT 운영 인력이 부족한 조직

마케팅/브랜드 사이트운영 인력 부족
SaaS/Cloud형 Monolithic CMS

페이지 제작과 운영을 빠르게 시작하고, 서버 관리·보안 패치·업데이트는 벤더가 맡는 구성이 현실적입니다.

규제·데이터 민감도 높은 도메인

금융의료B2B SaaS
Headless(또는 Monolithic) + Self-hosted 분석/관측

외부 데이터 전송 최소화. PostHog, Sentry self-host 배포로 내부망 운영

장기 락인 최소화 전략

스타트업확장 단계
교체 가능성을 처음부터 설계

콘텐츠 정기 export 파이프라인 구축 (CLI backup) · SaaS Embed는 CSP/SRI로 격리 · 비용 단위(MAU/이벤트/요청/레코드) 먼저 확정

결국 어떤 구조를 선택하든, 핵심은 팀의 역량과 통제 범위에 맞는 책임 배분입니다.
11 / 20

Hybrid와 단계적 전환

실무에서는 구조를 한 번에 바꾸기보다 섞어서 운영하는 경우가 많습니다

2~3페이지에서 본 비교는 개념 축을 이해하기 위한 요약입니다. 실제 서비스에서는 모든 화면과 기능을 한 번에 바꾸지 않고, 필요한 부분부터 단계적으로 분리하는 경우가 많습니다.

Hybrid

기본 페이지는 기존 CMS가 계속 담당합니다.
검색, 캠페인, 고성능 랜딩 페이지처럼 요구가 높은 일부 화면만 별도 프런트엔드로 분리합니다.

점진적 전환

기존 시스템을 유지한 채 위험이 큰 영역부터 조금씩 교체할 수 있습니다.
운영팀과 개발팀이 동시에 적응할 시간을 확보할 수 있습니다.

기능 회수

처음에는 SaaS Embed로 빠르게 시작하고, 나중에 비용·보안 이슈가 커지면 Self-hosted로 회수할 수 있습니다.
즉, 구조 선택은 고정된 답이라기보다 성장 단계에 따라 달라지는 전략입니다.
중요한 것은 처음부터 완벽한 구조를 고르는 것보다, 나중에 분리하거나 회수할 수 있게 경계를 설계해 두는 것입니다.
12 / 20

발행 → 캐시 무효화 흐름

CMS에서 글을 발행한 뒤 화면이 언제 바뀌는가

"글을 고쳤는데 왜 바로 화면이 안 바뀌지?"의 답은 대부분 캐시입니다. DB를 고쳐도 CDN이나 프런트엔드가 예전 결과를 들고 있으면 화면은 바로 안 바뀝니다.

캐시 무효화 (invalidation)
저장된 옛날 결과를 버리는 것
재생성 (regeneration)
최신 데이터로 페이지를 다시 만드는 것
재검증 (revalidation)
다음 요청 시 캐시가 아직 유효한지 확인하는 것
1
편집자가 콘텐츠 발행
2
CMS가 Webhook 발송
3
Revalidation Worker가 수신
4
CDN invalidation 요청 → 오래된 캐시 제거
5
Next.js revalidateTag 호출
6
다음 요청 시 최신 HTML/JSON 생성
7
사용자가 최신 화면 수신
CDN invalidation만 하면 앱 캐시가 남고, 앱 재검증만 하면 CDN이 남습니다. 두 가지를 함께 설계해야 합니다.
13 / 20

CMS 데이터 모델

콘텐츠뿐만 아니라 권한·리비전·감사로그까지 설계해야 합니다

CMS DB는 단순 글 저장소가 아닙니다. 누가 수정할 수 있는지, 언제 발행됐는지, 이전 버전으로 되돌릴 수 있는지까지 함께 설계합니다.

1:N 작성
1:N 리비전
1:N 댓글
USER
id (PK)
email
password_hash
status (active/disabled)
last_login_at

글·댓글·감사로그 모두와 연결

CONTENT
id (PK)
type (Article/Page/Block)
slug
status (draft/review/published/archived)
author_id (FK)
published_revision_id (FK)

리비전·태그·미디어까지 연결

REVISION
id (PK)
content_id (FK)
revision_no
editor_id (FK)
snapshot (jsonb)
change_note

예전 버전 전체를 통째로 저장한 복사본

COMMENT
id (PK)
content_id (FK)
author_id (FK, nullable)
status (pending/approved/rejected/spam)
ip_hash

승인 큐를 거쳐 XSS·스팸 방어

ROLE, PERMISSION, USER_ROLE, MEDIA, TAXONOMY, AUDIT_LOG도 함께 설계합니다.

Revision.snapshot을 jsonb로 두면 과거 스냅샷과 현재 스키마 차이를 흡수하고 트랜잭션으로 롤백할 수 있습니다.
14 / 20

역할 기반 권한 (RBAC)

누가 무엇을 할 수 있는가

Role (역할)
"이 사람은 누구인가?" — 관리자, 작성자, 일반 사용자
Permission (권한)
"이 사람이 무엇을 할 수 있는가?" — 글 작성, 발행, 삭제
RBAC
역할에 따라 권한을 묶어서 주는 방식
리소스/행위GuestUserAuthor+PublisherAdmin
Content 읽기(공개)
Content 생성 (draft)옵션✅(own)✅(any)
Content 수정✅(own)✅(any)
Content 발행
Content 롤백✅(권한부여)
Comment 작성
Comment 승인/삭제✅(권한부여)
User/Role 관리
권한 세분화는 운영 안정성을 높이지만 복잡도도 증가합니다. 초기에는 own/any 구분만으로 시작하세요.
15 / 20

콘텐츠 워크플로

Draft → Review → Publish → Rollback

글을 쓰는 사람과 승인하는 사람이 다를 수 있습니다. 워크플로는 작성·검토·발행 과정을 일정하게 관리하는 장치입니다.

Draft
Publisher
초안 작성. 아직 미공개.
Review
Publisher → Admin
검토 요청. 승인 대기 중.
Published
Admin
발행 승인. 사용자에게 공개.
Rollback
Admin
published_revision_id를 이전 버전으로 변경. 트랜잭션 + 감사로그 필수.
댓글 승인 큐
Comment.status = pending → approved/rejected/spam. XSS·스팸 방어를 위해 승인 큐를 거칩니다.
관리자 UI는 세션 + CSRF 토큰, 공개 API·모바일은 OAuth 2.0 또는 짧은 만료 JWT를 함께 사용하는 패턴이 가장 일반적입니다.
16 / 20

보안 체크리스트

CMS는 입력·권한·스크립트·미디어 등 공격 표면이 넓습니다

보안 체크리스트는 외워야 할 목록이 아닙니다. "입력값이 위험한가?", "권한이 너무 넓지 않은가?", "외부 스크립트를 믿어도 되는가?"를 점검하는 질문표입니다.

XSS
악성 스크립트가 다른 사용자 브라우저에서 실행되는 문제
CSRF
로그인된 사용자가 원하지 않는 요청을 보내게 만드는 문제
CSP
어떤 스크립트를 실행해도 되는지 브라우저에 규칙을 주는 장치
SRI
외부 파일이 원래 파일과 같은지 해시로 확인하는 장치
영역체크항목수준
인증비밀번호 해시, MFA(옵션), 로그인 시도 제한critical
인가 (RBAC)scope(own/any), 관리자 기능 분리critical
XSS출력 인코딩, HTML Sanitization, 에디터 허용 태그 제한critical
CSRF상태 변경 요청에 CSRF 토큰/Origin 검사high
CSPscript-src를 nonce/hash 기반으로 엄격화, 인라인 차단high
SRI외부 스크립트에 integrity 속성 적용high
비밀 관리DB/토큰 키를 Secret Manager로 분리, 코드에 비밀 금지critical
감사로그발행·롤백·권한 변경은 반드시 AuditLog 기록high
17 / 20

핵심 구현 패턴

어떤 순간에 어떤 시스템이 움직이는가

REST API 주요 엔드포인트
공개 읽기
GET /api/content?type=Article&status=published
GET /api/content/:id
작성/수정 (인증 필요)
POST /api/content (draft 생성)
PATCH /api/content/:id (draft 수정)
POST /api/content/:id/submit (review 요청)
발행/롤백 (권한 필요)
POST /api/content/:id/publish
POST /api/content/:id/rollback { revisionId }
미디어
POST /api/media/presign (presigned URL 발급)
POST /api/media/complete (메타데이터 확정)
발행 트랜잭션 5단계
1content 행에 FOR UPDATE 잠금 (상태 확인)
2새 revision 생성 (snapshot jsonb)
3content.status = 'published', published_revision_id 업데이트
4audit_log에 발행 기록
5캐시 무효화 이벤트 적재 (Outbox 패턴 권장)
Presigned URL 미디어 업로드 흐름
1Browser → POST /api/media/presign
2API → {uploadUrl, key} 반환
3Browser → S3에 직접 PUT
4Browser → POST /api/media/complete
5API → MEDIA row 생성
18 / 20

대용량 업로드는 왜 분리하는가

Presigned URL 패턴을 조금 더 자세히 보면

작은 텍스트 요청은 애플리케이션 서버가 직접 처리해도 부담이 크지 않습니다. 하지만 동영상 같은 큰 파일을 웹서버가 직접 받기 시작하면 네트워크 대역폭, 동시 연결, 임시 저장 공간이 모두 웹서버에 몰리면서 연쇄적인 장애로 이어질 수 있습니다.

작은 텍스트 요청
본문 길이가 상대적으로 짧고 처리 시간이 짧습니다.
웹서버가 직접 받아도 CPU·메모리·네트워크 부담이 제한적입니다.
큰 미디어 업로드
파일이 커질수록 업로드 시간이 길어지고, 연결이 오래 점유됩니다.
웹서버가 직접 받으면 다른 요청 처리까지 느려질 수 있어 별도 경로로 분리하는 편이 안전합니다.
권장 구조: Browser → CloudFront → S3
1Browser → POST /api/media/presign
2API → 짧은 수명의 업로드 권한과 key 반환
3Browser(JS) → CloudFront 업로드 엔드포인트로 직접 PUT/POST
4CloudFront → S3 origin으로 전달
5Browser → POST /api/media/complete
6API → MEDIA row 생성 + 메타데이터 기록
중요한 구현 포인트

여기서 "Browser → S3에 직접 PUT"은 HTML form submit으로 페이지 전체를 넘기는 방식이 아니라, 브라우저의 JavaScript 코드가 fetch/XHR로 비동기 업로드를 수행한다는 뜻입니다. 그래서 진행률 표시, 실패 재시도, 업로드 완료 후 메타데이터 등록을 분리해서 처리할 수 있습니다.

19 / 20

운영·확장성 전략

캐시, DB 확장, 장애 복구

캐시 전략
Edge CDN + Cache-Control: HTTP 표준(RFC 9111) 기반
ISR/SSG: 전체 재빌드 없이 페이지 갱신, 더 정밀하면 revalidateTag
Headless CMS CDN: publish 시 purge 정책 + API rate limit 함께 설계
CSP/SRI: 서드파티 스크립트 통제 — 인라인 차단, 무결성 해시 검증
DB 확장
Read Replica: 공개 조회(published)를 replica로 분산 — 캐시 정책 먼저 확보
Sharding: 멀티테넌트라면 tenant_id 기준 분리 — 리비전/댓글도 같이 이동 가능해야 함
미디어: DB 대신 오브젝트 스토리지(S3) + presigned URL 업로드
장애 복구 기준값 (예시)
구성 요소RTORPO
콘텐츠 DB1~4시간5~15분
미디어 스토리지1~4시간15~60분
캐시/검색 인덱스수분~1시간재구축 가능 기준

이 값은 시작점입니다. 팀의 운영 정책과 예산에 맞게 조정하세요.

20 / 20
강의 목록
4가지 접근으로 이해하는 콘텐츠 관리
강의 요약

CMS & 콘텐츠 인프라

Monolithic, Headless, SaaS Embed, Self-hosted를 서비스 운영 관점에서 비교합니다.

콘텐츠를 어디서 관리하고, 어떤 기능을 외부 서비스에 위임하며, 캐시와 권한은 어떻게 설계해야 하는지 입문자 눈높이로 정리한 구조 설계 강의입니다.

결과물: 내 서비스에 맞는 CMS 구조 선택표, 데이터 모델 초안, 캐시/권한 운영 체크리스트

이 강의에서 다루는 것

  • Monolithic, Headless, SaaS Embed, Self-hosted를 “누가 무엇을 책임지는가” 관점에서 비교할 수 있습니다.
  • 콘텐츠 모델, 리비전, 권한, 감사로그, 캐시 무효화를 하나의 설계 문제로 묶어 볼 수 있습니다.
  • 서비스 상황별로 어떤 조합이 유리한지 선택 프레임워크를 만들 수 있습니다.
  • 실무 구현 전 단계에서 데이터 모델과 운영 체크리스트 초안을 작성할 수 있습니다.

챕터 구성

0125분

아키텍처 분류 기준 잡기

Monolithic vs Headless, SaaS vs Self-hosted를 각각 다른 축으로 보고 혼동을 줄입니다.

0235분

대표 패턴과 제품군 읽기

각 패턴의 장단점뿐 아니라 어떤 조직 조건에서 먼저 후보가 되는지도 함께 봅니다.

0330분

의사결정 프레임워크와 조합 레시피

팀 규모, 데이터 민감도, 운영 역량, 비용 구조에 따라 어떤 조합을 추천할지 정리합니다.

0435분

실무 구현 핵심: 데이터 모델, 권한, 캐시

리비전, RBAC, 감사로그, 캐시 무효화 흐름을 실제 구현 단위로 묶어 봅니다.

0515분

운영·보안·확장 전략

댓글 승인 큐, 대용량 업로드, 장애 복구, 관측성을 어떤 순서로 붙이면 좋은지 정리합니다.