Internal Developer Platform은 진짜 필요한가 — 플랫폼 엔지니어링의 현실과 허상

왜 지금 이게 문제인가 “개발자가 YAML 100줄 안 쓰고 서비스를 배포할 수 있어야 한다.” Spotify가 Backstage를 오픈소스로 공개하면서 던진 이 문장이 업계를 관통했다. 2024년부터 Platform Engineering은 단순 유행어를 넘어 조직 설계의 핵심 의제가 됐다. Gartner는 2026년까지 대형 소프트웨어 조직의 80%가 플랫폼 엔지니어링 팀을 운영할 것으로 전망했고, 실제로 그 수치에 근접하고 있다. 문제의 본질은 간단하다. 마이크로서비스, Kubernetes, GitOps, 다중 클라우드 — 클라우드 네이티브 스택이 복잡해질수록 개발자의 인지 부하(cognitive load) 가 한계를 넘기 시작했다. 백엔드 개발자가 Helm 차트를 이해하고, Terraform 모듈을 수정하고, ArgoCD 싱크 상태를 모니터링해야 하는 상황은 “풀스택"이 아니라 풀스트레스다. ...

November 19, 2025 · 4 min · 763 words · gnosyslambda

Uber는 어떻게 수십억 건의 결제를 "딱 한 번만" 처리하는가

왜 지금 이게 문제인가 결제 시스템에서 “정확히 한 번 처리(exactly-once processing)“는 분산 시스템 엔지니어링의 성배(Holy Grail)다. 네트워크 타임아웃이 발생했을 때 요청을 재시도하면 이중 결제가 되고, 재시도하지 않으면 결제가 누락된다. Uber는 하루 수천만 건의 결제를 수백 개의 마이크로서비스가 처리하면서 이 문제를 극한까지 경험했다. “결제가 두 번 되었습니다"라는 고객 컴플레인은 단순한 버그 리포트가 아니다. 토스나 카카오페이 같은 한국 핀테크도 동일한 문제에 직면한다. PG사 연동에서 타임아웃이 걸렸을 때, 그 결제가 성공한 건지 실패한 건지 확인하는 로직 하나가 수억 원의 차이를 만든다. ...

October 30, 2025 · 5 min · 962 words · gnosyslambda

Claude Code Plugins 해부: 앱스토어 없는 AI 코딩 도구의 확장성 전쟁

왜 지금 이게 문제인가 AI 코딩 도구 시장이 “누가 더 똑똑한 모델을 쓰느냐"에서 **“누가 더 유연하게 확장되느냐”**로 전선이 이동하고 있다. GitHub Copilot은 VS Code 익스텐션 생태계 위에 올라탔고, Cursor는 자체 에디터에 MCP를 통합했다. 그런데 Anthropic은 2025년 10월 9일, 전혀 다른 방향을 선택했다. 앱스토어 없이, Git 저장소 기반의 분산형 플러그인 시스템을 퍼블릭 베타로 공개한 것이다. 핵심 질문은 이것이다: 중앙 마켓플레이스 없이 플러그인 생태계가 성립할 수 있는가? 락인의 문제: VS Code Marketplace에 올린 익스텐션은 VS Code 밖에서 못 쓴다. Cursor의 MCP 설정은 Cursor 밖에서 재활용이 어렵다. 도구에 종속된 확장성은 결국 개발자의 자유도를 갉아먹는다. 토큰 경제학: AI 코딩 도구에서 컨텍스트 윈도우는 곧 비용이다. 무거운 플러그인 하나가 50k 토큰을 먹으면, 정작 코드 분석에 쓸 토큰이 줄어든다. 확장성과 효율성 사이의 트레이드오프를 어떻게 설계하느냐가 기술적 분기점이다. 신뢰 경계: CLI 도구에 서드파티 코드를 실행시키는 것은 본질적으로 위험하다. 샌드박싱 없이 npm install을 돌리는 플러그인이 나오면 그건 보안 사고다. 어떻게 동작하는가 확장성 아키텍처: Skills vs MCP vs Plugins Claude Code의 확장성 레이어는 세 가지로 나뉜다. 각각의 무게와 역할이 명확히 다르다. ...

October 18, 2025 · 5 min · 855 words · gnosyslambda

Cloudflare가 인터넷의 20%를 Rust로 다시 쓴 이유

