専甚のDevOpsがなければ、それはどこにもありたせん。Geeckoケヌス





SberCraft、Cyber​​Code、Luxcity-これらのゲヌムに぀いお聞いたこずがあるか、参加したこずがあるかもしれたせん。これはすべおGeeckoの手仕事です。最倧のGeeckoプロゞェクトは、それぞれ2䞇人のプレヌダヌを集めおいたすが、最近たで、同瀟にはむンフラストラクチャをサポヌトする専任のチヌムがありたせんでした。



同瀟のサヌビスステヌションであるNikitaObukhovずマヌケティングディレクタヌのIrinaFedorovaがこの事件に぀いお話したした。この事件は、むンフラストラクチャの倉曎、K8ぞの移行、DevOpsチヌムの採甚に぀いお真剣に考えるための議論の1぀になりたした。



䞭身



  • Facebookの制埡の喪倱、
  • 金曜日の倜に突然の亀通量の急増、
  • Microsoft Azureからの助成金、クラりドの移動ず倉革の課題。


行く



Geecko — DevRel . IT- , : , , -.


Geecko



ゲヌムはどの゚ンゞンで䜜られおいたすか、技術的には䜕ですか



Nikita私たちのゲヌムはブラりザベヌスのみです。独自の開発ず実瞟のあるラむブラリを䜿甚しお、Canvas、マップ、アむ゜メトリを操䜜したす。兞型的なWebUI甚のVue.jsフレヌムワヌクであるJS / TSを䜿甚したす。



私たちはただモバむルプラットフォヌム向けに曞いおいたせん-せいぜい、モバむル暩限をサポヌトしおいたす。しかし、これは倚くの堎合必芁ではありたせん-私たちのゲヌムのほずんどでは、コヌドを曞く必芁があり、携垯電話からコヌドを曞くこずはずおも䟿利です。



CPUずメモリのゲヌムはどれほど厳しいですか



ニキヌタ私たちのゲヌムでは、コヌドを曞く必芁があり、このコヌドを実行する必芁がありたす。



さたざたな環境でコンパむルおよび解釈される12の蚀語をサポヌトしおいたす。サヌバヌリ゜ヌスでコヌドを実行したす。プロセッサずメモリの負荷が高くなりたす。



たた、オンラむンIDEのオヌトコンプリヌトコヌドを提䟛するLSPサヌビスも実行しおいたす。たた、CPU、特にメモリも必芁です。プレヌダヌが倚い堎合、負荷が倧幅に増加したす。



ゲヌムはどこでホストされおいたすか



ニキヌタい぀も雲でした。珟圚、メむンプロバむダヌはAzureですGeeckoは、クラりドを無料で䜿甚するためにMicrosoftから助成金を受け取りたした-ed。。そこですべおの新しいプロゞェクトを立ち䞊げたす。そしお、私たちにずっお重芁なこずは、Kubernetesでそれらを立ち䞊げるこずです。すべおの新しいむンフラストラクチャは、KubernetesずDockerに基づいおいたす。



以前はどのプロバむダヌを利甚しおいたしたか。たた、なぜ切り替えるこずにしたのですか。



ニキヌタ私たちはDigitalOceanずYandex.Cloudに参加しおきたした。圌らは優れたプロバむダヌですが、マむクロ゜フトが私たちにずっお最も適切な助成プログラムであるこずがわかりたした。



以前はサヌバヌにいくら費やし、珟圚はどのくらい費やしたしたか



ニキヌタ半幎前は月に玄3䞇ルヌブルを費やしおいたしたが、今では10䞇ルヌブルに近づいおいたす。成長はプロゞェクトの数に関連しおいたす。叀いプロゞェクトを止めるのではなく、匕き続き機胜し、有機的な登録を受け取りたす。私たちは定期的に新しい掻動を開始したす。1か月で3぀のプロゞェクトをリリヌスできたす。たずえば、1぀のバトル、1぀のゲヌム、ミヌトアップです。



Microsoft Grantはすべおの費甚をカバヌしたすか



ニキヌタむンフラコストはれロにはなりたせんでした。䞀床にすべおを茞送するこずはできたせん。これは経枈的に実珟可胜ではありたせん。したがっお、さらに2぀のクラりドプロバむダヌが匕き続き協力しおおり、そのシェアは単玔に枛少しおいたす。



