본문으로 건너뛰기

기술

어떻게 구축하며, 왜 그렇게 구축하는지

이 페이지는 프레임워크 목록이 아니라 엔지니어링 결정에 관한 것입니다. 도구는 프로젝트마다 달라집니다. 이 원칙은 그렇지 않습니다.

엔지니어링 원칙

지키는 다섯 가지

각각에는 대가가 있습니다. 그 대가를 감수하는 이유는, 다른 선택은 대개 나중에, 운영 환경에서, 더 나쁜 시점에 드러나기 때문입니다.

Reliable by Design

오류 처리, 입력 검증, 모니터링, 복구는 기능과 함께 설계하며, 첫 장애 뒤에 끼워 넣지 않습니다. 실패하는 시스템은 눈에 띄고 예측 가능하게 실패해야 합니다.

API-first

다른 시스템이 도달해야 하는 것은 정의된 계약이 있는 명시적 인터페이스로 노출합니다. 연동이 내부 구현 세부사항에 의존하지 않게 하기 위함입니다.

Security-conscious

Secrets, 인증, 인가, 검증은 서버에 둡니다. Client 코드는 공개된 것으로 다루며, 권한은 동작하는 가장 좁은 범위로 부여합니다.

Maintainable

움직이는 부분을 줄이고, 일반적인 패턴과 읽기 쉬운 코드를 사용합니다. 복잡성은 문제가 요구할 때만 더합니다. 이후 다른 사람이 유지하기 때문입니다.

Measurable

운영상 중요한 시스템에는 logging, 분석, 상태 확인을 두어, 동작과 비용에 대한 질문을 가정이 아니라 데이터로 답할 수 있게 합니다.

아키텍처

아키텍처 원칙

시작하는 기본값입니다. 이유가 있으면 벗어나도 됩니다. 그 이유는 기록합니다.

  1. 01 가능한 한 정적으로
  2. 02 실용적인 범위에서 serverless
  3. 03 명확한 API 경계
  4. 04 최소 권한 secrets
  5. 05 구조화된 데이터
  6. 06 관찰 가능한 서비스

이 웹사이트에 적용한 내용

지금 읽고 있는 사이트도 같은 규칙을 따릅니다. 페이지는 미리 렌더링한 정적 HTML이며 Cloudflare의 edge network에서 제공되므로, 페이지 조회에는 서버 측 렌더링이나 데이터베이스 조회가 없습니다. 요청 시 실행되는 코드는 /api 아래의 소규모 API뿐입니다. 상태 확인, 서비스 목록, 문의 endpoint, 향후용으로 남겨 둔 결제 endpoint입니다.

  • Frontend 정적 HTML과 CSS이며, 상호작용이 필요할 때만 JavaScript를 사용합니다
  • API 서버 측 검증과 일관된 JSON 형태를 갖춘 serverless function
  • 저장 문의 제출은 managed SQL 데이터베이스에 저장하며, 제3자 폼 서비스는 사용하지 않습니다
  • Secrets 환경별로 관리하며, client bundle이나 저장소에는 넣지 않습니다

health endpoint는 직접 확인할 수 있습니다: /api/health.

역량 영역

기술 범위

일상적으로 다루는 영역입니다. 이 범위를 벗어나면, 귀사 비용으로 배우지 않고 미리 말씀드립니다.

AI / LLM Integration

검증, 대체 동작, 비용 가시성을 갖춘 작업별 model 사용입니다.

APIs

버전이 있는 HTTP 인터페이스, webhook, 인증된 서비스 경계입니다.

Automation

재시도, logging, 예외 대기열이 있는 일정 및 이벤트 기반 작업입니다.

Data Processing

정형 데이터와 텍스트 데이터에 대한 정규화, 검증, 변환입니다.

Cloud Infrastructure

Serverless 및 edge 배포, 환경 분리, 관리되는 secrets입니다.

Web Applications

전 구간에 서버 측 검증이 있는, 접근 가능하고 반응형인 인터페이스입니다.

System Integration

필드마다 소유권을 명시한 운영 시스템 간 연결입니다.

Analytics

시스템이 사용하는 같은 데이터 위에 만든 운영 보고와 측정입니다.

사용하는 도구

Languages
TypeScript, Python, SQL
Interfaces
REST APIs, Webhooks, Server-side rendering
Data
Relational databases, Object storage, Structured logging
Platform
Cloudflare, Serverless runtimes, CI-based deployment
AI
Hosted AI APIs, Prompt versioning, Output validation

검토할 기존 시스템이 있습니까?

이미 소프트웨어가 있다면, 재구축보다 평가가 더 유용한 경우가 많습니다. 현재 구현을 검토하고 남길 가치가 있는 부분을 알려 드립니다.