왜 지금 퍼시스턴트 에이전트 실행 환경이 중요한가 서버리스 아키텍처가 확산되면서 백엔드 개발자들은 오랫동안 "실행은 빠르지만 상태를 잃는다"는 근본적인 트레이드오프를 감수해왔다. Lambda나 Cloud Run 같은 일반적인 서버리스 컨테이너는 요청이 끝나면 컨텍스트가...
F*란 무엇인가, 그리고 왜 주목해야 하는가 F*(F star)는 Microsoft Research와 Inria가 공동 개발하고 있는 증명 지향(proof-oriented) 범용 프로그래밍 언어다. 단순한 함수형 언어가 아니라, 의존 타입(dependent types)...
도구에 대한 신뢰는 왜 개발자의 생산성을 결정하는가 개발자가 특정 도구에 집착하는 이유는 단순한 습관이나 고집이 아니다. 그 이면에는 신뢰(trust) 라는 개념이 자리잡고 있다. 수년간 손에 익은 Vim이나 Emacs가 단순한 텍스트 에디터가 아니라 "손의 연장선"처...
내구성과 반복 속도, 두 마리 토끼를 잡는 런타임 독립적 워크플로우 패턴 프로덕션에서 신뢰할 수 있는 워크플로우를 운영하려면 각 처리 단계를 영속화하고 분산 처리해야 한다. 크래시, 재배포, 재시작 상황에서도 작업이 살아남으려면 상태를 외부 저장소에 기록하고, 각 스텝...
프록시 아키텍처가 숨기고 있는 비용 고성능 백엔드 시스템을 설계할 때 Redis(또는 그 포크인 Valkey)와 같은 인메모리 데이터 저장소 앞에 프록시 레이어를 두는 구성은 매우 일반적이다. 접속 풀링, 라우팅, 인증 등을 중앙에서 처리할 수 있어 편리해 보이지만, ...
플랫폼은 만드는 것이 아니라 쓰이는 것이다 백엔드 개발 조직이 성숙해질수록 자연스럽게 내부 플랫폼을 구축하게 된다. 공통 인증 모듈, 배포 파이프라인, 공유 라이브러리, 내부 API 게이트웨이 등이 그 예다. 문제는 이런 플랫폼들이 기술적으로 완성도가 높음에도 불구하고...