Schedule API Workflow on a list のスケーラビリティーが約10倍向上!

Bubble Monthly Updateからピックアップ!

Bubble Weekly Newsletterへようこそ!

先週1週間のBubbleのホットニュースやForumトピックをピックアップし日本語でお届けします。このニュースレターを読むとBubbleの動向をつかめる内容になっています!

Bubble好きがおくるBubbleがもっと楽しくなるニュースレター!

今週もスタートです!!

この記事は5分程で読める内容になっています。

(🙂 長くなりがちですがご容赦くださいませ!)

Schedule API Workflow on a list のスケーラビリティーが約10倍向上しました!

以前はこのSchedule API Workflow on a list は数千分のリストしか行われずタイムアウトになっていました。今回のアップデートで何万ものリストを確実にスケジュールし実行できるようになりました!

10倍向上したことにより大量データの実行も可能に!

😃 確実性を求め今までは Schedule API Workflow(単体)をWorkflow次のstepでそれ自体を繰り返し設定させてきたBubblerさんも多いはず。今後は Schedule API Workflow on the list の方の使用頻度が増えそうです。

以下もSchedule API Workflow on the listを使用するメリットです。

  • 無限ループに陥らずに済む(過去私もSchedule API Workflowの繰り返し処理で無限ループをやらかしました...)

  • 一部のリストでエラーがあった場合にも止まらずに実行される

💡 全ての処理が実行されたかどうかは、対応するフィールドに「最後に処理を行った時間」などを、保存(または更新)すれば確認も可能です。

⚠️フォーラムの投稿から

「大容量実行できるようになったとはいえ上限がわからず、なぜ停止したのか、いつ停止したのかを知る方法がない」ことが問題視される投稿が目立ちました。

adamhholmesさんが自身のWUを使い10万件のリストを検証した結果によると

  • リストは問題なくスケジュールされた(実行開始までに約5分かかった)

  • しかし48,000リストが処理された後に停止

  • ログには理由は残らない(エラーもタイムアウトも無し)

  • 48,000リストの実行に15分、コストは約50,000WU

これらの投稿を受け、Bubble側は以下の回答をしています。

  • 内部テストでは、最大 70,000 個のリストに対してこれを実行することに成功

  • Schedule API Workflowの繰り返し処理よりも通常 2 ~ 5 倍高速

  • エラーについては今後 6 ~ 12 か月かけて対処する予定(それまでは、完了を記録するステップをワークフローに構築し、完了数を確認できるようにすることをお勧めする)

😃 今回もフォーラムの活発なやりとりを見ることができました!上記をまとめると、現段階の on the list の実行は 40,000件くらいに留め、さらに処理が実行されたログをDBに残すようにするのが良さそうです。ともあれ自身のWUを大量に使い検証してくれた adamhholmesさんには感謝です。

朝起きるとWUが100%使用されたことがわかり悪夢で目覚めたユーザーからの悲痛な叫びに11月3日の投稿から本日までに38件ものコメントが付いています。

<経緯>

アプリをライブにプッシュしたら翌朝にBubble管理画面に ”ワークロード ユニットが 100% 使用された” 表示がありました。Schedule API Workflowの繰り返し処理で無限ループを行なってしまいました。寝て起きるまでの12時間以内に7million (700万)のWUを使用しクレジットカードの請求は1000ドル(日本円で約¥151,000)でした。

投稿者は人間なのでミスをおかすこと、ミスをおかした場合にBubble側に安全策が講じられていないことを問題視し投稿しています。

安全策は例えば以下のことを指しています。

・使用料急増のリアルタイム警告メール(メールは届いたが700WU使用した後に届いた)
・使用料急増の場合に自動オフ
・超過分 (overages) 設定も無限の開放ではなくあらかじめ決められた数値に設定可能に
・使用上限に来たらメール通知が送信され追加分のチャージのONを可能に

投稿者は自動超過設定を謝って「有効」にしておりそれが今回の請求に繋がってしまったようです。これを有効にしていた自分が悪いという意見がフォーラム内に散見しましたが、無効にすると利用WUが超過した場合にアプリが停止する(Workflowが実行されない)可能性があるため、サービスによっては「有効」が必須です。

自動超過設定が「有効」であっても数値設定が段階的に出来たり、すぐに通知が来てチャージができる仕組みが必要と感じます。

ℹ️ BubbleのWUの自動超過設定について解説!

仕組みを知らない方のために解説します。

Bubbleはプランによってワークロードユニット(WU)の使用上限が決まっています。例えばStarterプランの場合は月に175K(175,000)WUです。これを超過した場合に自動で超過分を有効にするか無効にするかを 設定 > App plan のページから選択できます。

Overages の Mange から設定ができます

Manage のページで、Enable overages か Disable overages の選択をします

Enable(有効)にした場合はStarter planの175Kを超えてもアプリは動作し続けます(その代わりに超過料金も発生)。一方 Disable にチェックを入れると超過料金は発生しない代わりにアプリが動作せずオフラインになります。

この投稿者はさらに過去にも無限ループを行ってしまい、その時は間違った超過分の補償をBubbleから受けています

どうやら1つのアプリに対し1回まではこのような間違いを起こした場合にBubbleに連絡すれば補償を受けられるようです👀👀

これは知っておくと良い情報ですね✅

👉 ベテラン開発者でもこの無限ループの経験がある方は多いです。現在のところ自動で超過分をONにしておく安全策が組み込まれていないため、過去からの使用料に応じてプラン設定し、足りない分はWU追加購入する。超過分は無効に設定しておくのが一番安全です。処理は超過時点でキュー内に残るのでWUが使用可能になるとそこから再動作します。

