
[전환가이드] ArgoCD·FluxCD GitOps 배포를 HelmRelease로 전환하는 방법
ArgoCD 배포를 정적 YAML 대신 HelmRelease와 FluxCD로 전환하는 방법을 정리했습니다. values 분리, 순서 보장, 에어갭 배포까지 운영 포인트를 함께 다뤘습니다.
새로운 기술 블로그가 추가되었어요

ArgoCD 배포를 정적 YAML 대신 HelmRelease와 FluxCD로 전환하는 방법을 정리했습니다. values 분리, 순서 보장, 에어갭 배포까지 운영 포인트를 함께 다뤘습니다.

서버 플랫폼 팀이 조직 성장에 맞춰 플랫폼을 계속 재설계하는 이유를 소개했습니다. AI 시대의 분석·개발·운영 변화와 그에 따른 가드레일까지 함께 다뤘습니다.


라포랩스가 AWS AI-DLC로 사내 배포 플랫폼 Raploy를 구축한 사례를 공유했습니다. 비개발 직군도 AI와 플랫폼을 통해 배포·운영할 수 있도록 자동화와 관측성을 함께 강화했습니다.
![[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조](https://flex.team/blog/og/main.jpg)

배포 코드가 환경 이름을 직접 읽지 않도록 Helm values와 GitOps 규율로 분리한 구조를 설명했습니다. Jenkinsfile까지 같은 원칙을 적용해 배포 이력을 Git으로 남기는 방법을 다뤘습니다.
![[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조](https://cdn.sanity.io/images/v31psllp/production/58ae2e178769ca25361200fed07c9ecb06c62d2a-1684x1030.png)

배포 코드를 환경별로 갈라 쓰지 않고, 템플릿과 값의 층을 분리해 환경을 외부에서 주입하는 구조를 설명했습니다. GitOps와 Jenkinsfile에도 같은 규율을 적용해 배포 이력을 Git에 남기는 방법을 다뤘습니다.

EKS + ALB 환경에서 Blue/Green과 기본 Canary의 Promote 시 503이 발생하는 원인을 분석했습니다. Argo Rollouts Canary PingPong으로 selector 변경 없이 weight만 교대해 문제를 해결했습니다.

Kubernetes StatefulSet의 Immutable 제약을 우회해 PVC를 먼저 확장하고 Non-cascade로 컨트롤러만 교체하는 절차를 정리했습니다. 서비스 중단 없이 스토리지를 늘리는 실무 트러블슈팅 방법을 설명했습니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://flex.team/blog/og/main.jpg)

코드가 무엇을 정의하고 환경은 어디서 주입할지 분리하는 원리를 설명했습니다. 이를 배포, 클라우드, 시간, 테스트 전반에 반복 적용하는 관점을 제시했습니다.
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://cdn.sanity.io/images/v31psllp/production/d7669e80f5e28954ae4a8e30b97d6d297e7f7c35-1684x1030.png)

코드가 무엇을 정의하고 환경은 어디서 주입하는지라는 원리를 배포, 인프라, 테스트 전반에 걸쳐 설명했습니다. 경계를 구조에 새겨 교체 가능성과 안정성을 높이는 시리즈의 출발점입니다.

알림이 과잉·분산되며 중요한 신호가 묻히는 문제를 해결하기 위해 NotiHub를 구축했습니다. 기존 웹훅 호환성을 유지하면서 이벤트 기반 라우팅과 팀 단위 운영 체계를 도입했습니다.
![[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조](https://flex.team/blog/og/main.jpg)

코드와 환경을 분리하는 Hexagonal 원칙을 배포, 인프라, 디버깅, 테스트까지 확장한 사례를 다뤘습니다. 부분 교체와 외부 주입으로 이터레이션 속도를 높이는 방법을 설명했습니다.
![[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조](https://cdn.sanity.io/images/v31psllp/production/626db41a03292c4b57863b75c7bc5e755e395184-1684x1030.png)

애플리케이션과 인프라 전반에 Hexagonal 원칙을 적용해 환경 의존성을 분리하는 방법을 설명했습니다. 부분 교체와 주입으로 빠른 검증과 이터레이션을 가능하게 만든 사례를 다뤘습니다.

LINE Ads의 대규모 광고 데이터를 처리하기 위해 Spark on Kubernetes를 도입한 사례입니다. 성능 향상, 비용 절감, 버전 유연성을 함께 확보했습니다.
정산을 사람의 기억이 아닌 시스템의 책임으로 옮기기 위한 MASS 설계 원칙을 다뤘습니다. 멱등성, 결정적 계산, 고정 반올림으로 재처리와 재계산에도 동일한 결과를 보장했습니다.