Ruby on Rails 20주년 기념 Rails World 기조연설: 단순성과 생산성을 향한 여정

Rails World 2023 Opening Keynote - David Heinemeier Hansson - YouTube

3줄 요약

  • DHH는 Rails의 20주년을 기념하며 Rails 7.1 출시를 발표하고, 프레임워크의 지속적인 발전을 강조했습니다.
  • 그는 지난 10년간의 기술 산업을 '생산성 암흑기'로 규정하며, 과도한 복잡성과 전문화 대신 단순성과 풀스택 개발을 역설했습니다.
  • 향후 Rails는 'No Build' 프런트엔드, 효율적인 백엔드 캐싱 및 큐잉, 간소화된 배포 등 핵심 영역에서 '원-퍼슨 프레임워크'를 지향하며 르네상스 개발자 시대를 열고자 합니다.

2023년 Rails World에서 David Heinemeier Hansson(DHH)은 Ruby on Rails의 20주년을 기념하는 기조연설을 통해 프레임워크의 놀라운 여정과 미래 비전을 제시했습니다. 기술 업계에서 5년도 길다고 여겨지는 상황에서 20년간 프레임워크를 유지하고 발전시킨 것은 경이로운 성과입니다. DHH는 Rails 7.1의 출시를 알리며, 지난 2년간 700명 이상의 기여자가 4,000개 이상의 커밋을 통해 프레임워크 발전에 참여했음을 강조했습니다. 그는 Rails 커뮤니티를 '선물 교환 환경'에 비유하며, MIT 라이선스 정신에 기반한 비거래적인 상호 기여의 중요성을 역설했습니다. 코드뿐만 아니라 문서화, 마케팅 등 비코드 기여 또한 커뮤니티의 마법을 만드는 데 필수적임을 지적했습니다. 이러한 지속 가능성을 위해 설립된 Rails 재단은 Shopify를 비롯한 8개 초기 후원사의 100만 달러 기부와 Amanda Perino 전무이사의 헌신적인 노력 덕분에 Rails World와 같은 행사를 성공적으로 개최할 수 있었습니다. 이 기조연설은 Rails의 과거를 돌아보고, 현재의 도전을 직시하며, 미래를 향한 명확한 방향성을 제시하는 중요한 자리였습니다.

DHH는 자신의 인생 절반을 Rails와 함께하며 경험한 20년간의 여정을 회고했습니다. 그는 특히 지난 10년여간의 기술 산업을 ‘생산성 암흑기’로 진단하며, 저금리 시대가 초래한 생산성에 대한 무관심과 과도한 전문화를 비판했습니다. 2003~2004년 Basecamp를 단 한 명의 개발자와 두 명의 파트타임 디자이너가 6개월 만에 개발했던 경험을 상기시키며, 현재 스타트업들이 더 많은 인력과 시간으로 더 적은 성과를 내는 현실을 꼬집었습니다. 트위터가 Rails에서 Java 마이크로서비스로 전환한 후 10년간 정체되었던 사례나, Airbnb의 유사한 추세는 이러한 ‘암흑기’의 단적인 예시로 제시되었습니다. DHH는 이러한 흐름에 맞서 ‘부분 스택 개발자’가 아닌, 설계, 구현, 유지보수 등 모든 측면을 아우르는 ‘풀스택 개발자’, 나아가 ‘르네상스 개발자’의 필요성을 강조했습니다. 그는 레오나르도 다빈치의 다재다능함에 비유하며, 개발자가 단순히 기술자가 아닌 예술가이자 시인으로서 코드의 아름다움과 생산성을 동시에 추구해야 한다고 역설했습니다. Rails 커뮤니티는 새로운 사람들이 최소한의 노력으로 성공을 경험하고, 동시에 프레임워크 내부를 깊이 탐구하며 성장할 수 있는 환경을 제공함으로써 이러한 르네상스 개발자를 육성하는 것을 목표로 합니다.

