반응형

전체 글 413

Git-Bridge: Go로 만든 멀티 플랫폼 Git 미러링 시스템

Overview멀티 Git 플랫폼 환경에서 리포지토리 동기화는 흔한 과제다. 특히 CodeCommit을 소스로 사용하면서 사내 GitLab이나 GitHub으로 미러링해야 하는 경우, 각 플랫폼마다 이벤트 수신 방식이 달라 통합된 솔루션이 필요하다. 이 글에서는 Go로 작성한 Git 리포지토리 미러링 도구 git-bridge를 소개한다. AWS EventBridge + SQS를 활용한 CodeCommit 이벤트 수신, GitLab/GitHub 웹훅 수신, 그리고 Terraform으로 인프라를 프로비저닝하는 전체 구축 과정을 다룬다.주요 특징: 멀티 프로바이더(CodeCommit, GitLab, GitHub), 양방향 미러링, DLQ 기반 재시도, Slack 알림, Kubernetes 네이티브 배포 http..

IaC/CI CD Tool 00:00:57

OTel Operator를 활용한 코드 수정 없는 자동 계측 (Auto-Instrumentation)

Overview본 글은 분산 추적(Distributed Tracing) 시리즈의 마지막 제3편이다. 이론과 개념을 다루었던 제1편과 AWS EKS 환경에서 실제 인프라(S3 기반 Tempo, OTel Collector 게이트웨이, GitOps 자동 계측)를 구축했던 제2편에 이어, 이번 편에서는 시스템이 본격적으로 가동된 이후의 운영 및 튜닝(Day-2) 단계를 집중적으로 다룬다. 인프라 셋업이 완료되었으므로 이제 아키텍처를 다시 구축하는 이야기는 하지 않는다. 대신, 수집된 데이터를 바탕으로 실전 APM 대시보드를 입체적으로 읽는 방법, 메트릭의 이상 지표(Spike)에서실제 결함 트레이스로 단 한 번의 클릭만으로 점프하는 이그젬플러(Exemplars) 활용법, 그리고 서비스 오픈 및 트래픽 유입 시점..

Docker Desktop에서 OrbStack으로 마이그레이션하기

OverviewmacOS에서 Docker Desktop을 사용하다 보면 CPU가 치솟고 팬이 돌아가는 경험을 한 번쯤 해봤을 것이다. 특히 Docker 빌드 중에는 시스템 전체가 느려지는 경우도 흔하다. OrbStack은 macOS 전용 Docker Desktop 대안으로, 네이티브 Swift 앱 기반으로 동작하여 CPU와 메모리 사용량이 훨씬 적다. 기존 Docker CLI와 100% 호환되므로 `docker`, `docker compose`, `docker buildx` 등 기존 명령어를 그대로 사용할 수 있다. 이 글에서는 Docker Desktop에서 OrbStack으로 마이그레이션하는 전체 과정을 단계별로 정리하고, 실제 성능 비교 결과도 함께 공유한다. OrbStack이란?OrbStac..

IaC/Container 2026.08.20

AWS EKS에 분산 추적 시스템 구축하기: Grafana Tempo 및 OpenTelemetry (Part 2)

Overview본 글은 분산 추적(Distributed Tracing) 시리즈의 제2편이다. 이론과 개념만을 다루었던 제1편에 이어, 이번 편에서는 실제 운영 환경에 적용 가능한 인프라를 직접 구축해 본다. 오브젝트 스토리지(S3)를 백엔드로 사용하는 템포(Tempo), 스팬 메트릭과 테일 기반 샘플링(Tail-based Sampling)을 처리하는 오픈텔레메트리 컬렉터(OpenTelemetry Collector) 게이트웨이, 그리고 어노테이션(Annotation) 한 줄로 동작하는 자동 계측(Auto-instrumentation)까지, 1편에서 추상적으로 다루었던 모든 개념들을 프로덕션 AWS EKS 클러스터 위에 GitOps 파이프라인을 통해 생생하게 구현해 낸다. 본문에 사용된 값과 식별자들은 보안..

Git Stash로 Pull 충돌 해결하기

