「管理者ず開発者の䞡方に利点がありたす」Odnoklassnikiクラりドに぀いおのOleg Anastasiev





パブリッククラりドは長い間誰にも驚かされおおらず、パブリッククラりドに぀いお䜕かを説明する必芁はほずんどありたせん。 プラむベヌトで、別の話誰もが自分の存圚に぀いお知っおいたすが、誰もがそれらに察凊する機䌚がなかったので、他の人の経隓はより興味深いです。



したがっお、Odnoklassnikiの「各サヌバヌには独自のタスクがある」ずいうアプロヌチから「必芁に応じおリ゜ヌスの単䞀プヌルを割り圓おる」ずいうクラりドアプロヌチぞの移行は、疑問を提起したした。 11幎の歎史を持぀このような倧芏暡なプロゞェクトを新しいシステムに移行するのは簡単ではありたせん。これらの人件費を支払うようになったきっかけは䜕ですか Odnoklassnikiでのクラりドの䜿甚は、公共サヌビスの䜿甚ずどのように異なりたすか このプロゞェクトがMesosやKubernetesなどの暙準゜リュヌションに適しおいないのはなぜですか。たた、独自のワンクラりドが䜜成されたした。



すでにHabrの読者になじみのあるOdnoklassnikov Oleg Anastasievの䞻芁な開発者が、これらの質問やその他の質問で答えおくれたした。



-「ビッグZのルヌル」があるこずを芚えおいたす。技術的なアクションは、「なぜ」ずいう質問に答える必芁がありたす。 では、なぜクラりドが必芁なのですか



-理由の䞀぀は次のずおりです。 腺で盎接操䜜するこずは、ほずんどの堎合、システム管理者たたはシステム信頌性゚ンゞニアの特暩であり、圌らをあなたが望むものず呌びたす。 開発者を本番環境に近づけたいず考えおいたす。 そしお、これを行うには、タンブルするものを䜕も䞎えずに、䞍必芁な官僚䞻矩から人々を救うような方法で、圌らに生産ず通信する方法を䞎える必芁がありたす。 そしお、これは問題を解決する1぀の方法です。



もう1぀の理由は、より高密床のサヌバヌ負荷を提䟛する胜力であり、デヌタセンタヌの䜿甚率が向䞊したす。



「通垞、圌らはこのコンテキストでクラりドず重いサヌバヌ負荷に぀いお蚀いたす「スタヌトアップが今日1,000人のナヌザヌを持ち、明日100䞇人のナヌザヌがいる堎合、必芁な量のリ゜ヌスでクラりドを迅速にスケヌルアりトしお䜿甚できたす。



しかし、Odnoklassnikiはもはやスタヌトアップではありたせん。芖聎者が突然倍増するこずはありたせん。その成長はより遅く、より予枬可胜です。 では、クラりドがなければ、高密床のサヌバヌ負荷が提䟛されず、必芁なだけ正確に各タスクに割り圓おられないのはなぜですか



-いく぀かの考慮事項がありたす。 たず、はい、芖聎者は倚かれ少なかれ安定しおいたすが、これはナヌザヌ数にのみ適甚されたす。負荷ははるかに速く増加したす。 珟圚、ビデオ特にラむブブロヌドキャストの消費が負荷の点で非垞に急速に増加しおいるずいう事実により、すでにかなり倧きな負荷がかかっおいるにもかかわらず、幎に2回成長しおいたす。



第二に、Odnoklassnikiは党䜓ずしお長い間存圚しおいたすが、かなりの数の異なる新補品が発売されおいたす。同じ攟送が比范的最近登堎し、グルヌプ管理者向けの倚くの新補品、個人発衚、音楜。 最埌に、TamTamメッセンゞャヌ。 そのような補品に぀いお、それらがどれほど成功するか、どれだけ早くスケヌリングする必芁があるかを事前に評䟡するこずは困難です。 たた、各サヌバヌがそのタスクに埓事しおいる堎合、割り圓おる必芁があるサヌバヌの数は明らかではありたせん。 これは、起動時の問題ず同じです。



そしお第䞉に、特定のサヌビスの負荷は極端に䞍均䞀になる可胜性があり、ピヌク時は通垞のものずは非垞に異なる可胜性がありたす。 たずえば、有名なフットボヌル攟送が行われるず、察応する負荷が10倍になり、そのためのリ゜ヌスを割り圓おる必芁がありたす。 たた、これらのピヌクモヌメントの䞀郚は事前に予枬できたせん。 これは倧きな課題であり、倧きな問題です。



-長所により、明確になりたした。 しかし、あなたは圌らのために短所に同意する必芁がありたしたか 以前に障害分離ず呌んだサヌバヌ間でタスクを分離した理由を考えおみたしょう。 フォヌルトトレランスは、珟圚そのような分離がないずいう事実に苊しんでいたすか



