週刊ダイジェスト // WEB_DEV_GENERAL — 2026年 第33週
folder_open週刊レポート

Vercelが見つけたdurable stateの隠れたコスト — 第33週 ウェブ開発

Datastore migration、公平なqueue、安定E2E test、再現benchmark、progressive contextがproduction前に仮定を可視化します。

calendar_todaysummarize2026年 第33週
全Vercel buildのdatabaseをmigrationした方法
タグ: アーキテクチャ読了_時間: 9分

全Vercel buildのdatabaseをmigrationした方法

Vercelはdual write、shadow read、dashboard、flag、rollback可能な段階でbuild warm-pool stateをephemeral Redisからdurable DynamoDBへproduction停止なしに移しました。保存値は一致しましたが、container作成前に毎回countするsupply loopがstallしました。P95 count latencyは1.29 msから5.13 msへ増え、最大P90差は約17倍で、数百の直列readが一部runを数分へ伸ばしました。Concurrent supply callは固定batch ratioなしにstore speed仮定を除き、stale stateによる少数のextra containerだけを許容しました。調査はRedis時代からあったものの注目されなかった分単位stallも露呈しました。

開発者体験23:57

OpenAI engineer 3人が100万lineを出荷。10時間agent runはここから始まります

OpenAIのengineer 3人は手作業見積もりの約10分の1で社内製品を作り、人が実装を直接入力せず約1,500 pull request100万line超のcodebaseを作ったとされます。持続可能な技法は巨大instruction fileではなく、active plan、decision log、design document、architecture、quality gradeを指す短いmapでした。Nate B. Jonesはこれをprogressive context shapingと呼び、証拠がgoal、next action、stopping conditionを変える時にcompact current-state recordを更新します。Stable rule、current state、resource map、historyを分け、stale guidanceが現在のplanを装えないようにします。Human judgmentが方向と完了を所有し、agentが実行とstructured handoffを担います。

AI_インフォグラフィック
OpenAI engineer 3人が100万lineを出荷。10時間agent runはここから始まります — インフォグラフィック
タグ: アーキテクチャ読了_時間: 20分

公平性を設計する:Ruby background job orchestration

FIFO background queueは全体throughputを保ちながら、一つの大tenantが全小ユーザーを待たせ、fairnessをproduct問題にできます。Evil MartiansはSidekiq、Sidekiq Pro、Solid Queue、GoodJobを比較しますが、必要なreliabilityとefficiencyを持つ動的weighted per-tenant queueを直接提供するものはないとします。推奨開始点は成熟processorを保ち、virtual tenant queueを保存しmain-queue latencyを監視して限定fair batchを昇格するplannerを加えることです。Shuffle shardingはtenantを隔離し、interruptible iterationは自然batchをtime-boxし、throttlingは継続的にgreedyなworkloadを迂回させます。Active tenantが非常に多いとplannerがbottleneckになり得るため、wake frequency、batch size、utilization、waiting depthを観測します。

タグ: ツール読了_時間: 6分

Shopifyがmobile E2E test安定性を98%へ上げた方法

Shopifyのmobile E2E suiteは安定性50%まで落ち、悪いPRより良いPRを多く止めたためrequired CIから外されました。Opinionated Appium wrapperはguarded actionだけを公開し、全stepに期待結果を要求し、custom timeoutやscript injectionをUNSAFE_と示します。PaddleOCRとOpenCVがscreenshot上のvisible textとPolaris iconを探し、Test IDはfallbackだけに残り、annotated videoが失敗stepのsearchとtouchを見せます。繰り返し実行promotion gateはflaky testがblockingになる前に拒否します。再構築suiteはiOSとAndroidで98%安定性を達成し、agentも同じvisual grammarでtestを書きやすくなりました。

タグ: パフォーマンス読了_時間: 11分

M5 Maxで測定したlocal model性能

Scott Chaconは同じcoding-agent harnessで128 GB M5 Max上のlocal model 6個をOpus 5、GPT-5.6 Solと比較しました。SuiteはDuckDB SQL、pytest fix、JSON extraction、output prediction、fact、長文lookupを含む6 category・22 task1,056 runです。Frontier modelは総じて速く正確でしたが、Qwen3 CoderはSQLで特に速く、全local modelが7,900-token runbook lookupを処理しました。Local failureはreasoning-sensitive output prediction、SQL dialectの創作、permission arithmeticへ集中しました。Cacheとtoken efficiencyで実際のAPI請求が単純な定価計算より大幅に低く、cost比較は概算です。

タグ: 開発者体験読了_時間: 9分

小さなprogressive enhancementをご褒美に

Piccalilliのmusic pageはLast.fmとOpen Scrobbler linkを常に通常HTMLでrenderし、dataがある時にcustom elementが他のstreaming serviceを追加します。Same-origin Astro API routeがMusicBrainz requestをCORSと意図しない公開利用から守り、1時間のin-memory cache491 item collectionの反復lookupを減らします。Data layerは最高scoreのrelease groupを選び、streaming・purchase relationをfilterし、platformをdeduplicateし、失敗時は空arrayを返します。JavaScriptはdiscoveryを改善しますが利用可能なbaselineを所有しません。不完全なthird-party coverageとpersonal-site tradeoffを受け入れ、非本質的enhancementをbuild-time dependencyにしません。

summarizeダイジェスト_要約

Vercelはdual write、shadow read、feature flag、rollback可能な段階でbuild warm-pool stateをRedisからDynamoDBへ移しました。データは一致しましたがP95 countは1.29 msから5.13 ms、P90は約1 msから15 msへ遅くなり、containerごとにcountするN+1 control loopが露呈しました。Concurrent supply callが直列dependencyを除き、Redis時代からのstallも発見しました。

Evil Martiansはbackground-job fairnessをproduct特性として扱います。Per-tenant queueとplannerが既存processorのretry・recoveryを保ちつつ、限定したfair batchを昇格させます。Shopifyはactionごとにassertionを要求するAppium wrapper、PaddleOCR、OpenCVで同じ原則をAPIへ適用し、mobile E2E安定性を50%から98%へ上げました。

再現可能なlocal-model benchmarkは6 category・22問題1,056 runで6 local modelと2 frontier modelを比較しました。Cloud modelが総じて速く正確でしたが、local modelもSQL、bug fix、document lookupの一部で強さを示しました。Cacheとoutput効率によりtoken定価だけではcost比較できないcaveatもあります。

長時間coding agentにも明示的なstate boundaryが必要です。OpenAIの3 engineerは巨大manualではなく短いmap、current plan、decision log、architecture documentを使い、100万line超・約1,500 pull requestの社内製品を作ったとされます。Progressive context shapingはstable instruction、current state、resource map、historyを分け、新しい証拠で後続作業を方向転換します。

Piccalilliのmusic linkは二つのstatic linkを常にrenderし、custom elementとsame-origin Astro routeでサービスを任意に追加します。共通するengineering動作は、暗黙の仮定を測定・拒否・retry・再指示または無視できる狭い契約へ変え、baseline体験を守ることです。

重要ポイント
  • Datastore migrationではquery別percentileだけでなく累積workflow latencyと呼び出し回数を比較してください。小さなround tripがN+1 control-loop failureになり得ます。
  • 共有worker poolが飽和したらworkload形状に合わせfairnessを選び、実行は成熟したjob processorへ残してください。Custom schedulerでretryとcrash recoveryを作り直さないでください。
  • 信頼できる動作を最も簡単なAPI経路にしてください。E2E testへpost-action assertionを要求し、no-JavaScript baselineを保ち、benchmark task・run・caveatを一緒に公開してください。