본문 바로가기
버블 개발/중급

125. Scaling (중급) : Bubble의 확장성, workload의미, 확장 방법

by 스타트업 사업가 마르코 2023. 9. 19.
이 섹션에서는 Bubble 앱 확장의 의미와 조정이 원활하게 이루어지도록 제공하는 도구에 대해 설명합니다.

 

(1) Scaling(확장)의 의미

확장은 많은 것을 의미할 수 있지만 이 문서에서는 다음 정의에 중점을 둘 것입니다. 버블의 확장이란 장기간에 걸쳐 서버 리소스 소비가 증가함을 의미합니다.

 

대부분의 경우 확장은 더 많은 사용자가 앱에 가입하고 적극적으로 사용하는 결과입니다. 그러나 크기 조정은 다음과 같은 다른 변경의 결과일 수도 있습니다.
  • 더 많은 리소스가 필요한 새로운 기능 추가
  • 들어오는 API call 수락과 같은 타사 시스템에 연결 추가
  • 검색 및 처리 필요성이 증가하는 대용량 데이터 생성 또는 가져오기

 

웹 애플리케이션을 확장하는 것은 증가하는 전력 수요를 충족하기 위해 전력망을 업그레이드하는 것과 유사합니다.
  • 더 많은 인구에게 전기를 분배하거나 전기 사용량을 늘리려면 추가 발전소와 송전선이 필요한 것처럼, 앱을 확장하려면 늘어난 사용자 기반과 데이터 처리 요구 사항을 지원하기 위해 더 많은 서버 리소스를 추가해야 합니다.

 

(2) Workload 단위

Bubble은 워크로드 단위라는 지표로 애플리케이션을 구동하기 위해 수행되는 총작업을 측정합니다. 이 장치는 데이터베이스 쿼리, 워크플로, 파일 업로드 및 API 호출과 같은 다양한 활동 유형을 추적하고 총합계를 계산합니다.

 

  • 해당 주제에 대한 글 시리즈에서 워크로드 단위가 어떻게 작동하는지 자세히 알아볼 수 있습니다.
  • 각 앱은 고유하고 다양한 작업을 수행할 수 있으므로 작업량은 실제 소비를 추적하는 사용에 구애받지 않는 측정항목입니다. 세부 보고서에서 각 범주와 작업을 단일 표현식까지 추적하여 앱이 워크로드를 소비하는 방식을 이해하고 시간이 지남에 따라 앱이 어떻게 확장되는지 확인할 수 있습니다.
  • 각 Bubble 요금제 plan에는 다양한 워크로드 단위가 포함되어 있으며 Bubble은 자동 또는 수동(원하는 경우)으로 확장하여 성장을 촉진하도록 도와줍니다.

 

(3) Bubble이 확장을 돕는 방법

앞서 설명한 것처럼 앱을 확장한다는 것은 본질적으로 앱 실행을 유지하기 위해 서버가 수행하는 작업의 양을 늘리는 것을 의미합니다. Bubble은 가능한 한 원활하고 간단하게 확장할 수 있도록 설계되었습니다. 실제로 이것이 무엇을 의미하는지 알아보기 위해 몇 가지 사항을 살펴보겠습니다.

1. 속도 제한이 없습니다.

  • 앱이 소비하는 작업량에 관계없이 앱이 동일한 속도로 실행됩니다. 속도 제한이 없습니다. 본질적으로 이는 앱이 관리하는 워크로드에 관계없이 앱이 지속적으로 성장하고 성능을 발휘할 수 있음을 의미합니다.

2. 워크로드를 자동 또는 수동으로 확장할 수 있습니다.

  • 트래픽이나 처리의 증가 또는 갑작스러운 증가를 소화하기 위해 필요한 경우 요금제에 즉시 워크로드를 추가하는 정말 자동화된 시스템을 제공합니다.
  • 경우에 따라 대량 할인을 제공할 수 있는 워크로드 단위를 수동으로 추가하도록 선택할 수도 있습니다. 구독 플래너 도구를 사용하여 가장 적합한 옵션이 무엇인지 확인할 수 있습니다.

3. 소비에 대한 변경 사항은 명확하게 전달됩니다.

  • 앱 지표 대시보드를 사용하여 워크로드 소비를 자세히 설명하는 일련의 보고서를 제공하고, 특정 비율에 도달하면 이메일을 통해 이를 파악할 수 있습니다.