왜 지금 이게 문제인가 전 세계 인터넷 트래픽의 약 20%가 Cloudflare를 경유한다. 이 거대한 트래픽을 처리하는 핵심 프록시가 NGINX + LuaJIT 조합(내부 코드명 FL1)으로 10년 이상 운영되어 왔다. 그리고 Cloudflare는 이것을 **Rust로 완전히 재작성(FL2)**하는 데 성공했다. “동작하는 코드를 왜 다시 짜는가?“라는 질문에 대한 답은 명확하다. 메모리 안전성의 한계: C/C++ 기반의 NGINX는 버퍼 오버플로우, Use-after-free 같은 메모리 취약점의 온상이다. 보안 회사가 자체 프록시에서 메모리 버그를 내는 것은 존재론적 위협이다. 확장성의 벽: NGINX의 모놀리식 구조 위에 LuaJIT으로 비즈니스 로직을 붙이는 방식은 기능이 늘어날수록 유지보수가 기하급수적으로 어려워졌다. 새 기능 하나를 추가하려면 Lua, C, 설정 파일 세 곳을 동시에 건드려야 했다. 성능 천장: LuaJIT의 GC(가비지 컬렉션)가 예측 불가능한 레이턴시 스파이크를 일으켰고, NGINX의 스레딩 모델은 현대적인 비동기 I/O 패턴과 맞지 않았다. Cloudflare의 재작성은 “Rust가 좋으니까"가 아니라, 기존 시스템의 기술적 부채가 사업적 리스크가 되는 시점에서 내린 결정이다. 100명 이상의 엔지니어가 130개 이상의 모듈을 작성하여 점진적으로 트래픽을 이관한, 대규모 시스템 마이그레이션의 교과서적 사례다. ...

October 8, 2025 · 4 min · 729 words · gnosyslambda

Log4Shell 이후, 소프트웨어 공급망을 신뢰하는 방법은 완전히 바뀌었다

왜 지금 이게 문제인가 2021년 12월 Log4Shell(CVE-2021-44228)이 터졌을 때, 전 세계 보안팀이 가장 먼저 한 일은 “우리 시스템에 Log4j가 어디에 들어가 있는지” 파악하는 것이었다. 그리고 대부분 실패했다. 직접 의존성에는 없더라도, 3단계·4단계 전이 의존성(transitive dependency) 깊숙이 박혀 있는 Log4j를 찾아내는 것은 사실상 불가능했다. 이 사건은 단순한 취약점 하나가 아니라, 소프트웨어 공급망 전체의 투명성 부재를 드러냈다. 우리가 빌드하고 배포하는 아티팩트에 정확히 무엇이 포함되어 있는지, 누가 빌드했는지, 빌드 프로세스가 변조되지 않았는지—이 기본적인 질문에 답할 수 없었다. ...

September 25, 2025 · 4 min · 817 words · gnosyslambda

kube-scheduler의 속을 열어보면: 당신의 Pod는 어떻게 그 노드에 배치됐는가

왜 지금 이게 문제인가 “Pod가 Pending 상태로 멈춰 있습니다.” Kubernetes를 운영하는 팀이라면 한 번쯤 들어본 문장이다. 대부분의 경우 리소스 부족이 원인이지만, 클러스터가 1,000노드를 넘어가고 GPU 워크로드가 섞이기 시작하면 이야기가 완전히 달라진다. 스케줄러가 병목이 되는 것이다. 국내에서 AI 워크로드가 폭증하면서 이 문제는 더 이상 해외 빅테크만의 이야기가 아니다. 네이버 클라우드 HyperCLOVA 학습 클러스터, 카카오 클라우드의 GPU 인스턴스 풀, 그리고 수많은 스타트업의 A100/H100 클러스터에서 스케줄러 성능은 인프라 비용과 직결된다. GPU 한 장이 시간당 수만 원인 환경에서 스케줄링 지연 10초는 곧 돈이다. ...

July 22, 2025 · 4 min · 766 words · gnosyslambda

안녕하세요, gnosyslambda의 기술 블로그입니다

블로그를 시작하며 “코드는 결국 기억의 외장 저장소다.” 그동안 배우고 시도한 것들이 너무 빠르게 흘러갔습니다. 정리하지 않은 지식은 쉽게 사라지고, 같은 문제를 반복해서 푸는 스스로를 발견했습니다. 이 블로그는 그 흐름을 붙잡기 위한 공간입니다. 다룰 주제들 🛠 개발 실전 기록 아키텍처 설계와 트레이드오프 백엔드 / 인프라 엔지니어링 경험 오픈소스 기여 및 라이브러리 활용기 🤖 AI 도구 & LLM LLM 프롬프트 엔지니어링 실전 팁 AI 코딩 도구 (Claude, Cursor, Copilot 등) 활용기 에이전틱 엔지니어링 실험 🔬 기술 스터디 & 회고 읽은 기술 문서와 논문 요약 프로젝트 회고 및 레슨런 앞으로 AI가 코드를 쓰는 시대에, 엔지니어의 가치는 무엇을 만들지 결정하는 판단력과 시스템 전체를 이해하는 깊이에 있다고 생각합니다. ...

June 15, 2025 · 1 min · 114 words · gnosyslambda