title 템플릿 단일 소스 — 자식 페이지가 박지 않게 한다
브라우저 탭, SEO 검색 결과, OG 공유 카드 — 같은 페이지의 "제목" 이 세 자리에서 다르게 보이는 사고가 자주 일어납니다. 원인은 단순합니다. 제목 템플릿 이 하나의 소스에서만 합성되지 않고, 페이지마다 자기 제목에 사이트명을 박는 패턴을 같이 쓰기 때문.
배포 옵션·서비스 비교·선택 기준
브라우저 탭, SEO 검색 결과, OG 공유 카드 — 같은 페이지의 "제목" 이 세 자리에서 다르게 보이는 사고가 자주 일어납니다. 원인은 단순합니다. 제목 템플릿 이 하나의 소스에서만 합성되지 않고, 페이지마다 자기 제목에 사이트명을 박는 패턴을 같이 쓰기 때문.
GitHub Pages 는 GitHub 저장소를 그대로 정적 웹사이트로 배포하는 무료 호스팅입니다. HTML/CSS/JS 또는 Jekyll/Hugo/Vite 같은 정적 사이트 생성기 (SSG) 의 빌드 산출물을 그대로 서빙합니다.
Replit 은 IDE · 협업 · 배포 + AI 코드 생성이 한 화면 안에 들어 있는 클라우드 개발 환경입니다. 로컬 셋업 없이 브라우저만으로 자연어 → 코드 → 배포까지 끝낼 수 있어 AI Web IDE 카테고리의 대표 주자입니다.
에뮬레이터가 없는 외부 SaaS가 있습니다. OAuth 로그인 · 결제 · 동적 DNS · Slack Webhook · AI provider, 그리고 Firebase Cloud Messaging처럼 공식 emulator가 없는 서비스도 있습니다. 이런 외부 의존을 끊고 싶을 때 가장 단순한 길은 HTTP 응답을 흉내내는…
Firebase 는 2011 년 작은 스타트업으로 시작해 2014 년 Google 에 인수됐습니다. 매니지드 모델이 강한 서비스답게 한동안은 "로컬에서 띄우는 길이 없다" 가 맞는 답이었지만, 2020 년 3 월 Firebase Local Emulator Suite 가 정식 GA 되면서 그림이 바뀌었습니다.
Supabase 는 "오픈소스 Firebase" 라는 슬로건으로 2020 년 등장했습니다. Firebase 가 자체 NoSQL · 자체 Auth · 자체 Storage 처럼 하나의 거대한 매니지드 박스라면, Supabase 는 Postgres 를 중심에 두고 그 위에 작은 컴포넌트를 얹는 방식을 택했습니다. 매니지드 (…
AWS 대부분은 인터넷 너머 마법의 데이터센터에서 돈을 받고 일합니다. 개발 머신에서 검증하려면 (1) 실제 AWS 에 PoC 계정 만들기, (2) 어딘가에 비용을 결제하기, (3) 인터넷이 죽으면 손이 멈추기 — 세 가지 비용을 매일 치러야 합니다. 로컬 에뮬레이터는 이 세 비용을 0 에 가깝게 만듭니다.
컨테이너 이미지를 만들고 나면 어디서 실행할지가 다음 질문입니다. EC2 위에 직접 docker 를 돌리는 길도 있지만, 매니지드로 컨테이너 라이프사이클·헬스체크·롤링 배포·서비스 디스커버리를 맡기는 길이 있습니다.
여러 백엔드 서버에 트래픽을 분산하고, 죽은 서버를 빼고, 인증서를 한 자리에서 관리하는 일은 거의 모든 웹 서비스의 공통 자리입니다. AWS 의 그 자리가 ELB (Elastic Load Balancing) 입니다 — 시기마다 다른 모양으로 4 종이 등장했습니다.
도메인 이름을 IP 로 풀어 주는 DNS 는 인터넷의 가장 오래된 인프라 중 하나입니다. AWS 의 매니지드 DNS 서비스가 Route 53 입니다 — 이름은 DNS 의 표준 포트 (53) 에서 따왔습니다.
서버를 띄우지 않고 함수 단위로 코드를 실행하는 모델이 있습니다. 이벤트가 들어오면 그 순간 컴퓨트가 깨어나 함수 한 번을 실행하고, 끝나면 사라집니다. AWS 의 그 자리가 Lambda 입니다 — 서버리스라는 단어가 대중화되는 데 큰 역할을 했습니다.
정적 파일·동영상·API 응답을 사용자 가까이에 캐시해 두면 응답이 빨라지고 원본 서버의 부담이 줄어듭니다. 이 일을 전세계 분산 엣지에서 처리하는 서비스가 CDN (Content Delivery Network) 입니다.
관계형 DB 를 직접 운영하는 일은 백업·복구·HA·튜닝·버전 업그레이드 등 손이 많이 가는 자리입니다. RDS (Relational Database Service) 는 그 운영 책임의 상당 부분을 AWS 가 가져가는 매니지드 서비스입니다.
S3 (Simple Storage Service) 는 AWS 가 2006 년 가장 먼저 GA 한 서비스로, 객체 저장소라는 카테고리를 대중화했습니다. 파일 시스템도 블록 스토리지도 아닌, "키로 접근하는 무한히 큰 버킷" 의 모델이 이후 클라우드 스토리지의 표준 모양이 됐습니다.
클라우드의 모든 호출은 결국 "누가 · 무엇을 · 어디에" 의 질문을 통과합니다. AWS 에서 그 질문을 받는 자리가 IAM (Identity and Access Management) 입니다. 다른 매니지드 서비스가 화려해 보이는 데 비해 IAM 은 텍스트 정책 위주의 평범한 표면을 가지지만, 운영 사고의 상당수가 이…
Fly.io 는 컨테이너를 글로벌 엣지에 빠르게 띄우는 PaaS 입니다. 내부에서 Firecracker microVM 을 써서 컨테이너 이미지를 가벼운 가상 머신으로 변환해 띄웁니다.
"AWS 에 배포한다" 는 한 문장 안에는 매우 다른 추상 수준의 선택지가 있습니다. EC2 한 대 직접 관리부터 Lambda 같은 함수 단위 호스팅까지. 다른 클라우드와 PaaS 까지 포함하면 그림이 더 넓어집니다.
EC2 (Elastic Compute Cloud) 는 AWS 가 가장 처음 공개한 컴퓨팅 서비스로, 클라우드의 "가상 머신" 추상을 대중화했습니다. 매니지드 서비스가 늘어나면서 직접 사용 비중은 다양해졌지만 자유도와 비용 통제에서 기본이 되는 자리입니다.
AWS 의 네트워크 방화벽은 두 층입니다. 인스턴스에 붙는 보안 그룹 (Security Group) 과 서브넷에 붙는 네트워크 ACL (NACL). 이름은 비슷하지만 동작 모델이 꽤 다릅니다.
서브넷이 "공용" 인지 "사설" 인지를 결정하는 것은 라벨이 아니라 라우팅입니다. 인터넷 게이트웨이 (IGW) · NAT 게이트웨이 · 라우트 테이블 · VPC 엔드포인트가 어떻게 결합되는지를 이해하면 서브넷 설계의 의미가 분명해집니다.
AWS 에서 컴퓨팅·DB·로드밸런서가 배치되는 가상 네트워크가 VPC (Virtual Private Cloud) 입니다. VPC 의 모양을 먼저 정의하지 않으면 그 안에서 일어나는 모든 결정이 흔들립니다.
AWS 는 클라우드 서비스 시장을 사실상 정의한 사업자입니다. 서비스 카탈로그가 200 개를 넘지만 카테고리 단위로 보면 몇 개의 큰 묶음으로 정리됩니다.