Shadow Deployment

Shadow Deployment 실제 트래픽을 복제해 신규 환경에 적용, 영향 분석 미러링된 트래픽으로 실환경 테스트 로그 분석을 통한 기능 안정성 검증 트래픽 복제 시 개인정보 마스킹 이슈 처리 Shadow Deployment 는 소프트웨어 배포 전략 중 하나로, 새로운 버전의 애플리케이션을 기존 버전과 병행하여 실행하되 사용자에게는 영향을 주지 않는 방식이다. Shadow Deployment 는 새로운 버전의 애플리케이션을 프로덕션 환경에 배포하고 실제 트래픽을 복제하여 새 버전으로 전송하지만, 그 결과는 사용자에게 반환하지 않는 방식이다. 이는 실제 환경에서 새로운 버전을 안전하게 테스트할 수 있게 해준다. ...

September 23, 2024 · 3 min · Me

Feature Flags

Feature Flags Feature flags(또는 feature toggles)는 소프트웨어 개발에서 중요한 배포 전략 중 하나이다. 이 기술을 통해 개발자는 코드 변경 없이 런타임에 특정 기능을 활성화하거나 비활성화할 수 있다. Feature flags는 조건문을 사용하여 코드의 특정 부분을 동적으로 제어하는 소프트웨어 개발 기법이다. 이를 통해 배포와 릴리스를 분리하고, 위험을 최소화하며 유연한 기능 관리가 가능해진다. Feature flags는 현대적인 소프트웨어 개발에서 중요한 도구이다. 이를 효과적으로 사용하면 더 안전하고 유연한 배포 프로세스를 구축할 수 있다. 하지만 적절한 관리와 주의가 필요하며, 팀의 요구사항과 프로젝트의 특성에 맞게 사용해야 한다. ...

September 23, 2024 · 3 min · Me

A/B Testing

A/B Testing 사용자 그룹별로 다른 버전 제공, 실험적 배포 피처 플래그 (Feature Flag) 시스템 도입 사용자 그룹 분리 기반 실험 결과 측정 지표 (Conversion, Retention 등) A/B Testing 은 소프트웨어 배포 전략 중 하나로, 두 가지 이상의 버전을 사용자에게 제공하여 어떤 버전이 더 효과적인지 비교하는 방법이다. A/B Testing 은 두 가지 이상의 버전 (A 와 B) 을 사용자 그룹에게 무작위로 제공하여 각 버전의 성능을 비교하는 실험적 접근 방식이다. 이는 웹사이트, 모바일 앱, 마케팅 캠페인 등 다양한 분야에서 사용된다. ...

September 23, 2024 · 3 min · Me

Blue-Green Deployment

Blue-Green Deployment 두 환경을 번갈아 사용, 무중단 배포, 빠른 롤백 [2] 활성 (Active) vs 대기 (Standby) 환경 구성 배포 전후 Smoke Test 수행 Load Balancer 또는 Ingress 트래픽 전환 Blue-Green Deployment 은 무중단 배포 전략 중 하나로, 애플리케이션의 새 버전을 안전하고 효율적으로 배포하는 방법이다. Blue-Green 배포는 두 개의 동일한 프로덕션 환경을 유지하는 방식이다: Blue 환경: 현재 운영 중인 버전 Green 환경: 새로 배포할 버전 이 두 환경은 완전히 동일한 인프라와 설정을 가지고 있다. Blue-Green Deployment 은 안전하고 효율적인 배포 전략이지만, 적절한 계획과 자동화가 필요하다. 조직의 요구사항과 인프라 환경에 맞게 적절히 조정하여 사용하는 것이 중요하다. ...

September 23, 2024 · 2 min · Me

Canary Deployment

Canary Deployment 점진적 트래픽 배포 비율 설정 (e.g., 5%, 10%, 50%, 100%) 사용자 행동/성능 모니터링 연동 Istio/Flagger 로 구현하는 실습 일부 트래픽에만 신규 버전 적용, 이상 시 빠른 복구 카나리 배포 (Canary Deployment) 패턴은 새로운 버전의 애플리케이션을 점진적으로 배포하는 전략이다. 이 방식은 위험을 최소화하면서 새로운 기능이나 업데이트를 테스트할 수 있게 해준다. 카나리 배포라는 이름은 광부들이 유독 가스를 감지하기 위해 카나리아 새를 사용했던 관행에서 유래되었다. 소프트웨어 배포에서 이 개념은 다음과 같이 적용된다: ...

September 23, 2024 · 3 min · Me

Rolling Deployment

Rolling Deployment 배포 중 다운타임 최소화 Pod 수 또는 인스턴스 수 조절 전략 Kubernetes RollingUpdate 정책 설정 점진적 배포, 트래픽 분산, 점검 및 롤백 용이 Rolling Deployment 는 애플리케이션의 새 버전을 점진적으로 배포하는 무중단 배포 전략이다. Rolling Deployment 는 기존 버전의 인스턴스를 새 버전으로 점진적으로 교체하는 방식이다. 이 과정에서 서비스의 가용성을 유지하면서 새 버전을 배포할 수 있다. 주요 특징: 인스턴스를 하나씩 또는 작은 배치로 업데이트 전체 배포 과정 동안 서비스 유지 새 버전과 이전 버전이 일시적으로 공존 Rolling Deployment 는 서비스의 연속성을 유지하면서 새 버전을 안전하게 배포할 수 있는 효과적인 전략이다. 그러나 버전 간 호환성과 데이터베이스 변경 관리에 주의가 필요하다. 조직의 요구사항과 애플리케이션 특성을 고려하여 적절히 구현해야 한다. ...

September 23, 2024 · 2 min · Me