4. CDN 통합이 포함되어 있습니다.

  • Cloudflare를 통해 효율적인 콘텐츠 전달 네트워크 기능을 제공하여 전 세계적으로 앱에 빠르게 액세스 할 수 있도록 합니다.

5. 전용 서버 옵션을 제공합니다.

  • 더 많은 제어가 필요한 경우 전용 서버 환경을 제공합니다. 가능한 요금제를 확인해야합니다.

 

(4) Spike (스파이크)

서버 리소스 소비가 갑자기 증가하는 경우를 흔히 스파이크라고 합니다. 이는 일반적으로 모든 웹 사이트나 앱에 문제를 일으킬 수 있습니다. 이 것은 서버가 예상치 못한 급격한 트래픽 증가를 처리하도록 설정되어 있지 않기 때문입니다.

 

스파이크는 여러 가지 이유로 발생할 수 있으며 다행히도 그중 대부분은 긍정적입니다.

  • 신규 앱은 소셜 미디어, 블로그 글/동영상 또는 ProductHunt와 같은 플랫폼을 통해 입소문이 나고 트래픽이 증가합니다. 많은 사용자가 동시에 앱을 사용하려고 합니다. 예를 들어 앱이 이벤트를 처리하는 경우 정확히 이벤트가 시작될 때 많은 사용자가 액세스를 시도할 수 있지만 트래픽은 안정적입니다.
  • 앱을 변경하려면 데이터베이스에 대대적인 변경이 필요하며, 이를 용이하게 하기 위해(한 번 또는 정기적으로) 무거운 처리를 수행해야 합니다.
Bubble의 자동화된 확장 설정은 즉각적이고 유연하여 더 높은 요금제를 사용하지 않아도 되기 때문에 비용이 영구적으로 증가하지 않습니다.
  • 급증을 처리하는 데 필요한 워크로드 단위를 추가하기만 하면 이전과 동일한 요금제를 유지할 수 있습니다.
  • 사전에 급증이 예상되는 경우 워크로드 단위를 사전 구매하여 비용 효율성을 더욱 높일 수 있습니다. 요금제 도구를 사용하여 가장 적합한 옵션이 무엇인지 확인하실 수 있습니다.

 

(5) Bubble은 몇 명의 사용자를 처리할 수 있나요?

이 질문은 좀 더 자세히 살펴보고 대답해야 할 질문입니다. 확장은 측정하기 매우 쉬운 지표이기 때문에 단순히 사용자 수로 보고 싶은 유혹이 있습니다. 그러나 확장과 관련하여 우리가 실제로 이야기하는 것은 사용자가 소비하는 서버 리소스의 총량이라는 점에 유의하는 것이 중요합니다.
  • 이를 설명하는 가장 쉬운 방법은 활성 사용자와 비활성 사용자의 관점에서 생각하는 것입니다.
  • 비활성 사용자는 서버 리소스를 거의 또는 전혀 사용하지 않으므로 원칙적으로 거의 무제한으로 확장할 수 있습니다.
  • 반면에 활성 사용자는 앱의 기능에 따라 적은 양의 리소스를 소비할 수도 있고 대량의 리소스를 소비할 수도 있습니다.

 

: 자신의 Product에 대해 이해

앱이 어떻게 확장되는지 정확히 이해하려면 앱이 사용되는 방식의 실제 메커니즘을 자세히 살펴보는 것이 도움이 됩니다.

 

확장은 다음 세 가지 요소를 기반으로 하는 프로세스입니다.

  1. Bubble의 확장 기능
  2. 앱이 수행하는 작업의 종류
  3. 앱이 얼마나 효율적으로 구축되는지

Bubble은 만들기 쉽고 비용에 효율적으로 확장할 수 있도록 기본 수준에서 설계되었지만, 플랫폼의 유연성으로 인해 성능이 좋지 않은 앱으로 설정하여 필요한 것보다 더 많은 서버 리소스를 소비할 수도 있습니다.

  • 확장은 주로 데이터베이스 사용에 영향을 받습니다.
    • 사용자 수가 적은 앱이라도 정기적으로 많은 양의 데이터베이스 처리를 수행하는 경우 원칙적으로 높은 수준의 서버 리소스를 소비할 수 있습니다.
    • 가벼운 데이터베이스 작업에 많은 사용자 수를 곱하면 높은 수준의 서버 리소스가 발생할 수 있습니다.

자신의 제품이 해당 스펙트럼의 어느 위치에 있는지 예측하면 앱을 최적화하는 데 도움이 될 수 있습니다.