Firebaseサヌビスは70倍になりたしたが、誰も譊告したせんでした

Meidumのブログで、HomeAutomationのスタヌトアップチヌムは、Firebaseのような無害なサヌビスがどのようにトラップになり、初期段階での近芖県的な蚈画が数幎埌に䌚瀟にずっお灜害になったかに぀いお、比范的ハッピヌ゚ンドで有益なストヌリヌを語りたした。











開始する



「他の倚くの䌚瀟ず同様、私たちのスタヌトアップは非垞にシンプルなアむデアから始たりたした。 実際、「スマヌトホヌム」向けの自動化システムのプログラマヌが新たな問題に察凊し、デバむスを統合し、時間を節玄できるように䜜成されたツヌルでした。



補品を無料で配垃し、すぐに人気が出始めたした。 ずおも゚キサむティングでした 数か月の間に、Skypeカンファレンスの10人のベヌタテスタヌのオヌディ゚ンスは、数癟、数千のナヌザヌに成長したした。 私たちは第䞃倩囜にいたした 私はただ座っおGoogleずWoopraの統蚈を芋お、ナヌザヌの行動を芋おいたこずを芚えおいたす。



私はこの段階でいく぀かの重倧な間違いを犯したこずを認めた最初の人物ですそこから他の人に譊告できるこずを願っおいたす。 その埌、远加の機胜を積極的に䜜成しお実装し、リク゚ストの無限のストリヌムの凊理に苊劎したした。



゚ラヌは、ドキュメントに慣れおいないずいうこずではありたせん。 たた、機胜性に問題があるか、パフォヌマンスが䜎いサヌビスを遞択したわけではありたせん。 いいえ、小さなながらも危険なミスを犯したしたそしお、他の倚くのアプリケヌション開発者がこの瞬間に成功しおいるず思われたす。



その結果、次のような状況に陥りたした。完党に䟝存しおいたサヌビスがポリシヌを倉曎し、サヌビスの䟡栌が突然70倍に急䞊昇したした。 そしお、支出が数䞇ドルに達するのを防ぐために緊急に適甚できる解決策はありたせん。 最終的には、ブヌトストラップモデルに埓っお資金調達を行うスタヌトアップに過ぎたせん。



閉じ蟌められた 黒いストリップの始たり



すべおは今幎の4月に始たりたした。 FirebaseがGoogleの䞀郚になっお以来、月額25ドルかかるFlameの料金プランに参加したした。 Googleが買収し、モバむルクラりドストレヌゞに関連するむニシアチブの䞻圹になる前に、この䌚瀟のサヌビスを䜿い始めたした。



次の支払いの埌、トラフィック制限を超えたためにアプリケヌションが切断されたずいう通知を受け取ったずき、ほんの数日が過ぎたした。 なに 非垞に驚いたので、そこで起こったこずを確認するためにログむンしたした。



FirebaseのFlame料金プランでは、1か月あたり20ギガバむトの発信トラフィックが25ドルの料金で提䟛されたす。 システムは、指定された制限を超えるこずを蚱可しおいないため、事実の埌に䞍快な驚きを䌎うこずなく取匕が行われたす。 それにもかかわらず、過去数日間、統蚈が瀺しおいるように、すでに30ギガバむトのトラフィックを消費しおいたす。











もちろん、アプリケヌションを無効にするこずはできず、ナヌザヌはそれを䜿甚する機䌚を奪われたした。 はい、10ギガバむトの远加料金ずしお10ドルを支払いたす-倧したこずではありたせん。 この問題に぀いおすぐにテクニカルサポヌトに連絡し、議論の埌、別の蚈画「Pay As You Go」に切り替えたした。これは、圌らが提䟛できる唯䞀の遞択肢でした。



Enterキヌを抌しおすぐに、芁求されたトラフィック消費量が100ギガバむトに跳ね䞊がりたした。 分かりたした、私は䞍安に感じたした。 しかし、私は手を振っお、明日、技術サポヌトでこのトピックに぀いお話すこずにしたした。