BubbleCon2023で共有されたトピックです。Bubble界では有名なBuildcamの創設者 Gregory John氏による拡張可能なデザインシステムの重要性とTipsが共有されました。

日本語で一部要約しますが、興味がある方はぜひオフィシャル動画を見てください。

💡 拡張可能なデザインシステムの重要性

デザインシステムとは何か?優れたUI/UXデザインが利益を大幅に向上させることを示す研究結果が出ています。良いUXデザイン、良いデザインの実践によって、最大400%のコンバージョン率が見出されます

  • デザインシステムは単なるUIキットではなく、一貫性と体系的なアプローチが重要です。

💡 デザインシステムとは?

まず重要なのがクライアントに

誰のための何の問題を解決するサービスなのか

を尋ねることです。

【その他重要な質問】

・どのようにブランドを強化しますか?
トーン オブ ボイス* をどのように視覚化しますか?
・nullデータをどのように扱いますか?
・写真を使うのか?イラストを使うのか?
・アプリの通知はどのようにするか?

開発者が都度迷ったりページ毎の揺れ(差異)を起さないためのもの。これがデザインシステムです。

👉 *トーン オブ ボイスとは

ブランディングやコミュニケーションにおいて、その組織やブランドが使用する言葉や文章のスタイルを指します。使う言葉だけでなく、その言葉が伝える感情や態度も含まれます。


例)

  • プロフェッショナルかつ正式:専門的な業界やビジネス向けのコミュニケーションでよく見られ、信頼性や専門知識を強調します。

  • フレンドリーかつカジュアル:親しみやすさやリラックスした雰囲気を作り出し、一般消費者に親近感を持ってもらうのに適しています。

    など

トーン・オブ・ボイスを視覚化するというのは、これらの言語的特徴をデザインやビジュアル要素を通じて表現することを意味します。たとえば、フレンドリーなトーンは暖かい色調、カジュアルなフォント、親しみやすい画像で表現されることがあります。これは、ブランドアイデンティティの一貫性を保つ上で非常に重要な要素です。

💡 UIデザインについて

  • Colorはツールです。色は行動に影響を与えます。目的の箇所以外で赤やオレンジ色を使わないようにしています。

  • GregoryはBubbleに登録できるMAx32色全てを登録し使用しています↓

ℹ️ 動画内で紹介しているカラーパレッドのサイト

https://uicolors.app/create

💡 拡張性について

拡張性とは

成長するニーズに対応しながら一貫性を保つことです

具体的には

  1. スタイルやコンポーネントを整えたマスターアプリを作成

  2. 新しいプロジェクト開始時に、1.をクローンして使用

  3. Reusable element で作ったコンポーネントをページにドラッグドロップし Detach*やpropertyを変更して使用

*コンポーネントを Detachする方法
ドラッグドロップ後に右クリックし、Detach reusable element を選択するだけ↓

注意点は
できるだけ小さく始めること、何かのUI kitsをBubbleに再構築するのではなく、必要なものだけを作ること。

😃 このデザインシステムは私が関わっているチームでも今まさに作り始めたところです。Reusable elementの使い勝手が良くなったおかげで結構良いものができそうです。

またnullデータの扱いは今までエンジニア任せになることが多かったのでこのあたりも初期に決めることで表示の揺れが無くなりますね。今回のGregoryさんのプレゼンからも学ぶことが多々ありました。Bubbleに向き合っていると日々新しい学びがあります。Bubbleって飽きないな〜そこが好きなのかもしれません(笑)

SNSやその他Bubbleで話題になったトピックを紹介!

🏢 Juneは製品分析に特化したソフトウェア会社です

Y Combinator スタートアップ アクセラレータに受け入れられ、その後Product Huntの年間最優秀データ& アナリティクス製品のGolden Kitty賞も受賞しています。

*Golden Kittyは、技術業界における優れたイノベーションと製品の創造を広く認識するための賞です。

Bubbleのプラグイン June.so を入れることにより、製品の使用状況を顧客の獲得から離脱に至るまでを企業単位で簡単に確認できるようになります。

以下のような活用が可能です↓

  • KPIを定義し測定します。例えば、アクティブユーザー数、リテンション(顧客維持率)、顧客離脱率など

  • 製品(アプリサービス)とのやり取りが最も多い企業と最も少ない企業を確認できます

  • 最も積極的、または受動的なアカウントを見つけ、マーケティングの取り組みに役立てることができます

  • 最も強いリテンションをもたらす顧客獲得チャネルを見つけます

  • 最も多く使われている機能とそれを使っているユーザーを測定します

  • 特定の企業のログイン数や使用量が減少を確認し、キャンセルされる前に必要な措置を講じれます

  • 特定の機能の使用上限に達している企業を知り、アップセルのタイミングを知ることができます

👀 かなりのデータの分析が可能になります。今までGoogle Analyticsで測れなかったデータを管理画面に独自構築していたBubblerさんには朗報です!無料プラグインなのもすばらしいです!

この情報はX(Twitter)で、Bubbleのプロダクトチーム在籍しているSamさんからの投稿で知りました。Juneの大ファンでいじり倒すためにプラグイン化したとのことです。有益なプラグインをBubble用に作成してくれたことに感謝します。

 😃 みなさんからのレビューやコメント大歓迎です

  • 今回ためになったことや興味深かったこと

  • 次回はこんな内容を知りたい

  • Bubbleで困っていること

    こちらからご意見をお待ちしております。レビューは全て目を通しています。Twitterなどからの拡散も大変嬉しいです。励みになります^^

🐭 ニュースレターのパートナーも募集しています。詳細はお問い合わせください。

それでは良い週末を!また来週お会いしましょう!

続きを読むには

登録は無料です。Bubbleの最新情報を日本語で!毎週お届けします。

Already a subscriber?Sign In.Not now