카카오, 당근마켓, 마이리얼트립, 업비트, 왓챠, 오늘의집, 리멤버 등
웹사이트 스택 분석 서비스인 Wappalyzer의 통계에 따르면, 전 세계 웹 백엔드 프레임워크의 점유율 2위가 루비온레일즈 입니다. 1등은 의외로 ASP.NET이고, PHP의 신흥강자 라라벨과 노드의 익스프레스가 그 뒤를 잇고 있습니다. 파이썬의 Django 점유율은 6등이고 레일즈의 3분의 1에 불과합니다.
전 세계적으로, 특히 실리콘벨리를 중심으로 레일즈는 스타트업을 위한 가장 대표적인 웹 프레임워크이고, 레일즈로 개발되었다는 사실만으로 빠른 개발 생산성으로 좋은 평가를 받습니다.
전 세계 모든 개발자들이 사용하는 깃헙, 1억 명이 사용하는 트위치, 1억 5천만 명이 사용하는 에어비엔비, 아마존을 위협하는 맞춤형 상거래 플랫폼인 시총 140조의 샤피파이, 시총 11조의 고객관리 플랫폼 젠데스크, 시총 4조의 프리랜서 마켓 파이버, 크라우드 펀딩의 원조 킥스타터 등 창업 후 빠른 속도로 플랫폼을 고도화해 시장을 평정한 서비스들이 레일즈로 만들어졌습니다. 과거에는 레일즈의 성능이 느려서 트위터 등이 레일즈를 다른 자바로 바꾸기도 했었는데 탄생 16년이 지난 지금의 레일즈는 대형 서비스들에 문제없이 적용되고 있습니다.
우리나라에서는 글로벌 트렌드와 비교해 레일즈의 점유율이 낮은 편이지만, 업계 탑을 빠르게 석권한 아래 플랫폼들이 레일즈로 만들어졌습니다.
– 중고거래 시장에서 순식간에 넘사벽이 된 당근마켓
– 국내외 여행산업을 평정하고 700억의 투자를 유치한 마이리얼트립
– 택시/대리운전/주차의 대명사가 된 카카오T
– 한국의 링크드인으로 자리 잡은 리멤버
– 월 거래액 700억 인 오늘의 집
– 1등 암호화폐 거래소 업비트와 1등 주식거래 앱 증권플러스
– 넷플릭스의 대항마 왓챠
– 소상공인 매출 관리 1등 서비스 캐시노트
– 대표적인 기업 평가 플랫폼 잡플래닛
– 2천만 명이 리워드를 적립받는 캐시슬라이드
– 그 외에 텀블벅, 나우웨이팅, 클래스팅, 코빗, 이음, 레진코믹스, 배틀코믹스 등 각 분야 대표 서비스
스타트업 플랫폼은 서비스 출시 후 빈번하게 수정하여 사용자들의 피드백과 비즈니스 상황을 빠르게 반영하고 경우에 따라 다양한 방향으로 피보팅 해야만 합니다. 이런 분야에서 각 분야 대표 서비스들이 개발 생산성이 가장 높은 레일즈로 개발되었다는 점에서 비즈니스의 성공과 기술적인 선택은 어느 정도 밀접하게 연결되어 있다고 볼 수 있습니다.
같은 기능을 개발할 때 다른 개발 언어와 비교해 월등하게 적은 시간이 소요된다는 점은, 다양한 기획적/기술적인 시도를 큰 리스크 없이 수행해볼 수 있다는 점에서 린스타트업의 철학과도 맞고 그 자체로 애자일한 개발 방식이며 확장 단계에서 그로스해킹을 시도하기에도 좋다는 뜻이기도 합니다.
저희도 노드, 파이썬, PHP, Java, ASP.NET 코드를 작성해보았지만 간단한 기능 하나를 만들기 위해 많은 파일을 수정하고 많은 코드를 작성해야 하고 일관된 코딩 규칙을 적용하기 어려워 개발자마다 다른 형태의 코드를 작성하기 쉬웠고 동일한 기능을 구현한 코드의 글자 수와 라인수가 레일즈와 비교해 2배~10배가량 많아서 유지보수 난이도가 올라갔습니다.
레일즈는 라이브러리 생태계가 잘 되어 있고 친절합니다. 예를 들면 로그인이나 페이징, 해시태깅 등의 기능을 구현하기 위해 레일즈는 라이브러리의 깃헙 매뉴얼을 1분 정도 훑어본 후 프로젝트에 몇 단어를 추가하면 그 기능이 작동합니다. 이는 해당 개발 커뮤니티의 문화와도 연관되는데, 다른 언어의 라이브러리 문화는 ‘내가 핵심 기능만 만들어놨으니 코드 파악하고 활용하는 것은 본인들이 하시오’라는 느낌이라면, 루비와 레일즈 라이브러리 문화는 ‘바쁘죠? 두 줄만 넣어요 나머지는 내가 처리해둘게요’라는 느낌입니다.
일례로 2명이 JSP로 1년 이상 집중적으로 개발한 프로젝트를 제가 혼자 1개월 만에 레일즈로 포팅해서 코드량을 1/10 수준으로 줄인 적이 있습니다. 쿼리문 작성을 최소화하고 보안에 더 안전한 ORM 활용과 반복적으로 이용되는 뷰의 재사용, 자바스크립트 코드를 거의 작성하지 않는 레일즈 방식의 AJAX 처리, 그리고 Restful한 라우팅 정의로 타이핑을 얼마 안 했는데 기능이 완성되어 있는 경험을 할 수 있습니다. 40분 만에 유튜브의 일부 기능을 구현해본 아래 영상을 참고해주세요.
다른 웹 프레임워크만 경험해본 개발자들이 레일즈를 접하면 개발이라는 게 이렇게 쉽고 빠른 것이었나 신기해하게 됩니다. 레일즈는 프레임워크 철학적으로 웹서비스 개발에서는 이게 정답이다 라는 강한 규약을 제시하기 때문에 일관성과 생산성이 증대됩니다. 물론 UI 쪽은 필요 없고 API 백엔드만 필요한 경우 등 풀스택 웹 개발이 필요하지 않은 경우에는 레일즈나 다른 웹 프레임워크나 대동소이 해지기 때문에 MVC(모델-뷰-컨트롤러)가 모두 필요한 웹서비스/하이브리드앱에서 특히 강점을 보입니다.
다른 웹 프레임워크를 1년 간 학습한 개발자에게 레일즈를 1개월 가르친 후 두 프레임워크로 동일한 서비스를 개발하게 하면 레일즈로 만든 결과물이 최소 2배 정도 빠르게 완성됩니다. 훨씬 짧은 기간 학습했는데 더 빠르게 결과물을 완성하게 됩니다.
개발이 빠르면 산술적으로도 동일한 인건비로 더 많은 기능을 개발할 수 있으니 인건비 절감 효과가 있고 출시 타이밍이 빨라지면 비즈니스 성공 가능성도 높일 수 있습니다. 이는 너무나 당연한 인과라 부연할 것이 없습니다. 그런데 근본적으로 개발이 쉽고 빠르면 비즈니스의 역동성과 개발자의 커리어 성장에 아래와 같은 강력한 영향을 미친다고 생각합니다.
– 개발이 쉬우면 신입/경력 개발자에게 쉽게 교육시킬 수 있습니다
저희도 레일즈를 얼마나 쉽게 교육시킬 수 있는지 알고 있기 때문에 다른 웹 개발자를 채용해 단기간에 레일즈를 교육시키고 있습니다. 굳이 레일즈 개발자를 채용하지 않습니다. 저희 고객사 중에는 직접 레일즈 개발을 배우시고 간단한 유지보수를 직접 하시는 경우도 있습니다.
– 개발자가 구현을 쉽게 할 수 있으면 프로덕트에 좀 더 집중할 수 있습니다
어떻게 구현해야 할지 머릿속에 꽉 차 있지 않아도 된다면 이 구현이 왜 필요한지 기획자나 사용자의 의도를 더 잘 파악할 수 있게 됩니다. 기술적으로 어떻게 구현할지만이 아니라 왜 구현해야 하는지 어떤 사용성과 어떤 디자인으로 구현해야 할지 사고를 확장할 수 있게 됩니다.
– 구현 스트레스가 줄어들면 개발자의 태도가 좋아집니다
간단하게 수정하고 배포할 수 있게 되면, 수정 및 구현 요청에 방어적일 필요가 없습니다. 개발 자체가 꽤 즐거워지기 때문에 개발자들에게 억지로 동기부여할 필요가 없습니다.
– 비즈니스에 더 다양한 시도를 할 수 있습니다
스타트업 서비스는 특히 초기 구현 결과물에서 결국 많은 수정을 거쳐서 사용자들이 원하는 니즈를 발견해내야 합니다. 한 번 만든 것을 고치기 어렵거나 오랜 시간이 걸린다면 그만큼 다양한 비즈니스와 수익모델에 대한 시도를 할 수 있는 횟수가 줄어들게 됩니다. 기능 요구사항을 뚝딱 개발할 수 있다면 다양한 시도로 빠른 성장과 성공의 가능성이 커집니다. 탑 티어 스타트업들이 레일즈로 개발되어 빠르게 발전해나가고 있습니다.
– 자연스럽게 풀스택 개발자가 됩니다
백엔드 구현만으로도 개발 학습량과 코드 작성량이 많다면 프론트엔드나 UX까지 신경 쓰기 어렵습니다. 반면 백엔드 학습과 구현이 빠르게 끝난다면 프론트엔드/UX에 대한 감각까지 키울 여지가 생깁니다. 개발자를 파트별로 채용하는 타이밍을 늦출 수 있고 1~2명의 개발자가 전체 서비스를 개발할 수 있는 풀스택 개발자로 성장할 수 있습니다.
국내외에 좋은 온라인 강의가 있어 소개해봅니다.
저희도 스타트업 서비스 개발과 개발자 교육의 노하우를 바탕으로 누구나 개발자를 만들 수 있는 레일즈 온라인 강의 및 풀스택 부트캠프 코스를 만들고자 계획하고 있습니다. 많은 기대와 관심 부탁드립니다.
해당 글은 인썸니아와 모비인사이드의 파트너쉽으로 제공되는 기사입니다.