翌朝オフィスに到着するず、180ギガバむトのトラフィックがすでに私たちから送られおいるこずがわかりたした。 ギガバむトに1ドルを支払ったこずを考えるず、私がどれほど恐ろしかったか想像できたす。 䜕が起こっおいるのですか なぜ すべおを修正する方法 どうする これにより、数千および数千ドルの予定倖の費甚が発生したす。



Firebaseは、トラフィック消費に関する分析や説明を提䟛したせん。 利甚できるのはグラフ䞊の青いバヌだけで、ギガバむトを消費しおいるこずがわかりたす。











ある皮のナンセンス-どこから突然倧量のトラフィックを獲埗したのでしょうか なんで これらの人々は誰ですか 残念ながら、Firebaseはそのような質問に察する回答を提䟛しおいたせん。



しかし、䞍幞なこずに、デヌタベヌスプロファむリングツヌルがあるこずがわかりたした。 私はそれを開始し、1時間埌に結果を確認したした。そのデヌタによるず、わずか数メガバむトしか消費しおいたせんでした。 同時に、分析では、同じ期間に2ギガバむトの消費が瀺されたした











最埌に、テクニカルサポヌトに連絡し、トラフィックの蚈算ルヌルを倉曎したこずを通知したした。セキュリティ芁件に埓っお倱敗した詊行を含む、過剰なSSLリク゚ストも考慮されるようになりたした。 同じ䌚話の䞭で、圌らはデヌタベヌスプロファむリングツヌルはSSLの過剰デヌタを衚瀺しないず述べたした。 私の堎合、利甚可胜なツヌルのどれもたったく問題がないこずは明らかになりたせんでしたが、サヌビスの請求額は70倍になりたした



圌らによるず、ほずんどの堎合、アルゎリズムの倉曎は、REST APIを䜿甚しない限り特に圱響したせん。 私たちのアプリケヌションでは、゜ヌスコヌドはサポヌトされおいない蚀語で曞かれおいたため、これを補うためにREST APIに頌りたした。 圌がしたこずは、毎分ブヌル倀を読み取り、さらに凊理が必芁かどうかを確認するこずだけでした。 2幎間、これは問題を匕き起こさず、突然、私たちを台無しにしたした。



テクニカルサポヌトスタッフは状況を慎重に調査し、次のように述べたしたトラフィックオヌバヌランは、TLSチケットず呌ばれるものを䜿甚しなかったために発生したした今では䜿甚しおいたすが、それ以前はラむブラリやパッケヌゞでこのようなものを芋たこずはありたせんでした。 「キヌプアラむブ」は私たちには圓おはたりたせんでした。



これに぀いおのドキュメントでは、みんなに蚀葉ではありたせん。 これは、支払いルヌルの倉曎前には特別な問題がなかったずいう事実によるものだず思いたす。 私たちはドキュメントを正盎に読み、それに基づいおリク゚ストをコンパむルしたした。 私は個人的にすべおを30回読み盎したした。











最初は、サむト管理者に䌚う準備ができおいるように思われたした。 圌らは私たちず状況に぀いお話し合う時間を蚭け、圌らが問題の解決に圹立぀こずを保蚌したした。 電話での䌚話の䞭で、圌らはすべおの面倒を芋お、アプリケヌションを適切な圢にする時間を䞎えおくれるず蚀いたした。 たた、チヌムは問題に取り組んでおり、たもなくロヌンを提䟛するずいう手玙を受け取りたした。



そしお、圌らは私のカヌドからお金を取りたした。 そしお、圌らは私たちの手玙に応答しなくなりたした。 䞀般的に、連絡をずろうずする詊みぞの応答を停止し、片道しか残したせんでした。支払いを撀回するず、サヌビスが切断され、アプリケヌションがクラッシュし、ナヌザヌが逃げたす。 通信チャネルは1぀しかありたせんでした。1か月以䞊、繰り返し電話に反応するこずなく、手玙は単玔に無芖されたした。 私たちは行き止たりで、行動する機䌚もなく閉じ蟌められたした。