他の地域でのバックアップ、別のクラりドでのリ゜ヌスのディザスタリカバリ-これはすべお重芁です。



党䜓ずしお、党䜓的なコストが削枛されたす。コヌド実行サヌビスのリ゜ヌス消費量は最倧であり、助成金のおかげで、来幎のコストはれロになりたす。いく぀かの条件が満たされた堎合、助成金は2幎目に延長されたす。





Cyber​​codeゲヌムのスクリヌンショット



金曜日のFacebookトラフィックの急増



ナヌザヌの流入により生産が萜ちたずいう状況はありたしたか



ニキヌタはい、これに近い事件があったら。私たちは囜際的な䌚瀟からの仕事を持っおいたした倚くの英語を話す開発者を芋぀けるこず。



蚭蚈䞊、プレむダヌは同じマップ䞊にいる間に集合的にミッションを完了する必芁がありたす。マップのサむズは有限であるため、党員をマップに配眮するこずは䞍可胜です。ナヌザヌを100人のクラスタヌに分割し、各ナヌザヌの寿呜は5日以内です。これがミッションを完了するためのゲヌムサむクルです。この間、参​​加者は勝぀か負けるかのどちらかです。



このようなカヌドは最倧10枚、぀たり最倧1000人のプレむダヌが同時にアクティブになるず予想したした。しかし実際には、ピヌク時には2000人以䞊のプレむダヌたたは20枚のカヌドがありたした。



なぜそれが起こったのですかなぜそんなに倚くのナヌザヌが突然ゲヌムに来たのですか



むリヌナこの話は、Facebookが広告䞻のポリシヌず矛盟するために広告アカりントを倧芏暡か぀自発的にブロックし始めた3月初旬に起こりたした。その埌、私たちを含む倚くの䌁業が広告オフィスを倱いたした。メむンオフィスず䞡方のバックアップオフィスが厩壊したした。そしお、私たちがゲヌムを宣䌝しなければならなかったたさにその瞬間に、これらすべおがありたした。



Facebookは、利甚可胜なデヌタに基づいおオヌディ゚ンスを遞択しおセグメント化するのが簡単であるため、䞻芁なプロモヌションチャネルの1぀です。そしお、䞞12日間、このチャネルにアクセスできなくなりたした。汗、血、涙でそれを返したずき、私たちはKPIに远い぀く必芁がありたした-䞻にペヌロッパの特定のゞオロケヌションの4500液䜓登録。



予算を抌し䞊げる以倖に遞択肢はありたせんでした。私たちは広告キャンペヌンをスピヌドアップしたした。



「予算を抌し䞊げる」ずはどういう意味ですか



むリヌナ最初に1日300〜500ドルを費やした堎合、ここでは1000を超えたし



た。通垞、広告キャンペヌンは数日間トレヌニングされ、その埌、可胜な限り収益性の高い方法で機胜し始めるこずを理解する必芁がありたす 。しかし、私たちの広告予算は通垞よりも倚かったので、キャンペヌンはより早く孊習し、2日目には本圓にクヌルな指暙を回転させ始めたした。ある時点で、私たちは圌女のコントロヌルを倱いたした。



䞀定のコンバヌゞョン率を期埅しおいたしたが、Facebookがオヌバヌクロックしたため、より単玔であるこずがわかりたした。このようなゲヌムの平均コンバヌゞョン率が玄8の堎合、ピヌク時には15に達したす。



涌しい



むリヌナそうですね、広告予算が​​倧きいずいうこずを理解したのはその時でした。確かに、これは西偎の堎合にのみ機胜したす。ロシアでは、それほど倚くのお金を費やす聎衆がいないだけです。



そしおもちろん、それはすべお金曜日に起こりたした。クラシック金曜日の倕方、ニキヌタからトラフィックが倚すぎお䜕かし​​なければならないずいうメッセヌゞが届きたした。



ニキヌタはどうやっおこれを知ったのですかこの信号はどこから来たのですか



ニキヌタ自動サヌバヌロヌド通知がありたす。これはそれがどのように芋えたかです







仮想マシン8コア、32 GBのメモリが50のしきい倀でCPUに90ロヌドされおいるずいうアラヌトが衚瀺されたす。



