Vue 2 ? Statista가 HeroDevs의 NES를 통해 수백만 명의 사용자를 확보한 방법

고객 프로필

Statista는 세계 최고의 통계 및 시장 데이터 제공업체 중 하나로 손꼽히며, 조직과 개인이 데이터 기반의 의사결정을 내릴 수 있도록 지원합니다. 8만 개 이상의 주제에 걸쳐 150만 건 이상의 통계를 보유한 방대한 데이터베이스를 바탕으로, Statista는 전 세계의 국제 기업, 정부 기관, 연구 기관 및 교육 기관에 업무 수행에 필수적인 통찰력을 제공합니다.

2007년 독일에서 설립된 Statista는 현재 전 세계 8개 지역에 1,400명 이상의 전문 인력을 두고 있으며, 고품질의 신뢰할 수 있는 데이터를 제공하는 신뢰받는 정보원으로 자리매김했습니다.

“저희 플랫폼은 매일 중요한 비즈니스 결정을 내리는 수천 개의 조직에 사실에 기반한 토대를 제공합니다. 보안과 성능을 모두 유지하는 것은 저희에게 있어 절대 양보할 수 없는 사항입니다.” — 잉고 셸하머(Ingo Schellhammer), 최고기술책임자(CTO)

기술적 과제: 지원 종료된 프레임워크의 보안 취약점

Vue.js 2.x의 지원 종료 시점이 다가오자 Statista는 중대한 기술적 난관에 직면했습니다. 이 자바스크립트 프레임워크를 부분적으로 활용해 구축된 그들의 대규모 애플리케이션은 이제 보안 측면에서 불안정한 상황에 놓이게 되었습니다:

  • 보안 패치 중단: Vue.js 공식 팀은 2.x 브랜치에 대한 보안 업데이트를 중단했습니다.
  • 취약점 노출 범위 확대: 표준 Vue.js 2.x 프레임워크에서는 새로운 보안 취약점에 대한 패치가 적용되지 않을 것입니다.
  • 자원 배분 갈등: Vue.js 3.x로 완전히 마이그레이션하려면 상당한 개발자 자원이 필요할 것입니다.

이러한 기술적 복잡성은 스타티스타(Statista)가 완전히 새로운 기술 스택을 활용한 차세대 애플리케이션을 동시에 개발하고 있었기 때문에 더욱 가중되었습니다. 이 전략적 이니셔티브는 이미 상당한 엔지니어링 자원을 소모하고 있었기 때문에, 전략적 로드맵을 연기하고 전술적인 프레임워크 마이그레이션을 수행할 것인지, 아니면 점점 커지는 보안 위험을 감수할 것인지라는 어려운 선택에 직면하게 되었습니다.

“우리는 전형적인 기술적 딜레마에 직면했습니다. 이미 교체할 계획이었던 레거시 시스템을 업데이트하는 데 귀중한 엔지니어링 시간을 할애할 것인지, 아니면 점점 커지는 보안 위험을 감수할 것인지 선택해야 했죠. 두 가지 선택지 모두 우리의 비즈니스 목표와 부합하지 않았습니다.” — 마르쿠스 울프, 아키텍트

해결책: HeroDevs의 끊임없는 지원

여러 접근 방식을 검토한 끝에, Statista는 Vue.js 2.x용 HeroDevs의 ‘ Never-Ending Support (NES) ’를 도입했습니다. 이 솔루션은 지원 종료된 프레임워크에 대한 확장된 보안 지원을 제공하며, 다음과 같은 이점을 가져다주었습니다:

  1. 지속적인 보안 패치: HeroDevs의 Vue.js 2.x NES 버전에는 공식 지원이 종료된 후에도 취약점이 발견될 때마다 이를 해결하는 지속적인 보안 업데이트가 포함되어 있습니다.
  2. 즉시 대체 가능한 호환성: NES Vue.js 구현체는 표준 Vue.js 2.x와 완벽한 API 호환성을 유지하므로, 기존 코드베이스에 대한 변경을 최소화할 수 있습니다.
  3. 기술 부채 위험 감소: Statista는 성급한 마이그레이션을 피함으로써, 대규모 프레임워크 마이그레이션에 흔히 수반되는 새로운 버그와 회귀 현상의 발생을 방지했습니다.

구현: 원활하고 안전한 통합

HeroDevs 솔루션을 구현하기 위해서는 개발자의 접근 권한을 허용하면서도 보안을 유지하기 위한 세심한 계획이 필요했습니다. Statista의 접근 방식은 다음과 같았습니다:

  1. 안전한 자격 증명 관리: HeroDevs 액세스 키가 개발팀 전체에 유출되는 것을 방지하기 위해 Statista는 자동화된 npm 미러링 시스템을 구축했습니다.
  2. 중앙 집중식 배포: 최신 NES 버전이 Statista의 내부 패키지 관리자에 자동으로 미러링되어, 모든 개발자를 위한 단일 참조 지점이 마련되었습니다.
  3. 전체 환경에 걸친 구현: 이 솔루션은 사용자 지정 빌드 프로세스, 스테이징 환경 및 프로덕션 환경을 포함한 모든 개발 환경에 배포되었습니다.