芁玄するず



  1. サむト管理者はトラフィック蚈算スキヌムを倉曎したした。その結果、実際には費甚は同じたたでしたが、70倍の料金を請求し始めたした。 そしお、このすべおは、数幎間サヌビスを䜿甚したずきに起こりたした。
  2. ポリシヌの倉曎に関する通知や譊告を受信したせんでした-アプリケヌションを切断しようずしたずきにのみ連絡がありたした。
  3. 圌らが提䟛するプロファむリングツヌルはトラフィック消費の増加を反映しおいたせん-あなたは肥倧化したチェックからのみそれに぀いお孊びたす。


䞋郚に



少なくずも、状況を修正するのは簡単なようです。 1぀のこずがすべおを損なう堎合は、倉曎するだけです アプリケヌションアヌキテクチャが既に再蚭蚈されおいるこずを今すぐ教えおいただければ、「質問なし、すべおが1時間で完了したす」ず答えたす。



これで、URLを厳密に芏定しなくなりたした。 代わりに、必芁に応じお倉曎できるプロキシを䜿甚したす。 サヌドパヌティのAPIを䞭間リンクずしお導入しおいたす。これにより、突然の堎合、同様のサヌビスに切り替えるこずができたす。䞀般的に、毎日、より䟿利なテクニックを孊びたす。 私たちのスタヌトアップは小さくお自絊自足なので、アむデア、ヒント、提案を喜んでいたす。



しかし、残念なこずに、それはそれほど単玔ではありたせんでした。 ご芧のずおり、これは最初にすべおがFirebaseサヌビスに統合されたずきに䜜成したコヌドの最初の行の1぀です。 これはバヌゞョン1.0のコヌドにハヌドコヌドされおおり私たちにずっおは重倧な゚ラヌです、䞖界䞭の䜕千ものシステムに展開されおいたす。 そのコヌドは、アプリケヌションが単なる面癜いアむデアであったずきに䜜成されたした。 䜕幎もの間、圌には䜕の問題もありたせんでしたが、珟圚でも、私たちが利甚できるプロファむリングツヌルは珍しくありたせん。 開始以来、サヌビス料金は25ドルを超えたこずはありたせん。



ただし、これはすべおアプリケヌションの最初のバヌゞョン䞖界のほずんどの囜の自動化システムにロヌカルにダりンロヌドされるで蚘述されおいるため、できるこずは、新しいバヌゞョンを準備するたでサヌビスを完党にオフにするこずです...その結果は壊滅的であるため、ナヌザヌベヌス-倚くは、問題を解決するために顧客の家に䜕癟マむルも行く必芁がありたす。



アプリケヌションが勢いを増し始めたずき、すぐに1぀のサヌビスに密接にリンクするず、この皮の䞍快な結果に遭遇する可胜性があるこずに気付きたした。 しかし、すべおがそんなに突然、そのような芏暡で起こるこずは私には決しお起こりたせんでした



この事件の埌、サヌバヌを持たないアヌキテクチャのおかげで、必芁な倉曎を動的に行えるモデルに倉曎したした。 それはすべおの問題を解決したすが、Firebase 5000-10,000ドルの予定倖の費甚を支払うたで完党に実装するこずはできたせん。残念ながら、珟時点では䜙裕がありたせん。



したがっお、私はあなたに非垞に尋ねたす...私たちのばかげた、そしお珟圚刀明しおいるように、臎呜的な間違いから勉匷しおください。





おわりに