-圓然、魔法は存圚せず、いく぀かの劥協をしなければなりたせん。 たた、以前にタスク専甚のサヌバヌ党䜓があり、このサヌバヌに完党な眪がある堎合、぀たり、タスクを互いに完党に分離できないずいうリスクがありたす。 しかし、私が刀断できる限りでは、この堎合のシステムの党䜓的なフォヌルトトレランスは高くなっおいたす。 実際、シミュレヌトされおいない実際の倧芏暡な事故はこれを瀺すこずができたすが、これたでのずころ、圌らはただクラりドを䜿甚しおいたせん。



-なぜ今クラりドベヌスのアプロヌチの必芁性を感じたのですか 業界、特にOdnoklassnikiで䜕か倉わったこずはありたすか



-䞀緒になった芁因は3぀あるず思いたす。 倚かれ少なかれ新しいオヌプン゜ヌスのむンフラストラクチャ管理システムが䞖界に登堎し始め、これらのよく知られたコンポヌネントのうち、新しいシステムでDockerを䜿甚しおいたす。 むンフラストラクチャの拡匵を蚈画する際に、既存のデヌタセンタヌの堎所はたもなく終了するこずに気付きたした。新しいデヌタセンタヌを構築するか、既存のデヌタセンタヌに凝瞮する必芁がありたす。 そしお、この問題を最終的に解決するためにリ゜ヌスを解攟したした。



-Odnoklassniki芏暡のプロゞェクトの堎合、新しいシステムを䜜成するだけでなく、それに切り替えるこずも困難です。 この移行はどれほど面倒ですか たずえば、ナヌザヌのために倧芏暡なサむトで䜕かを倉曎する状況ず比范しお



-サむトの倉曎は技術的にはるかに簡単です。 集䞭構成システムでスむッチを匕くず、ナヌザヌは新しいシステムに移動したす。 たた、新しいクラりドぞの移行は別の倧きなプロセスであり、䌚瀟党䜓で努力をしなければなりたせん。



デヌタセンタヌの隣にあるクラりドず同じ倧きさのものをもう1぀眮いお、そこにすべおを転送するこずは経枈的に䞍可胜であるこずは明らかです。すでに皌働しおいる機噚を䜿甚する必芁がありたす。 したがっお、たすたす倚くのむンフラストラクチャをクラりドに導入するこずは、埐々に実行されおいる耇雑なタスクであり、「ただ実行しお実行する」こずはできたせん。









䞀方、開発者からのサポヌトも必芁です。コヌド内の䜕かを倉曎し、アプリケヌションのコンテナヌを䜜成する必芁がありたす玄700皮類のマむクロサヌビスがあるこずを考慮に入れる。䞀般に、これは倧きなプロセスです。 クラりドの最初のバヌゞョンは、1か月前ずはほど遠くに曞かれお発売されたしたが、システムはただクラりドに移行しおいたす。



-そしお、この「開発者からのサポヌト」を達成するのはどれほど簡単ですか-「ここで機胜を削枛する必芁がありたす。むンフラストラクチャの問題に気を取られたくないので、埌でクラりドに移行した方がいいです」。



-私は、人々自身が新しいシステムを䜿甚したくない堎合、叀いシステムず比范しお利点をもたらさない堎合、スティックで運転するこずはできないずいう明確な確信を持っおいたす。 たた、新しいクラりドには、管理者ず開発者の䞡方にずっお利点がありたす。



開発者には代替手段がありたす。 必芁なコンピュヌティング胜力を備えおいるため、クラりドで䜕かをすぐに起動するか、䜕らかの理由でクラりドに移行したくない堎合は、鉄のサヌバヌが必芁です。 ぀たり、誰かがデヌタセンタヌに行っおラックに接続し、構成するなどしお、1぀のデヌタセンタヌではなく、少なくずも3぀で行う必芁がありたすフォヌルトトレランスの芁件に埓っお、サヌビスは3぀のデヌタに分散する必芁がありたすセンタヌそしおそれは時間がかかりたす。



そしお、それに応じお、遞択を行いたす。補品をクラりドに転送しおすぐに起動するか、物理サヌバヌが実行するのを埅぀か、構成するなどです。 遞択は明らかです。 そしお、リ゜ヌスを最も必芁ずするチヌムは、あらゆる可胜な速床で移行しおいたす。



-䞖界䞭の倚くの倧䌁業がクラりドを䜜っおいたす。 そしお、条件付きAmazon AWSを䜿甚するだけの準備ができおいないのはなぜですか安䟡であるため、セキュリティを心配するため、たたは倧芏暡な制埡ずアクセスが必芁なためです。



「Amazonに行く人もいたす」ずクラりドコンピュヌティングの先駆者であるNetflixが蚀いたした。 ただし、AWSの䞊で、独自の自動むンフラストラクチャ管理システムを起動するず、AWS甚の独自のアドオンを䜿甚する方が䟿利であるずいう点に既に到達しおいたす。



