
[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant
공유 dev 병목을 없애기 위해 브랜치 하나로 격리 환경을 만드는 Environment Variant 설계를 소개했습니다. ArgoCD ApplicationSet으로 생성과 회수를 자동화해 환경 생명주기를 git과 연결했습니다.

공유 dev 병목을 없애기 위해 브랜치 하나로 격리 환경을 만드는 Environment Variant 설계를 소개했습니다. ArgoCD ApplicationSet으로 생성과 회수를 자동화해 환경 생명주기를 git과 연결했습니다.

OpenStack 기반 개인용 샌드박스 이미지를 단일 VM에 GitOps 방식으로 구성했습니다.부팅 후 ArgoCD와 Flux가 Git 변경을 반영해 git push만으로 업데이트되도록 실험했습니다.

ArgoCD 배포를 정적 YAML 대신 HelmRelease와 FluxCD로 전환하는 방법을 정리했습니다. values 분리, 순서 보장, 에어갭 배포까지 운영 포인트를 함께 다뤘습니다.
![[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조](https://flex.team/blog/og/main.jpg)

배포 코드가 환경 이름을 직접 읽지 않도록 Helm values와 GitOps 규율로 분리한 구조를 설명했습니다. Jenkinsfile까지 같은 원칙을 적용해 배포 이력을 Git으로 남기는 방법을 다뤘습니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://flex.team/blog/og/main.jpg)

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

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

알림이 과잉·분산되며 중요한 신호가 묻히는 문제를 해결하기 위해 NotiHub를 구축했습니다. 기존 웹훅 호환성을 유지하면서 이벤트 기반 라우팅과 팀 단위 운영 체계를 도입했습니다.

LINE Ads의 대규모 광고 데이터를 처리하기 위해 Spark on Kubernetes를 도입한 사례입니다. 성능 향상, 비용 절감, 버전 유연성을 함께 확보했습니다.


Docker 기반 Airflow의 운영 한계를 정리하고 Kubernetes/EKS로 이전한 과정을 공유했습니다. MultiExecutor, Git-Sync, Remote Logging, ArgoCD로 운영 자동화와 격리를 강화했습니다.


GitLab CI와 ArgoCD Notifications로 배포 알림을 통합하고 세분화했습니다.\n팀별 대응과 관제 가시성을 함께 높이도록 Slack 알림 구조를 개선했습니다.


GitLab CI와 ArgoCD Notifications로 CI/CD 알림을 통합하고 세분화했습니다.\n환경별 채널 분리와 노이즈 제거로 배포 가시성을 높였습니다.


GitLab CI와 ArgoCD Notifications로 배포 알림을 통합하고 세분화했습니다. 파편화된 알림과 노이즈를 줄여 실패 감지와 운영 가시성을 높였습니다.