나아가 DHH는 Rails의 미래를 이끌어갈 7가지 핵심 개선사항을 소개하며 ‘복잡성을 통한 진보’가 아닌 ‘단순성을 통한 진보’의 철학을 강조했습니다. 첫째, 프런트엔드 영역에서는 Rails 7에서 기본으로 도입된 Import Maps를 통해 Webpacker를 제거하고, 궁극적으로 JavaScript 및 CSS의 ‘No Build’를 실현하는 방향으로 나아가고 있습니다. 이는 HTTP/2와 브라우저의 발전(CSS Nesting, Custom Properties 등) 덕분에 가능해졌으며, 개발자가 작성한 순수 코드를 직접 브라우저에 전송하여 빌드 단계를 완전히 없애는 것을 목표로 합니다. 또한, Sprockets를 대체하는 Prop Shaft는 기존의 복잡한 자산 파이프라인 기능을 단순화하여 코드량을 획기적으로 줄였습니다. Turbo 8은 HTML 중심의 상호작용을 강화하여 Morphing 기능을 통해 React와 유사한 DOM 비교 및 부분 업데이트를 제공하며, View Transitions 통합 및 로컬 스토리지 캐싱을 통한 오프라인 지원을 모색하고 있습니다.

둘째, 백엔드 영역에서는 저장 장치의 속도 향상에 주목했습니다. Solid Cache는 Redis 대신 SSD 기반 데이터베이스를 캐싱 백엔드로 활용하여 RAM 대비 훨씬 저렴한 비용으로 캐시 수명을 수개월로 연장할 수 있게 합니다. 이는 비록 Redis보다 미세하게 느리지만(0.8ms vs 1.2ms), 애플리케이션 성능에 미치는 영향은 미미하며, 암호화와 샤딩을 기본 지원하는 장점이 있습니다. Solid Queue는 기존 Redis 기반 큐잉 시스템의 복잡성을 해소하고자 데이터베이스(MySQL 8, PostgreSQL) 기반의 새로운 큐잉 솔루션을 제공합니다. 이는 기존의 여러 젬을 대체하는 단일 솔루션으로, Rails의 새로운 기본값으로 자리매김할 가능성이 있습니다. 이와 함께 Mission Control은 Active Job 기반의 웹 인터페이스를 제공하여 큐 관리 및 작업 제어를 용이하게 합니다.

셋째, 배포 영역에서는 Heroku와 같은 상용 서비스의 장점을 계승하면서도 오픈소스 기반의 자율성을 확보하고자 합니다. Kamal은 Heroku처럼 쉽게 Rails 애플리케이션을 일반 VM에 배포할 수 있도록 돕는 도구로, AWS 등 클라우드 종속성에서 벗어나 자체 하드웨어 배포를 간소화하는 데 기여합니다. 마지막으로, DHH는 SaaS 모델의 대안으로 사용자가 소유하고 직접 실행할 수 있는 소프트웨어를 개발하는 ‘Once’ 프로젝트를 소개하며, SQLite를 활용하여 배포와 유지보수를 극도로 간소화하는 방향을 제시했습니다. 이 모든 노력은 Rails가 ‘원-퍼슨 프레임워크’로서 한 명의 개발자가 아이디어 구상부터 배포, 유지보수까지 모든 과정을 완벽하게 수행할 수 있도록 지원하는 것을 목표로 합니다.

DHH의 기조연설은 Ruby on Rails가 단순성과 생산성이라는 핵심 가치를 바탕으로 20년의 세월을 넘어 미래로 나아가고 있음을 명확히 보여주었습니다. '생산성 암흑기'를 벗어나 '르네상스 개발자' 시대를 열고자 하는 그의 비전은, 과도한 복잡성 대신 본질에 집중하고 개발자 경험을 최우선으로 하는 Rails의 철학을 재확인시킵니다. 'No Build' 프런트엔드, 효율적인 백엔드 솔루션, 그리고 간소화된 배포 도구에 이르는 7가지 핵심 개선사항들은 Rails가 여전히 혁신을 멈추지 않으며, 개발자들이 더 적은 노력으로 더 많은 것을 창조할 수 있도록 돕는 '원-퍼슨 프레임워크'로서의 입지를 굳건히 할 것임을 시사합니다. 이러한 지속적인 발전은 Rails가 앞으로도 수십 년간 활발히 사용되는 프레임워크로 남아있을 것이라는 기대를 갖게 합니다.