모든 블로그
flex

flex

도메인flex.team
주요 카테고리 아키텍처 · AI · DevOps

활동 요약

대표 인기 포스트[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조454 조회
최근 30일
3개
평균 조회
56
누적 조회
4,626
전체 글
83개
마지막 발행
2026. 11. 5.
블로그 방문

flex 기술 블로그 글 (13)

데브옵스

팀 이름을 DevOps가 아니라 Cloud Platform으로 지은 이유

Cloud Platform 팀을 별도 운영 대행 조직이 아닌 셀프서비스 플랫폼 조직으로 정의했습니다. Terraform·CI 검증으로 개발자와 AI 에이전트의 안전한 인프라 변경을 지원합니다.

#cloud#Kubernetes#Terraform
3500

데브옵스

GitOps 하시면서, 배포 전에 뭐가 바뀔지 알고 계신가요

GitOps에서 PR 단계에 배포 결과 diff를 미리 보여주는 방법을 소개했습니다. 또한 Helm 렌더와 values 출처 추적으로 리뷰 화면에서 변경 영향을 바로 확인하도록 했습니다.

#GitOps#ArgoCD#Helm
17900

데브옵스

[인프라를 소프트웨어처럼 4/5] plan은 동작을 모른다: 인프라를 테스트·재현한다는 것

terraform plan만으로는 인프라의 실제 동작을 확인할 수 없다는 문제를 다뤘습니다. 로컬 클러스터 검증과 재현 가능한 선언으로 apply 전 신뢰도를 높이는 방법을 소개했습니다.

#Terraform#Pulumi#Kotlin
2800

데브옵스

[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant

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

#ArgoCD#Kubernetes#Git
13200

데브옵스

[인프라를 소프트웨어처럼 2/5] 코드가 모르는 그 '환경'은 누가 만드는가

플랫폼팀이 코드 바깥의 환경 실체를 선언으로 만드는 방식을 설명했습니다. Kafka 토픽 선언과 검증, 추적 가능한 거버넌스 사례를 다뤘습니다.

#Terraform#YAML#JSON Schema
1000

데브옵스

[인프라를 소프트웨어처럼 1/5] Infrastructure as Code, 그리고 그다음

Terraform plan은 변경점만 보여 주고 실제 동작은 보장하지 못한다고 설명했습니다. IaC를 넘어 테스트 가능성과 재현 가능성을 갖춘 IaS 관점이 필요하다고 강조했습니다.

#Terraform#IaC#cloud
2300

데브옵스

[의존성의 방향을 따라 4/5] PR을 전파하는 Distributer

50개 이상의 레포에 흩어진 버전업 PR을 Wave 순서에 맞춰 자동 전파하고 머지하는 방식을 설명했습니다. CI, flaky test, 에스컬레이션까지 묶어 대규모 업그레이드 운영을 자동화했습니다.

#Spring Boot#Claude#CI/CD
2900

데브옵스

[코드가 환경을 모르는 구조 7/7] Variant와 스냅샷 캐시, 그리고 다섯 축의 총합

테스트 인프라에서 variant와 스냅샷 캐시로 프로덕션의 분리를 그대로 재현하는 구조를 설명했습니다. 경계를 명확히 하면 교체 가능성이 높아지고 실험 속도도 빨라진다고 정리했습니다.

#Kotlin#MySQL#Kafka
5600

데브옵스

[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가

실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.

#Testcontainers#Spring Boot#Gradle
1800

데브옵스

[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가

실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.

#Testcontainers#Spring Boot#Gradle
4600

데브옵스

[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조

배포 코드가 환경 이름을 직접 읽지 않도록 Helm values와 GitOps 규율로 분리한 구조를 설명했습니다. Jenkinsfile까지 같은 원칙을 적용해 배포 이력을 Git으로 남기는 방법을 다뤘습니다.

#Helm#GitOps#ArgoCD
25700

데브옵스

[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조

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

#Kubernetes#Helm#GitOps
6600

데브옵스

Testcontainers에 의한 docker container 생성 폭발을 막아라

Testcontainers로 생기는 컨테이너 폭증과 메모리 고갈 문제를 Gradle BuildService로 줄였습니다. 하나의 컨테이너를 재사용하고 스키마 초기화 방식을 정리해 CI 시간을 크게 단축했습니다.

#Testcontainers#Docker#Spring Boot
1900