외주 비용 0원, Appsmith 셀프 호스팅으로 구축하는 스타트업 커스텀 ERP

컴퓨터/소프트웨어6분 읽기

TuBrief 편집팀 원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다. 원본 영상: Bubble과 Retool을 대체할 오픈소스 툴 (Appsmith) · Better Stack

코드 한 줄 안 쓰고 대시보드 만드는 시대라지만, 실제 비즈니스는 그렇게 호락호락하지 않습니다. 버튼 몇 개 배치한다고 ERP가 굴러가지는 않으니까요. 1인 개발자나 CTO가 외주 비용 아끼려고 Appsmith를 선택했다면, 그다음 고민은 반드시 "이 스파게티 코드를 어떻게 관리할 것인가"로 이어집니다. 포르투갈 유틸리티 기업 EDIA는 로직 모듈화 전략을 통해 협업 플랫폼 구축 기간을 9개월에서 2개월로 줄였습니다. 단순히 툴을 쓰는 게 아니라 구조를 잘 잡아야 이런 속도가 나옵니다.

스파게티 코드를 방지하는 JS Objects 구조화

위젯 속성창에 JavaScript를 직접 때려 넣는 방식은 당장 편해도 나중에 반드시 뒤통수를 칩니다. 앱이 조금만 커져도 어디에 무슨 로직이 있는지 찾을 수 없는 기술 부채가 쌓이기 때문입니다. 해결책은 간단합니다. 모든 로직을 JS Objects로 몰아넣고 위젯은 호출만 하는 구조로 만드는 겁니다.

  • 실행: 위젯에 파편화된 로직을 Utils 또는 Service라는 이름의 JS Object로 통합하세요.
  • 방법: JS Objects에서 formatDate나 validateInput 같은 공통 함수를 정의한 뒤, API 호출부에서 {{ Utils.formatDate(Api1.data.date) }} 형태로 호출합니다.
  • 결과: 기획이 바뀌어 날짜 형식을 수정해야 할 때 페이지 수십 개를 뒤지는 대신 JS Object 한 곳만 고치면 끝납니다. 유지보수 시간이 40% 이상 줄어듭니다.

async/await 기반의 단단한 워크플로우 설계

신규 고객을 등록하면서 동시에 결제 API를 쏘고 이메일까지 보내야 하는 복잡한 작업은 순서가 꼬이면 대재앙입니다. Appsmith의 run()이나 showAlert()은 Promise를 반환합니다. 이걸 제대로 제어하지 않으면 결제는 실패했는데 고객 등록만 성공하는 데이터 무결성 붕괴를 경험하게 됩니다.

  • 실행: 의존성이 있는 연속 API 호출을 하나의 비동기 함수로 묶으세요.
  • 방법: JS Object 안에 async createOrderWorkflow() 함수를 만들고, 각 단계마다 await를 붙여 실행 순서를 강제합니다. 전체를 try-catch로 감싸 에러가 나면 showAlert으로 운영팀에 정확한 실패 원인을 전달하세요.
  • 결과: 중간 단계에서 로직이 멈춰 데이터가 꼬이는 사고를 막을 수 있습니다. 운영팀의 기술 지원 요청(CS)이 눈에 띄게 줄어듭니다.

Appsmith Store를 활용한 안전장치 구축

내부 직원은 시스템 설계자가 아닙니다. 실수로 삭제 버튼을 누르거나 입력 도중 창을 닫는 일이 허다합니다. Appsmith Store는 브라우저 로컬 스토리지를 써서 페이지를 새로고침해도 데이터를 유지해 줍니다. 특히 storeValue의 persist 파라미터를 활용하면 꽤 근사한 안전장치가 됩니다.

  • 실행: 사용자 역할에 따른 권한 제어와 임시 저장 시스템을 만드세요.
  • 방법: 로그인 시 부서 정보를 storeValue("userRole", response.role)로 저장합니다. 삭제 버튼의 isVisible 속성에는 {{ appsmith.store.userRole === 'admin' }}을 넣어 관리자에게만 보이게 하세요. 입력 폼에는 onTextChanged 이벤트마다 자동 저장 로직을 걸어둡니다.
  • 결과: 권한 없는 직원이 데이터를 날려 먹는 사고가 사라집니다. 입력 중 튕겨서 데이터를 다시 쳐야 하는 짜증 섞인 불만도 더는 들을 필요 없습니다.

Docker 기반 셀프 호스팅과 자동 백업

보안이나 데이터 주권 때문에 셀프 호스팅을 택했다면 이제 서버 관리라는 현실적인 문제가 남습니다. Retool 비즈니스 플랜을 25명이 쓰면 매달 90만 원 가까이 깨지지만, Appsmith 커뮤니티 에디션을 직접 올리면 서버비 3만 원이면 충분합니다. 대신 백업은 본인이 챙겨야 합니다.

  • 실행: appsmithctl을 활용한 자동 백업 스크립트를 돌리세요.
  • 방법: 서버 Cron Job에 docker-compose exec -it appsmith appsmithctl backup 명령어를 매일 새벽 실행하도록 등록합니다. 생성된 파일은 AWS S3 같은 외부 저장소로 넘기세요. SSL은 Nginx Proxy Manager를 리버스 프록시로 붙여 Let's Encrypt를 적용하면 됩니다.
  • 결과: 서버가 터져도 24시간 이내 지점으로 즉시 복구할 수 있습니다. 외부 솔루션 대비 인프라 비용을 매달 10만 원 이상 아끼는 셈입니다.

일관성을 유지하는 테마 관리와 라이브러리 확장

내부 도구 디자인에 목숨 걸 필요는 없지만, 버튼 색깔이 제각각이면 쓰는 사람이 불안해합니다. Appsmith 전역 테마 기능을 쓰면 브랜드 컬러와 폰트를 한 번에 맞출 수 있습니다. 기본 위젯으로 부족한 기능은 외부 JavaScript 라이브러리를 끌어다 쓰면 그만입니다.

  • 실행: 전역 테마로 UI를 통일하고 date-fns 같은 외부 라이브러리를 임포트하세요.
  • 방법: 테마 설정에서 브랜드 컬러를 Primary Color로 잡고 버튼 곡률을 고정합니다. 복잡한 날짜 연산이 필요하면 외부 라이브러리 섹션에 CDN URL을 추가해서 사용하세요.
  • 결과: 새 페이지를 만들 때마다 디자인 고민할 시간이 사라져 개발 속도가 30% 이상 빨라집니다.

Strapi는 Appsmith 도입 후 운영 도구 구축 속도를 12배나 올렸습니다. 1인 개발자나 CTO에게 가장 귀한 자원은 시간입니다. 로직을 모듈화하고 백업을 자동화하는 이 구조만 잘 따라가도, 외주 없이 혼자서 견고한 ERP를 운영하는 게 가능합니다. 핵심 가치에 집중할 시간을 버는 게 진짜 기술 전략입니다.

관련 영상

Bubble과 Retool을 대체할 오픈소스 툴 (Appsmith)

Better Stack5:04

커뮤니티의 다른 글

댓글

로그인하고 댓글을 남겨 보세요.

아직 댓글이 없습니다.