しかし、いずれにしおも、それは䌚瀟が元々持っおいたものず珟圚の状況に䟝存したす。 䌚瀟には独自の鉄サヌバヌがありたすか むンフラストラクチャを開発できる専門家はいたすか すべおの䌁業がその道を遞択したすが、倚くは専門家の有無、圌らが始めた堎所、さらには地理的な堎所に䟝存したす。 ロシア垂堎に焊点を圓おたロシアの倧䌁業にずっお、アマゟンでのホスティングは単に銬鹿げたものになりたす。



-そしお、クラりドを䜿甚するOdnoklassnikiの埓業員にずっお、これは同じAWSを䜿甚するこずずどのように違いたすか



-Amazonはわずかに異なるシステムです。 圌女は幎䞊です圌らは最新の状態を維持しようずしたすが、AWS Lambdaのようなこずをし、最新の゜フトりェアを䜿甚したすが、倚くの遺産がありたす。 そしお、レガシヌではないため、私たちずは異なっお芋えたす。



さらに、AWSはさたざたなもののホスティングに適したナニバヌサル補品です。 普遍的な補品のように、特定のタスクのコンテキストではあたり䟿利ではありたせん。私たちが必芁ずせず、混乱させるだけのあらゆる皮類のものがたくさんありたす。



私たちは特定の補品を䜜っおいるので、それを䜿っお䜜業するのがより簡単で、管理がより理解しやすくなり、私たちはそれを通垞のやり方に自然に眮くこずができたす。 そのため、ホスティングだけでなく、クラりドの他のコンポヌネントも䜿甚したす。これらのコンポヌネントは、ナニバヌサル゜リュヌションから独自の゜リュヌションたずえば、1クラりドに移行したした。



-具䜓的には、秋に開催されるJokerずDevOopsのカンファレンスで詳しく説明する1クラりドに぀いおですが、今のずころ簡単に教えおください。



-これはデヌタセンタヌレベルのオペレヌティングシステムです。぀たり、タスクの説明を䜿甚しおむンフラストラクチャを自動的に管理できる倧芏暡な分散システムです「タスク」は幅広い抂念で、耇数のDCのサヌバヌに分散された数千のレプリカを含むこずができたす。 さらに、さたざたな障害が発生した堎合にタスクのパフォヌマンスを自動的に維持できたす。 最も単玔なケヌスで、サヌバヌがクラッシュした堎合、システムは必芁な数のレプリカを他のマシンに自動的に埩元するずしたす。



-そしお、この堎合、Kubernetesのような䞀般的なオヌプン゜ヌス゜リュヌションは、その汎甚性のために䜿甚したせんでしたか



-はい。 KubernetesずMesosの䞡方を調べたした。 通垞の圢匏の1番目ず2番目が、私たちが望むものに圓おはたらないこずは明らかでした。 私たちは必芁なものをどんどん差し出すこずができたす。 しかし、私たちはやらなければならない仕事、そしお私たち自身の執筆の仕事に感謝し、仕事の量はほが同じであるこずが刀明したした。 その結果、芁件ずむンフラストラクチャに察しお、より䟿利で理解しやすく、信頌性が高く、よりシャヌプになる独自のものを䜜成するこずにしたした。



-JavaカンファレンスずDevOpsカンファレンスの䞡方でワンクラりドに぀いお話すので、知りたいのですが、これらのレポヌトは異なりたすか



-はい。 DevOopsのレポヌトでは、プロセスに぀いお詳しく説明したす。クラりドたたは独自のデヌタセンタヌ管理システムがある堎合にDevOpsプロセスを構築する方法ず、フォヌルトトレランスを倱わない方法です。 たた、1台のマシンでタスクを確実に分離するこずに぀いお。 このような倧芏暡な分散システムではフォヌルトトレランスが非垞に重芁であるため、レポヌトのほずんどはその提䟛方法に関するものです。



Jokerでは、フォヌルトトレランスプロセスに぀いおはあたり行わず、こちら偎の埩元力が提䟛するクラりドが内郚にどのように配眮されるかに぀いおより倚くのこずを蚈画しおいたす。 さらに、コンテナ内のJavaアプリケヌションの操䜜に぀いお詳しく説明するずいう考えがありたす。 私たちのクラりドはおそらく、起動されたタスクの100がJavaで蚘述された唯䞀のものであり、Javaで蚘述した人に圹立぀経隓を持っおいるからです。



-ゞョヌカヌの堎合、予備報告蚈画は「sod」、「homorrh」、「gut」の項目で構成されたす。 ハヌドコアを期埅するこずはありたすか



-正盎なずころ、著者の1人ずしお、1぀のクラりドは歪んだ認識を持っおいるため、刀断するのは困難です。 䞀般的に、すべおが非垞に単玔であるように思えたすが、他の人は垞にこれに同意するずは限りたせん。 私自身は最終的に䜕が起こるのだろうか。







DevOopsずJokerの䞡方のカンファレンスが秋にサンクトペテルブルクで開催されたすDevOopsは10月20日、Jokerは11月3〜4日です。 䞡方のりェブサむトで、オレグのレポヌトに加えお、他に䜕があるかを芋るこずができたす-そしお、䞡方のりェブサむトであなたはすでにチケットを買うこずができたす。



All Articles