-
Feature Flag - 안전하고 신뢰할 수 있는 배포로 나아가는 열쇠 🔑
안녕하세요. 11번가 Core플랫폼개발팀 전지원입니다. 저희 팀에서는 Spring Cloud 기반의 전사 MSA 플랫폼인 Vine의 공통 컴포넌트 개발과 운영을 담당하고 있습니다. 또한 각 소프트웨어 엔지니어링 조직이 Self-Service 기능을 사용할 수 있도록 툴체인과 워크플로우를 설계하고 있으며, 애플리케이션 전체 수명 주기에 필요한 운영 요구사항을 포괄하는 IDP (Internal Developer Platform)인 Wheelhouse를 개발하여 제공하고 있습니다. 이번 아티클에서는 Feature Flag 개념에 대해서 설명드리고, 기능을 Production 환경에서 안전하게 배포하고 실험하기 위해 Feature Flag를 도입한 사례를 소개해드리고자 합니다. Contents Contents 사례로 살펴보는 문제점 Feature...
-
Service Discovery DR 구성 3부 - eurekube-operator의 Zone Failover를 위한 Spring Cloud LoadBalancer 탐구
안녕하세요. 11번가 Core플랫폼개발팀에서 MSA 플랫폼 Vine의 개발과 운영을 담당하고 있는 전지원입니다. 이번 Article에서는 Eureka 서버의 Multi-Zone 구성을 함에 따라 기존에 11번가 내에서 IDC의 Client-side Service Discovery와 EKS 클러스터의 Server-side Service Discovery 통합을 담당하던 Kubernetes Operator인 eurekube-operator 의 구현을 변경한 내용에 대해서 공유드리고자 합니다. 본 Article은 Service Discovery DR 구성 1부 - Eureka 서버를 지역 분산시켜 안정성을 높이자 와, Service Discovery DR 구성 2부 - Chaos Test로 찾은 예기치 못했던 문제를 고쳐라! 의 후속 게시물입니다. 해당...
-
Service Discovery DR 구성 2부 - Chaos Test로 찾은 예기치 못했던 문제를 고쳐라!
안녕하세요. 11번가 Core플랫폼개발팀에서 MSA 플랫폼 Vine의 개발과 운영을 담당하고 있는 전지원입니다. 이번 Article에서는 Spring Cloud의 Service Discovery 컴포넌트인 Eureka 의 Disaster Recovery를 구성하는 과정에서 겪었던 이슈에 대해서 소개하고, 이를 발견하게 된 계기와 문제를 해결한 과정에 대해서 설명드리고자 합니다. 본 Article은 Service Discovery DR 구성 1부 - Eureka 서버를 지역 분산시켜 안정성을 높이자의 후속 게시물입니다. 해당 Article의 Context 를 더욱 쉽게 이해하시기 위해서 사전에 1부 게시물을 확인하시는 것을 권장드립니다. Background 11번가는 서비스의 높은 확장성과 간단한 통합...
-
Java로 만들어진 Kubernetes Operator - 어떻게 테스트할까?
안녕하세요. 11번가 Core Platform 개발팀의 김보배입니다. 앞선 블로그 글(Service Discovery 통합을 위한 Kubernetes Operator 구현 - Eurekube Operator)에서 Eurekube Operator의 아이디어, 설계에 대해 이야기해보았습니다. 이번 글에서는 Eurekube Operator의 개발을 마치고 제대로 동작하는지 확인하기 위해 어떻게 테스트했는지에 대해 이야기해보고자 합니다. 이전 블로그 글을 읽었다는 전제하에 작성한 글로, 만약 아직 읽지 않으셨다면 읽고 오시길 추천드립니다. Integration test with Testcontainers 11번가에서는 안정적인 애플리케이션을 개발하기 위해 테스트 코드를 최대한 작성하고 있습니다. 테스트는 유닛 테스트와 통합 테스트로 나누어 구성하고 있으며,...
-
Service Discovery 통합을 위한 Kubernetes Operator 구현 - Eurekube Operator
안녕하세요. 저는 11번가 Core Platform 개발팀에서 MSA 플랫폼 - Vine 을 개발하고 있는 안희석입니다. 이번 글에서는 11번가에서 쿠버네티스 플랫폼을 도입하면서 기존에 Spring Cloud 로 이루어진 Vine Platform 과 서비스 디스커버리를 통합하기 위해 Kubernetes Operator 패턴을 이용해 Eurekube Operator 를 개발 한 것을 공유드리고자 합니다. 1. Context & Mission Eureka 와 Kubernetes 서비스 디스커버리를 통합하기 위해서 11번가에서는 Kubernetes Operator 패턴으로 Eurekube Operator 를 개발하였습니다. Eurekube Operator 에 대해서 설명하기 전에 먼저 개발하게된 배경들에 대해서 설명드리겠습니다. AS-IS....