サヌビスは匕き続き機胜するため、これは重芁ではありたせん。プレむダヌにずっお、これは「コヌドの実行」ボタンを抌しお、実行を2倍埅぀こずを意味したす。しかし、それはたた、新しいプレヌダヌが入り続けるず、状況は悪化し、ダりンタむムに至るこずを意味したす。



その結果、最悪の結果は回避されたした-サヌビスは完党にダりンしたせんでしたか



ニキヌタ幞いなこずに、すべおが順調に終わりたした。



もちろん、就業時間の途䞭で状況が発生した堎合は、たったく心配する必芁はありたせん。そこで、迅速に察応できたす。しかし、金曜日の倜ではありたせん。金曜日の倜、あなたはバヌに行き、あなたの電話でこのメッセヌゞを受け取りたす。しかし、すべおを修正するには、電話をかけるだけでは十分ではありたせん。



どのように状況を管理したしたか



むリヌナ広告キャンペヌンのコストを70近く削枛したした。



埌で軌道に戻りたしたか



むリヌナいいえ、状況は予枬できなかったので、圌らはそれを同じ状態にしたせんでしたFacebookは毎日たすたすコンバヌゞョンを増やしおいたした。同じ速床でもう1週間回転しおいたら、おそらく倉換率はさらに高かったでしょう。しかし、英雄的な勝利は必芁なかったので、私たちは快適なレベルを回埩したした。ロヌドされたマップは玄10個で、サヌビスは静かに機胜しおいたした。



ニキヌタこの問題には他にも泚意が必芁です。プレむダヌのメッセヌゞに迅速に察応するよう努めおいたす。プレヌダヌが倚いほど、生成されるサポヌトリク゚ストも倚くなりたす。高いレベルのサヌビスを維持したかったのですが、サポヌトの量をそれほど早く増やす準備ができおいたせんでした。週末にピヌクを迎えるよりも、すべおをスムヌズか぀予枬どおりに行う方が賢明であるず刀断したした。



今回、あなたは広告キャンペヌンを抑制し、それによっお状況を救うこずに決めたした。通垞、技術的な芳点からスケヌリングの問題をどのように解決したすか



Nikitaサヌビスの远加むンスタンスを起動するこずでスケヌリングしおいたす。



この堎合、Kubernetesではなく、オヌトスケヌルもありたせん。仮想マシンのクロヌンを半手動モヌドで開始する必芁がありたす。VMがむメヌゞから再䜜成されるたで、最倧30分埅぀必芁がありたす。その埌、VMが期埅どおりに機胜し、VM䞊のすべおのサヌビスLSPサヌバヌ、コヌドランナヌが起動したこずを確認する必芁がありたす。その埌、新しいマシンぞのトラフィックのバランスを取り、ワヌクロヌドずステヌタスコヌドを匕き続き監芖したす。





SberCraftゲヌムのスクリヌンショット



結論ず蚈画



この事件の埌、どのように仕事を敎理したしたか



ニキヌタマヌケティングを蚈画するのに最適な方法を考え出したした。登録の量によっおどれだけの投資が行われるかです。



技術レベルでは、コヌド実行サヌビスをスケヌリングする新しい方法、理想的には自動スケヌリングが必芁であるず確信しおいたす。



コヌド実行サヌビスをステヌトレスにしストレヌゞシステムから独立、アヌキテクチャを少し倉曎し、むンフラストラクチャを倉曎したす。他のサヌビスが実行されるのず同じKubernetesを導入したす。



しかし、コヌド実行サヌビスの堎合、スキヌムはより耇雑です-他のものほど簡単に翻蚳するこずはできたせん。私たちはただすべおが正垞に機胜しおいるこずを確認しおいたす。



珟圚、コヌドはDigitalOceanで実行されおおり、Azureクラりドで実行されたす。 Kubernetesで。



KubernetesをサヌビスAzure Kubernetesサヌビスずしお䜿甚しおいたすか



ニキヌタはい。 Kubernetesをサヌビスずしお䜿甚しおおり、クラりド機胜オプションも怜蚎しおいたす。



AWS Lambdaはどうですか



ニキヌタはい、すべおの䞻芁なプロバむダヌがそれらを持っおいたす。圌らはあなたがコヌドを実行するのずたったく同じくらい支払うこずを可胜にしたす。ただし、ランタむム環境の機胜には技術的な制限がありたす。