실제로 NES 패키지는 HeroDevs NPM 레지스트리에서 Statista의 내부 패키지 모니터로 전송된 후, 거기서부터 개발자 워크스테이션, 빌드 환경 및 프로덕션 환경으로 전달됩니다.

“기술적 구현 과정은 의외로 간단했습니다. HeroDevs의 문서에는 우리가 마주친 모든 특수한 사례들이 상세히 설명되어 있었고, 특정 배포 아키텍처에 대해 질문이 있을 때마다 지원팀이 신속하게 대응해 주었습니다.” — 마르쿠스 울프, 아키텍트

결과: 완벽한 취약점 보호

HeroDevs의 Vue.js 2.x에 대한 ‘끝없는 지원’이 도입되면서 즉각적이고 가시적인 이점이 나타났습니다:

  • 100% 취약점 수정: Statista 애플리케이션의 클라이언트 측에서 확인된 모든 보안 취약점이 해결되었습니다.
  • 운영 연속성: 이 솔루션은 개발 워크플로우에 차질을 주지 않으면서 Statista의 애플리케이션, 고객 및 비즈니스 운영을 보호했습니다.
  • 자원 최적화: 비용이 많이 드는 마이그레이션 과정을 피함으로써, Statista는 기존 시스템의 보안을 유지하면서도 전략적 기술 이니셔티브에 집중할 수 있었습니다.
  • 내부 및 고객 보안 요건을 지속적으로 준수하였습니다.

이것이 중요한 이유

Statista의 경험은 수명 주기 종료 프레임워크와 관련해 유사한 과제에 직면한 조직들에게 귀중한 통찰력을 제공합니다.

Statista 팀이 Vue.js 2.x의 지원 종료 시점이 다가오고 있음을 처음 알게 되었을 때, 그들이 처한 상황은 수많은 조직이 매일 직면하는 문제와 다를 바 없었습니다. 업계에서 흔히 내리는 조언인 “그냥 최신 버전으로 업그레이드하면 된다”는 말은 이론적으로는 간단해 보이지만, 엔터프라이즈 소프트웨어 개발의 복잡한 현실을 간과하고 있습니다.

한때 최첨단 프레임워크를 기반으로 구축된 애플리케이션이 있습니다. 해당 프레임워크는 이제 지원 종료 단계에 접어들었지만, 이 애플리케이션은 여전히 중요한 비즈니스 가치를 제공하고 있습니다. 혁신과 유지보수를 동시에 수행해야 하는 부담이 점점 더 커지고 있습니다.

프레임워크의 노후화 속도가 빨라짐에 따라 이러한 현실은 점점 더 큰 과제로 대두되고 있습니다. 2000년대 초반만 해도 기술 프레임워크의 수명은 대개 수십 년 단위로 측정되었습니다. 하지만 오늘날에는 널리 사용되는 프레임워크의 주요 버전이 불과 2~3년 만에 구식이 되어버리기도 하여, 개발 팀을 끊임없는 마이그레이션의 악순환에 빠뜨리고 있습니다.

  1. 이분법적 결정의 오류에 도전하라: “이주할 것인가, 위험을 감수할 것인가”라는 잘못된 선택을 받아들이기보다는, 기술적 격차를 해소할 수 있는 제3의 대안을 모색하라.
  2. 기술적 결정을 비즈니스 전략에 부합하도록 조정해야 합니다: 보안 유지 관리는 전략적 이니셔티브를 방해하지 않고 뒷받침해야 합니다.
  3. 프레임워크 마이그레이션에 드는 전체 비용을 정량화하십시오: 개발 시간뿐만 아니라, 전략적 프로젝트에서 자원을 전용함으로써 발생하는 기회 비용도 고려해야 합니다.
  4. 안전한 공급망 관행을 도입하십시오: 타사 보안 솔루션을 사용할 때는 인증 정보 유출을 방지하기 위해 안전한 배포 체계를 구축하십시오.
“기술적 이점 외에도 HeroDevs의 솔루션은 상당한 비즈니스 가치를 제공했습니다. 우리는 전략적 로드맵을 훼손하지 않으면서도 보안 태세를 유지할 수 있었을 뿐만 아니라, 전체 마이그레이션에 비해 상당한 비용 절감 효과도 거두었습니다.” — 마르쿠스 울프, 아키텍트

보안 요구 사항과 전략적인 기술 발전을 조화롭게 추진해야 하는 조직의 경우, Statista의 사례는 HeroDevs와 같은 적합한 파트너와 협력한다면 강력한 보안을 유지하면서도 개발 자원을 미래의 혁신에 집중할 수 있음을 보여줍니다.

목차
사례 연구 다운로드