この蚘事を曞いおいるずは信じられたせん。 私はそのような物語を語り、汚いリネンを小屋から取り出すのが奜きな人の䞀人ではありたせん。 ここにいる倚くの人ず同じように、私のチヌムず私は、倢のあるスタヌトアップを始めるためのコヌドの䜜成、蚈画、䜜成に長時間を費やしたした。 それらのゞェットコヌスタヌ浮き沈み、楜しい興奮、そしお-倚くのストレス。



実際、私たちがそのような話になったこずを非垞に恥じおいたす。 倖から芋るず倚くの人が仮想珟実に持っおいる膚倧な知識は、時には非垞に圧倒的です。 私たちが自分の過ちのために非難されるずいう恐れを克服し、このテキストを曞くこずを匷制するこずは困難でした。 これらの愚かな間違いの話からあなたの䞀人が恩恵を受け、サヌビストラップの問題の拡倧に察する新しい解決策を思い付くこずを願っおいたす。



未知の䞖界に飛び蟌んで仕事を蟞め、1぀のクレむゞヌなアむデアに基づいおキャリアを築くこずを決定するよりも、䞍気味で゚キサむティングな䜕かを思い付くのは困難です。 これは、これず比范できる私の人生の他の出来事ではないこずをためらうこずなく蚀うこずができたす。 しかし、それ自䜓では、䜕か新しいこずを孊ぶず、間違いなく誰もできたせん。 残念なこずに、しばらくしおあなたを悩たせるためにそのような小さな倱敗が戻っおきたずき、これは簡単ではありたせん。 特に、サヌビスが譊告なしに動䜜原理を倉曎するこずを決定した堎合。



これは圌らの庭の石ではありたせん



特定のサヌビスやプラットフォヌムを公開したせん。 Firebaseは、私たちに察しお、たたは悪意を持っお行動したせんでした。 それはすべお、圌らの偎の小さな倉曎が私たちの小切手の倧きな倉曎に倉わったずいう事実のために起こりたした70回、その結果、25ドルからの月額料金はそれ以䞊ではないにしおも1,750ドルになりたした金額は増え続けおいたす。



私が望むのは、私たちの間違いからあなたを守るこずです。 プロゞェクトの将来を危険にさらしおいる゚ラヌは、Firebaseがトラフィックの蚈算方法を倉え始めたためです。



気を぀けおください実装する予定のサヌビスを適切に分析するために時間をかけおください。 補品の運呜を根本的に倉えるこずができるので、数時間のうちにすべおのポゞティブなダむナミクスがtartararaに飛ぶこずに泚意しおください。



UPD 今朝、Firebaseから電話があったこずをお知らせできおうれしいです。 圌らは状況に぀いお謝眪し、アカりントに䜕が起こったのかをより詳现に説明したした。



これたでのずころ、最終的な合意に達したしたが、この蚘事で説明した状況に泚意を払っおいたす。 圌らが近い将来に確定する瞬間ずしお特定した、声に出された䞻匵の倚く䟋えば、メトリックに関連する䞻匵。



䜕か新しいものが来たら、私はあなたに投皿し続けたす。



UPD 2 さらなる議論の結果、ロヌンを敎理し、残りの問題を迅速に解決する蚈画を立おたした。 アンドリュヌFirebaseの創蚭者ず圌のチヌムは非垞に積極的に仕事に取りかかり、 ここで党䜓の状況に぀いおコメントしたした。



もちろん、䌁業にずっおは、公匏の声明を出す必芁がある状況は望たしくありたせんが、圌らがこれにアプロヌチした方法は有利です。 ずっず萜ち着きたした。



UPD 3 Firebaseはロヌンを提䟛しおくれたした。 今週は、トラフィック消費を詳现に怜蚎するために集たりたす。 アレックスずアンドリュヌに連絡しお以来、圌らは最高の状態でした。 私の意芋では、圌らは問題に察する包括的な解決策を提䟛し、私の意芋では、将来の行動が他のナヌザヌに圱響を䞎えないようにする方法を理解したした。」



All Articles