분류 전체보기
-
imprun의 진화: Serverless에서 API Gateway Platform으로실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 30. 14:58
작성일: 2025년 10월 30일대상 독자: 백엔드 아키텍트, 플랫폼 엔지니어난이도: 중급~고급TL;DRimprun은 Serverless 플랫폼에서 Gateway 플랫폼으로 진화했습니다. 이 글은 그 여정에서 마주한 설계 고민들과 해결 방법, 그리고 최종 결정에 이르기까지의 과정을 공유합니다.핵심 변화:❌ Serverless 플랫폼 (Vercel/Netlify 같은)✅ "Gateway 플랫폼" - 다양한 게이트웨이를 제공ApiGateway: CloudFunction 기반 REST API 개발 ({id}.api.imprun.dev)AiGateway: MCP+LLM 조합 AI 채팅 ({id}.ai.imprun.dev, 향후)모든 Gateway는 동일한 패턴: Environment + ClientApp리팩토링..
-
API Gateway 플랫폼의 Stage 아키텍처 설계: dev → staging → prod 환경 분리 전략실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 29. 18:41
작성일: 2025년 10월 29일대상 독자: 플랫폼 엔지니어, DevOps 엔지니어, 아키텍트난이도: 중급~고급주제: Environment Segregation, Deployment Pipeline, Multi-stage ArchitectureTL;DR✅ 고정 3 Stage 전략: dev, staging, prod (추가 불가, 간결함 우선)✅ Function Name Prefix: dev/user/me, prod/user/me (물리적 분리)✅ 독립 코드 관리: 각 Stage별 별도 Document (환경 간 영향 없음)✅ 클릭 배포: dev → staging → prod 코드 복사 (원클릭)✅ Plugin 계층: Application → Stage → Function (Override 가능)✅ 조건부..
-
Apache APISIX로 멀티 테넌트 API 플랫폼 설계하기: 3계층 아키텍처 구현 노하우실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 29. 18:36
작성일: 2025년 10월 29일대상 독자: 플랫폼 엔지니어, 아키텍트, API Gateway 설계자난이도: 중급~고급주제: Apache APISIX, Kubernetes, 서버리스 아키텍처TL;DR✅ Gateway → Environment → Function 3계층 아키텍처를 APISIX로 구현✅ Route 수 최소화: 100개 Function이어도 Gateway당 Route 4개만 생성✅ 동적 라우팅: APISIX Route는 고정, Runtime이 Function 동적 실행✅ Plugin 계층 상속: Gateway 전역 → Environment별 → Function별 Override✅ 멀티 테넌트: Application마다 독립된 Namespace와 Upstream✅ Kubernetes Native..
-
APISIX Ingress Controller 2.0: CRD 선택 가이드실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 29. 17:44
작성일: 2025-10-28대상: APISIX Ingress Controller 2.0 사용자TL;DR 🎯2025년 현재, Kubernetes Ingress + annotations 사용을 권장합니다.✅ ApisixPluginConfig는 deprecated 아님 - 활발히 사용 중❌ ApisixClusterConfig만 삭제됨 - ApisixGlobalRule로 대체🚧 Gateway API는 Alpha - CORS, 플러그인 미지원APISIX Ingress Controller 2.0 CRD 현황공식 지원 CRD (2025-10-28 기준)v2 (APISIX 네이티브) - ✅ StableCRD용도상태비고ApisixRoute라우팅 규칙✅ StableApisixRoute/v2ApisixPluginConf..
-
Cilium 환경에서 API Gateway 배포 시 hostNetwork가 필요한 이유실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 29. 17:44
작성일: 2025-10-28대상: Kubernetes + Cilium 환경에서 Kong, APISIX 등 API Gateway 운영자개요Kubernetes에서 API Gateway(Kong, APISIX 등)를 배포할 때, kube-proxy 대신 Cilium을 사용하는 환경에서는 외부 트래픽 라우팅 전략이 달라집니다.이 문서는 Cilium 환경에서 NodePort + iptables 조합이 작동하지 않는 이유와, 상황별 최적 아키텍처 선택 가이드를 제공합니다.목차문제 상황: NodePort가 iptables에서 보이지 않음근본 원인: Cilium의 eBPF 기반 네트워킹해결 방법: hostNetwork 사용아키텍처 선택 가이드: MVP vs 프로덕션실전 구성 예시문제 상황: NodePort가 iptab..
-
Kong에서 APISIX로의 험난한 여정: Cilium 환경에서의 시행착오실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 29. 17:43
작성일: 2025-10-28카테고리: DevOps, Kubernetes, API Gateway난이도: ⭐⭐⭐⭐ (고급)TL;DRAI Gateway를 구축하기 위해 Kong에서 APISIX로 전환하는 과정에서, 문서 오류부터 시작해 6가지 주요 시행착오를 겪었습니다. 최종적으로 hostNetwork: true + 9080/9443 포트 + iptables REDIRECT 방식으로 안정적인 구성을 완성했습니다.핵심 교훈:📝 문서는 정확하게 작성하자 - 이전 블로그를 잘못 작성해서 반나절 낭비Cilium 환경에서는 NodePort가 eBPF로 처리되어 iptables REDIRECT 대상이 될 수 없음CAP_NET_BIND_SERVICE만으로는 nginx 기반 애플리케이션이 80/443에 바인딩 불가APIS..
-
Monaco Editor "TextModel got disposed" 에러 완벽 해결 가이드실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 27. 14:46
작성일: 2025년 10월 27일카테고리: React, Monaco Editor, 디버깅난이도: 중급TL;DR문제: TextModel got disposed before DiffEditorWidget model got reset 에러 발생원인: @monaco-editor/react의 DiffEditor가 props 변경 시 모델을 재생성하면서 dispose 충돌 발생해결: keepCurrentOriginalModel={true} + keepCurrentModifiedModel={true} props 추가 (단 2줄!)결과: 복잡한 cleanup 로직 없이 깔끔하게 해결, 코드 45% 감소들어가며imprun.dev는 Kubernetes 기반 서버리스 Cloud Function 플랫폼입니다. 웹 콘솔에서 함..
-
Kubernetes Gateway API 실전 가이드: Kong Ingress에서 표준 API로 전환하기실제 경험과 인사이트를 AI와 함께 정리한 글 2025. 10. 27. 14:17
작성일: 2025년 10월 27일카테고리: Kubernetes, Gateway API, Kong난이도: 중급TL;DR문제: Ingress는 각 컨트롤러마다 다른 annotation 문법을 사용하여 vendor lock-in 발생해결: Kubernetes 표준 Gateway API로 전환하여 포터블하고 명시적인 설정 달성결과: Kong 전용 KongPlugin → 표준 HTTPRoute로 전환 완료핵심: Gateway API는 단순한 리소스 교체가 아닌, Kubernetes 네트워킹의 패러다임 전환들어가며imprun.dev는 Kubernetes 기반 서버리스 Cloud Function 플랫폼입니다. API Gateway로 Kong Ingress Controller를 사용하면서, vendor 종속적인 ann..