Skip to main content

Posts

Showing posts from May, 2025

데이터와 자동화 — 요구조건을 만족시키는 '새로운' 플랫폼만이 해답이었다

데이터와 자동화 — 요구조건을 만족시키는 '새로운' 플랫폼만이 해답이었다 핵심: 기존 결과물의 플랫폼 구조로는 CEO가 요구한 서비스를 만들 수 없다. 우리는 아키텍처·데이터·자동화·보안을 전부 새로 설계 했고, 그 설계만이 글로벌·다국어·다통화·실시간 흐름(Quote→PO→Invoice→Delivery→Settlement)을 단일 트랜잭션 체인으로 구현한다. 1. 요구조건에서 시작한 ‘새 플랫폼’ 선언 Quote → PO → Invoice → Delivery → Settlement 전체 흐름이 단일 데이터 체인 으로 연결될 것 국가/언어/통화/세율/물류 규칙을 데이터 레이어 에서 통합 관리할 것 데이터 변화가 이벤트(AMQP) 를 통해 실시간 전파되고 캐시와 UI가 자동 갱신될 것 사람이 문서/툴을 조작하지 않아도 AI 워크플로우 가 명세→스키마→API→배포를 자동 생성할 것 이 요구는 곧 플랫폼의 재정의 였다. “코드가 데이터를 설명”하던 과거에서, “ 데이터가 코드를 지배 하는” 구조로의 전환. 이 관점에서 전 계층을 다시 설계했다. 2. 새로운 기술 스택(Infra/Runtime/Automation/Security) Infra & Network Tencent Cloud : ap-hongkong(Primary), ap-seoul(DR) DNSPod Geo Routing + Health Check COS + CDN : 정적 자산 전세계 엣지 배포 TKE/CVM : API 모듈 컨테이너 오케스트레이션 Data & Messaging ...

MCP 아키텍처 설계기 — 글로벌 인프라의 뼈대를 세우다

MCP 아키텍처 설계기 — 글로벌 인프라의 뼈대를 세우다 2025년 5월, REINDEERS 플랫폼의 인프라 재설계가 본격적으로 시작되었다. 4월 한 달 동안 우리는 기존 시스템을 전면 점검했고, AWS 싱가폴 리전에 산재된 비효율적인 구조를 확인했다. CI/CD는 단순 스크립트 수준에 머물렀고, 운영 스테이지도 명확히 구분되지 않았다. 소스 관리조차 통합되지 않아 빌드가 환경마다 달랐다. 결국 우리는 아키텍처를 완전히 다시 세워야 했다. 새로운 MCP(Multi-Cloud Point) 구조는 “홍콩을 메인 리전, 서울을 DR 리전” 으로 설정하고, 각 지역의 접속은 DNSPod의 Geo Routing을 이용해 가장 가까운 리전으로 유도하도록 설계했다. 프런트엔드는 COS(Object Storage)에 정적 배포 후, Tencent CDN으로 자동 퍼블리시되며, Git push 한 번으로 모든 리전이 갱신된다. CI/CD는 Drone 을 도입했다. 단순히 스크립트를 실행하는 수준이 아닌, YAML 기반의 self-service CI로 바꿔서 모든 빌드/배포 파이프라인을 코드로 관리한다. kind: pipeline type: docker name: frontend-build steps: - name: install image: node:20 commands: - npm ci - name: build image: node:20 commands: - npm run build - name: deploy image: tencentcloudtools/cli environment: COS_BUCKET: reindeers-front-hk commands: - tccli cos cp ./dist cos://${COS_BUCKET}/ --recursive 이 Drone 설정은 GitHub Action보다 훨씬 단순하면서도 빠르다. 서버 자원은 모두 CV...

팀과 기술의 리빌드 — 다시 일하는 법을 정비하다

팀과 기술의 리빌드 — 다시 일하는 법을 정비하다 요약: REINDEERS는 시스템을 다시 설계하기 전에 먼저 팀을 해체했다. 기존 인력 전원이 퇴사한 후, 기술 커트라인을 통과한 새로운 엔지니어들로 조직을 재구성했다. 이후 Drone 기반 CI/CD, Git 워크플로우, 테스트 자동화, AI 협업 체계까지 모든 기술 문화가 새롭게 정의되었다. 1. 리빌드의 시작 — 사람부터 바꿨다 2025년 4월 초, REINDEERS는 중대한 결정을 내렸다. 시스템을 새로 만드는 일보다 먼저, 사람을 바꾸기로 한 것이다. 플랫폼은 기술로 움직이지만, 운영의 일관성을 무너뜨리는 것은 언제나 사람이다. 결국 기존 직원들은 모두 퇴사했다. 이전 팀은 실험적이었지만, 운영 가능한 구조를 만들기엔 역부족이었다. 남은 것은 코드 일부와 배포 스크립트뿐이었다. 우리는 그 위에 새로운 문화를 세우기보다, 완전히 새 팀을 만드는 길을 선택했다. “사람을 남긴 게 아니라, 기준을 남겼다.” 2. 새 팀의 탄생 — 기술 커트라인부터 통과해야 했다 신규 채용의 기준은 단순했다. “ 운영 가능한 기술을 이해하는가 .” 단순히 코드를 작성할 줄 아는 개발자가 아니라, 시스템이 어떻게 동작하고 복제되며, 장애를 어떻게 복구해야 하는지를 아는 엔지니어만이 합류할 수 있었다. 기술 커트라인 (필수 항목) Nuxt 3 / Vue3 + SSR 구조 이해 Python / Node.js 기반 API 서버 설계 경험 Drone CI/CD 파이프라인 구축 및 유지 경험 Tencent Cloud CLI 활용 및...