고객 사례 자동차

자동차 딜러 플랫폼을 URL, 차량, 로그인 하나 잃지 않고 Rust로 재구축

포르투갈의 자동차 딜러 G8 Motor는 재고 웹사이트와 백오피스를 2018년에 만든 Rails 6.1 앱으로 운영했습니다. 같은 데이터베이스와 사진 위에서 Rust로 재작성해 직원들은 로그인을 그대로 유지했고, 이후 공개 사이트에 새 디자인과 3D 쇼룸, 검색 엔진과 AI 어시스턴트를 위한 SEO를 더했습니다.

고객
G8 Motor
플랫폼
웹사이트와 백오피스
산업
자동차
출시
2026

과제

기존 앱은 여전히 작동했지만 낡은 Rails 6.1에서 돌아갔고, 데이터베이스와 서버 한 대를 함께 썼으며, 딜러가 문의를 잃게 만드는 버그가 있었습니다. 공개 검색 필터는 한 번도 작동하지 않았고, 휴대폰 사진은 회전된 상태로 보일 수 있었습니다.

이전: 서버 한 대에 Rails 6.1과 Ruby 3.1, 앱과 데이터베이스가 함께
이후: 작은 컨테이너의 Rust 바이너리 하나, 관리형 PostgreSQL 18과 읽기 복제본을 갖춘 Kubernetes
이전: 한 번도 작동하지 않은 공개 검색 필터
이후: 제대로 작동하는 검색 필터
이전: 엉뚱한 차량을 열던 중복 주소
이후: 데이터 마이그레이션으로 정리하고 데이터베이스가 보장하는 고유 주소
이전: 회전된 상태로 보일 수 있고 GPS 위치가 남아 있던 휴대폰 사진
이후: 공개 전에 방향을 바로잡고 크기를 줄이고 메타데이터를 제거한 사진
이전: 이메일 제공업체가 장애를 겪으면 함께 실패하던 문의 양식
이후: Amazon SES로 백그라운드에서 발송, 스팸 방지에 Cloudflare Turnstile

우리가 만든 것

비즈니스가 의존하던 모든 것을 지킨 전면 재작성, 그리고 새 공개 사이트. Rust와 axum, PostgreSQL로 만들고 Kubernetes에 배포했습니다.

동일한 URL, 데이터, 로그인

새 앱은 같은 데이터베이스, 같은 사진 스토리지, 같은 비밀번호 해시를 읽으므로 링크와 재고, 직원 계정이 그대로 이어졌습니다.

현대적인 공개 사이트

WhatsApp 버튼이 있는 빠른 모바일 우선 재고 웹사이트로, 재작성이 라이브된 뒤 새로 디자인했습니다.

3D 가상 쇼룸

방문자가 차량과 브랜드, 연락처를 둘러보는 three.js 전시장으로, 방문자가 열 때만 내려받습니다.

검색과 AI 노출

실시간 재고에서 생성되는 메타 태그, JSON-LD, 사이트맵, FAQ, llms.txt로 검색 엔진과 AI 어시스턴트가 딜러와 차량을 설명할 수 있습니다.

휴대폰으로 바로 찍은 사진

백오피스가 방향을 바로잡고 1920 px로 줄이고 GPS 등 메타데이터를 제거하며 사진을 하나씩 처리하므로, 직원에게는 휴대폰 카메라만 있으면 됩니다.

개인정보 보호와 보안

회사 법적 정보를 담은 개인정보·약관 페이지, 쿠키 동의 후에만 작동하는 분석, 공개 양식과 로그인에 Turnstile, DKIM·SPF·DMARC로 서명한 메일.

엔지니어링 성과

2026년 9월 코드에서 집계했고, 메모리는 2026년 10월 프로덕션에서 측정했습니다.

78
모든 변경에서 실행되는 자동 테스트
11
수정한 기존 앱의 버그
5
재작성부터 새 공개 사이트까지 걸린 일수
~17 MB
대기 상태의 메모리 사용량
  • 롤백은 DNS 변경이었고 기존 서버는 계속 가동
  • 전환 전에 기존 데이터베이스와 새 데이터베이스의 레코드 수를 비교
  • 사진은 복사하지 않음: 새 앱이 같은 스토리지 버킷을 사용
  • 공개 페이지는 읽기 복제본이 담당하고, 문제가 생기면 기본 DB로 자동 전환

기술

  • Rust
  • axum
  • PostgreSQL
  • three.js
  • Amazon SES
  • Cloudflare Turnstile
  • Kubernetes
  • Honeybadger

비즈니스에 맞춘 소프트웨어가 필요하신가요?

연동, 내부 도구, 앱, 플랫폼을 AI 에이전트를 지휘하는 시니어 엔지니어가 주문 제작합니다. 필요한 것을 알려 주시면 우리가 어떻게 구축할지 보여 드리겠습니다.