Overview로컬에서 작업 중인 파일이 리모트에서도 변경되었을 때, `git pull` 이 실패하는 상황은 개발자라면 누구나 한 번쯤 겪는 문제이다.error: Your local changes to the following files would be overwritten by merge: .github/workflows/ci.ymlPlease commit your changes or stash them before you can merge. 이 글에서는 `git stash` 를 활용하여 커밋되지 않은 로컬 변경사항을 안전하게 보관하고, 리모트 변경사항을 충돌 없이 가져온 뒤, 다시 로컬 변경사항을 복원하는 과정을 정리한다. git stash란? git stash는 현재 작업 디..

분산 추적과 관측 가능성: 개념 편

Overview분산 추적(Distributed Tracing)은 현대적인 마이크로서비스 아키텍처 환경에서 단일 요청이 여러 서비스들을 거쳐 이동하는 전체 여정을 추적하는 기술이다. 메트릭(Metrics)이 시스템에 문제가 생겼다는 사실(That)을 알려주고, 로그(Logs)가 해당 서비스 내부에서 무슨 일이 일어났는지(What)를 말해준다면, 추적(Traces)은 어디에서 시간이 소요되었는지(Where), 그리고 수많은 홉(Hop) 중 어느 구간에서 실패가 발생했는지를 명확히 짚어준다. 이 세 가지 요소가 긴밀하게 결합될 때 비로소 진정한 관측 가능성(Observability)의 기반이 마련된다. 본 글은 총 2부작으로 기획된 시리즈 중 제1편이다. 특정 벤더에 종속되지 않는 독립적인(Vendor-neu..

[CS 지식24.] CPU vs GPU vs TPU: 프로세서 아키텍처 심층 비교

Overview인공지능이 빠르게 발전하면서, 연산을 수행하는 하드웨어의 선택이 그 어느 때보다 중요해졌다. 과거에는 CPU 하나로 대부분의 연산을 처리했지만, 딥러닝의 등장 이후 GPU가 AI 학습의 핵심 가속기로 자리 잡았고, Google은 텐서 연산에 특화된 TPU를 자체 설계하여 또 다른 선택지를 제시했다. 이 글에서는 CPU, GPU, TPU 각각의 아키텍처적 특성을 깊이 있게 분석하고, AI 워크로드에서의 성능 차이가 어디에서 비롯되는지를 살펴본다. 1. CPU (Central Processing Unit) 1.1 아키텍처 특성CPU는 폰 노이만(Von Neumann) 아키텍처를 기반으로 한 범용 프로세서다. 소수의 고성능 코어(일반적으로 4~64개)가 3~5GHz의 높은 클럭 속도로 동..

CS 지식 2026.08.06

S3와 AWS SSM을 이용한 CI → EFS 키리스 파일 배포

OverviewCI 파이프라인은 결국 어딘가로 파일을 전달하는 과정을 거친다. 클라이언트에 노출되는 정적 에셋이라면 보통 CDN으로 바로 전송하면 되지만, 게임의 마스터 데이터 JSON이나 버전 매니페스트처럼 백엔드 서버가 부팅 시 읽어야 하는 설정 파일은 상황이 다르다. 이런 파일들은 대개 공유 EFS 마운트에 위치하는데, CI 러너 환경에서는 해당 볼륨으로 직접 접근할 수 있는 네트워크 경로가 구성되어 있지 않은 경우가 많다. 전통적인 해결책은 EFS 볼륨이 마운트된 서버(인스턴스)에 SSH를 열고 scp나 rsync로 파일을 전송하는 방식이었다. 하지만 이 구조는 CI 러너에 SSH 개인키를 보관해야 하고, 대상 호스트 주소가 하드코딩되어야 하며, 주기적으로 교체되지 않는 장기(Long-term) ..

AWS 2026.08.03

Unity MCP Server를 Kubernetes에 배포하기

OverviewMCP for Unity는 AI 어시스턴트(Claude, Cursor, VS Code 등)와 Unity Editor를 Model Context Protocol(MCP)을 통해 연결하는 오픈소스 브릿지 서버이다. 기본적으로 로컬(localhost:8080)에서 동작하지만, Kubernetes에 배포하면 팀원 전체가 하나의 MCP 서버를 공유하고, Unity Editor 인스턴스를 중앙에서 관리할 수 있다. 이 글에서는 Unity MCP Server를 Docker 이미지로 빌드하고, Harbor 레지스트리에 Push한 뒤, Kubernetes 클러스터에 배포하는 전체 과정을 다룬다. Architecture┌─────────────────┐ HTTP/SSE ┌───..

반응형