GSoC 학생이 대성공! Apache DolphinScheduler OIDC 업그레이드 뒷이야기

발행: (2025년 12월 4일 오후 05:46 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

개인 소개

印度英文

  • 이름: Aryan Kumar
  • 위치: 인도 찬디가르
  • 현재 상황: Punjab Engineering College에서 금속공학 및 재료공학 학사 (데이터 사이언스 부전공) 과정 중, 2027년 5월 졸업 예정. AI와 오픈소스 개발에 관심이 있는 소프트웨어 엔지니어 지망생. 소프트웨어 개발, 풀스택, DevOps 분야의 정규직 또는 인턴십 기회를 적극적으로 찾고 있음.
  • GitHub: tusaryan
  • LinkedIn: tusaryan
  • 연락처: aryankumartus@gmail.com
  • 취미: 정원 가꾸기, 수영, 축구, 트레킹, 여행, 지속적인 학습.

인터뷰 전사

Apache DolphinScheduler에 대한 기여

질문: Apache DolphinScheduler 커뮤니티에 기여한 적이 있나요? 구체적인 방안을 설명해 주세요.

답변: 네, 여러 차례 기여할 수 있었으며, 가장 큰 기여는 Google Summer of Code 2025 프로젝트였습니다.

  • Kyuubi Datasource Connection Fix (#17081) – DolphinScheduler에 대한 첫 오픈소스 기여 (2025년 2월). Kyuubi를 사용하는 고가용성 환경에서 JDBC 연결 오류를 일으키던 버그를 JDBC URL 구성 방식을 수정하고 단위 테스트를 업데이트하여 해결했습니다.

  • Master Server Load Protection (#17159) – 장애 조치 상황에서 마스터 서버 과부하를 방지하기 위해 새로운 설정 옵션 max.concurrent.workflow.instances 를 구현했습니다. CPU, 메모리, 디스크 사용량 임계값을 포함하도록 서버 보호 메커니즘을 리팩터링했습니다.

  • Generalized OIDC Authentication module (#17340, GSoC’25 Project) – 범용 OpenID Connect (OIDC) 인증 시스템을 설계하고 구현했습니다.

    문제: DolphinScheduler의 SSO 기능이 특정 구현(예: Casdoor)에만 제한돼 있어 기업 환경에서 통합이 어려웠습니다.

    해결책: Nimbus SDK를 활용해 어떤 OIDC‑준수 공급자(Keycloak, Okta, Azure AD 등)와도 연동 가능한 확장 가능한 SSO 메커니즘을 개발했습니다. 견고한 인증 흐름, 토큰 검증, CSRF 및 인젝션 방어, 로그인 시마다 권한을 재평가하는 동적 역할 동기화를 추가했습니다. 신뢰성을 보장하기 위해 약 94 % 커버리지를 가진 포괄적인 단위 테스트와 API 테스트를 구현했습니다.

    영향: 보안이 강화되고 사용자 관리가 간소화되며 통합 시간이 단축됩니다. 또한 기존 로그인 방식과의 하위 호환성을 유지합니다.

배경 및 DolphinScheduler와의 첫 만남

질문: DolphinScheduler를 처음 알게 된 계기는 무엇인가요? 흥미로운 이야기가 있나요?

답변: 기술이 문제를 해결하고 전 세계 사람들을 연결하는 능력에 항상 매료되었습니다. 중학교 때 Google Summer of Code (GSoC)를 처음 듣게 되었고, 대학에 들어가면서 더 자세히 알게 되었습니다. 탄탄한 Java 기반을 바탕으로 Spring Boot, 마이크로서비스, 보안, DevOps 기술을 확장했습니다.

GSoC 일정이 발표되었을 때, 분산 시스템과 보안을 다루는 고영향 오픈소스 프로젝트를 찾고 있었습니다. 여러 후보를 탐색하던 중 Apache DolphinScheduler를 발견했습니다. Java 개발자로서 ASF 프로젝트(HTTP Server, Tomcat, Kafka, Spark, Hadoop, Maven 등)에 익숙했기 때문에, 널리 사용되는 워크플로우 오케스트레이션 플랫폼에 기여하는 것이 완벽한 선택이라고 생각했습니다.

기여하기 전에 문서를 꼼꼼히 읽어 기존 아키텍처를 이해하고, 가치를 더할 수 있는 영역을 파악했습니다. 이 준비 과정을 통해 OIDC 인증 모듈을 제안하게 되었고, 결국 이것이 제 GSoC 프로젝트가 되었습니다.

Back to Blog

관련 글

더 보기 »