珟圚、むンフラストラクチャを担圓しおいるのは誰ですか



NikitaDevOps、SREは非垞に広い領域であるため、私の資栌ずバック゚ンド開発者の資栌は必ずしも十分ではありたせん。たた、バック゚ンド開発者をむンシデントの任務に任せるこずはあたり正しくありたせん。そのため、今幎の初めに、以前は他のビゞネスで䞀緒に働いおいたDevOpsチヌムをアりト゜ヌシングしたした。



むンフラストラクチャおよびDevOpsチヌムずのコラボレヌションを始めたのはなぜですか



ニキヌタゲヌムの事件は、私たちが長い間認識しおいたが、実装する機䌚がなかった倉曎のきっかけずなりたした。



䌚瀟は成長し、同様のケヌスが発生し始めたした。これにより、確認されたした。そうです、DevOps゚ンゞニアが必芁です。拡匵しやすいむンフラストラクチャを䜜成する必芁がありたす。



このタスクは、2か月前にAzureから助成金を受け取ったずきに完党に凊理されたした。これたでに、倚くのサヌビスが新しいクラりドに移行したした。



人を雇うのではなく、なぜアりト゜ヌシングするこずにしたのですか



ニキヌタ私たち自身の経隓から、DevOpsは採甚が難しい分野であるこずがわかっおいたす。そしおここで、実瞟のある人がいるこずがわかりたした、そしお請負業者ず䞀緒に働くずいう圢は私たちにずっお非垞に䟿利です。



さお、そしお最も重芁なこずは、私たちは1人の゚ンゞニアではなく、24時間䜓制でサヌビスの可甚性を監芖し、ナヌザヌが発芋する前にむンシデントに察応する準備ができおいるチヌム党䜓を獲埗したこずです。



DevOpsチヌムは、すべおをれロからセットアップしおいたすか、それずもモニタリングを含め、それが䜕であったかを䜿甚しおいたすか



ニキヌタ私たちは倉䜍の道を歩みたした。新しいむンフラストラクチャで新しいプロゞェクトを開始し、そこにコアサヌビスを移行し、叀いむンフラストラクチャでプロゞェクトをサポヌトしたす。監芖を含め、すべおが新しいプロゞェクトにずっお新しいものです。



倉換の特城は、サヌビスのアヌキテクチャを再考する必芁があるこずです。新しい品質を埗るためにそれをどのように倉曎できるかを理解したした。



したがっお、バック゚ンド偎でも䜜業が行われおいたす。コヌドをリファクタリングし、アヌキテクチャを曎新したすが、かなりの量です。



では、今、新しいCI / CDプロセスをセットアップしおいたすか



たず、組織再線を行っおいたす。専任チヌムに察応する新しい圹割があり、コミュニケヌションの方法、タスクの蚭定が倉曎されたした。



CI / CDプロセスがあり、新しいむンフラストラクチャぞのロヌルオヌバヌを開始したばかりです。もちろん、改善は進んでいたすが、根本的には倉わりたせん。





ゲヌムSberCraftのスクリヌンショット



あなたは自分自身のためにどのようなグロヌバルな結論を出したしたか



プロゞェクトのラむフサむクルのさたざたな段階で、物事は異なりたす。 6か月前は、DevOpsチヌムの準備ができおいなかったでしょう。しかし今では、はるかに実質的に圌らずコミュニケヌションをずるこずができたす。私たちは自分たちの苊痛をはっきりず理解し、䜕かをする方法に぀いおの質問ず提案のリストを持っおみんなに来たした。それは良いコラボレヌションであるこずが刀明したした。私たちは䞀緒になっお、質の高い、根拠のある決定を䞋したした。



今埌、倚くの䜜業がありたす。移行プロセスにおけるコヌド実行サヌビスは、最も耇雑なサヌビスであるため、倚くの関䞎が必芁になりたす。しばらくの間、䞡方のバヌゞョンのサヌビスを本番環境で䜿甚し、それらの間のトラフィックのバランスを取りたす。すべおが正垞であるこずがわかったら、完党にAzureに切り替えたす。



, . , .



, , , .



21 «» , .



:

— ,

— ,

— ,

— ,

— .



Databricks, Mail.ru Cloud Solutions TangoMe.






All Articles