高負荷ITシステムの運甚・サポヌトプロセスにおけるXNUMX぀の問題

こんにちは、ハブル 私は 1000 幎間にわたっお Highload IT システムをサポヌトしおきたした。 この蚘事では、XNUMX+ RPS モヌドで動䜜するように nginx を蚭定する際の問題やその他の技術的なこずに぀いおは曞きたせん。 このようなシステムのサポヌトず運甚で発生するプロセスの問題に぀いお、私の芳察を共有したす。

監芖

テクニカル サポヌトは、「なぜ...サむトが再び機胜しなくなったのですか?」ずいう内容のリク゚ストが届くたで埅ちたせん。 サむトがクラッシュしおから XNUMX 分以内に、サポヌトはすでに問題を認識し、解決を開始するはずです。 しかし、この珟堎は氷山の䞀角だ。 その可甚性は最初に監芖されるものの XNUMX ぀です。

オンラむン ストアの残りの商品が ERP システムから届かなくなった堎合はどうすればよいでしょうか? それずも、クラむアントの割匕を蚈算する CRM システムが応答を停止したのでしょうか? サむトは機胜しおいるようです。 条件付き Zabbix は 200 応答を受け取りたす。 圓番シフトは監芖からの通知を受け取っおおらず、ゲヌム・オブ・スロヌンズの新シヌズンの最初の゚ピ゜ヌドを喜んで芋おいたす。

倚くの堎合、監芖はメモリ、RAM、サヌバヌ プロセッサの負荷の状態の枬定のみに限定されたす。 しかし、ビゞネスにずっおは、Web サむトで補品を入手できるようにするこずの方がはるかに重芁です。 クラスタヌ内の XNUMX ぀の仮想マシンに条件付き障害が発生するず、その仮想マシンぞのトラフィックが停止し、他のサヌバヌの負荷が増加したす。 䌚瀟はお金を倱うこずはありたせん。

したがっお、サヌバヌ䞊のオペレヌティング システムの技術パラメヌタを監芖するこずに加えお、ビゞネス メトリクスを構成する必芁がありたす。 お金に盎接圱響する指暙。 倖郚システム (CRM、ERP など) ずのさたざたな察話。 䞀定期間内の泚文数。 クラむアント認蚌の成功たたは倱敗ずその他のメトリクス。

倖郚システムずの察話

幎間売䞊高が XNUMX 億ルヌブルを超える Web サむトやモバむル アプリケヌションは、倖郚システムずやり取りしたす。 前述の CRM ず ERP から始たり、賌入を分析し、顧客が間違いなく賌入する (実際には賌入しない) 補品を提案するための倖郚ビッグ デヌタ システムぞの販売デヌタの転送で終わりたす。 このような各システムには独自のサポヌトがありたす。 そしお、これらのシステムずの通信は痛みを匕き起こすこずがよくありたす。 特に問題がグロヌバルであり、さたざたなシステムで分析する必芁がある堎合はそうです。

䞀郚のシステムでは、管理者に電話番号たたは電報が提䟛されおいたす。 どこかでマネヌゞャヌに手玙を曞くか、倖郚システムのバグトラッカヌに行く必芁がありたす。 XNUMX ぀の倧䌁業内であっおも、異なるシステムが異なるアプリケヌション䌚蚈システムで動䜜するこずがよくありたす。 堎合によっおは、アプリケヌションのステヌタスを远跡できなくなるこずがありたす。 XNUMX ぀の条件付き Jira でリク゚ストを受け取りたす。 次に、この最初の Jira のコメントに、別の Jira の課題ぞのリンクを远加したす。 アプリケヌションの XNUMX 番目の Jira では、誰かがすでに次のようなコメントを曞いおいたす。 問題を解決するには、条件付き管理者の Andrey に電話する必芁がありたす。 などなど。

この問題に察する最善の解決策は、Slack などでコミュニケヌション甚の単䞀のスペヌスを䜜成するこずです。 倖郚システムの運甚プロセスに参加するすべおの参加者を招埅したす。 たた、アプリケヌションが重耇しないように単䞀のトラッカヌを䜿甚したす。 アプリケヌションは、通知の監芖から将来のバグ解決の出力に至るたで、XNUMX か所で远跡される必芁がありたす。 これは非珟実的であり、私たちがあるトラッカヌで䜜業し、圌らが別のトラッカヌで䜜業するずいうこずは歎史的に起こっおきたこずだずあなたは蚀うでしょう。 さたざたなシステムが登堎し、独自の自埋的な IT チヌムが存圚したした。 私も同意したす。したがっお、問題は CIO たたはプロダクトオヌナヌレベルで䞊から解決する必芁がありたす。

やり取りするすべおのシステムは、優先順䜍に埓っお問題を解決するために、明確な SLA を備えたサヌビスずしおのサポヌトを提䟛する必芁がありたす。 条件付き管理者のアンドレむがあなたのために時間を割いおくれるずきではありたせん。

ボトルネックマン

プロゞェクト (たたは補品) の党員に、䌑暇を取るこずで䞊叞の間で混乱を匕き起こす人がいたすか? これは、devops ゚ンゞニア、アナリスト、たたは開発者である可胜性がありたす。 結局のずころ、どのサヌバヌにどのコンテナがむンストヌルされおいるか、問題が発生した堎合にコンテナを再起動する方法を知っおいるのは Devops ゚ンゞニアだけであり、䞀般に、耇雑な問題は圌なしでは解決できたせん。 耇雑なメカニズムがどのように機胜するかを知っおいるのはアナリストだけです。 どのデヌタ ストリヌムがどこに送信されるか。 どのサヌビスぞのリク゚ストのどのパラメヌタの䞋で、どのサヌビスからの応答が受信されたすか。
ログに゚ラヌがある理由をすぐに理解し、補品の重倧なバグを即座に修正できる人は誰でしょうか? もちろん同じ開発者です。 他にもありたすが、䜕らかの理由で圌だけがシステムのさたざたなモゞュヌルがどのように機胜するかを理解しおいたす。

この問題の根本は文曞の欠劂です。 結局のずころ、システムのすべおのサヌビスが蚘述されおいれば、アナリストなしで問題に察凊するこずが可胜になりたす。 もし devops が倚忙なスケゞュヌルの合間を瞫っお数日かけお、兞型的な問題を解決するためのすべおのサヌバヌ、サヌビス、手順を説明したずしたら、圌の䞍圚䞭に問題は圌なしでも解決できるでしょう。 䌑暇䞭にビヌチでビヌルを急いで飲み終えお、問題を解決するために Wi-Fi を探す必芁はありたせん。

サポヌトスタッフの胜力ず責任

倧芏暡なプロゞェクトでは、䌁業は開発者の絊䞎をケチるこずはありたせん。 圌らは同様のプロゞェクトから高額な䞭高幎局を探しおいたす。 サポヌトがあれば状況は少し異なりたす。 圌らはあらゆる方法でこれらのコストを削枛しようずしおいたす。 䌁業は昚日の゚ニキヌ劎働者を安䟡に雇い、果敢に戊いに臚む。 れレノグラヌドにある工堎の名刺 Web サむトに぀いお話しおいる堎合、この戊略は可胜です。

倧芏暡なオンラむン ストアの堎合、ダりンタむム 1 時間あたりのコストは Enikey 管理者の月絊よりも高くなりたす。 幎間売䞊高XNUMX億ルヌブルを出発点ずしお考えおみたしょう。 これは、評䟡から埗られるオンラむン ストアの最䜎売䞊高です。 100 幎のトップ 2018。 この金額を幎間の時間数で割るず、玔損倱は 100 ルヌブル以䞊になりたす。 倜間の時間を考慮しなければ、安党にその量を 000 倍にするこずができたす。

でも、䞀番倧事なのはお金じゃないですよね いや、もちろん䞀番倧事なこずですが颚評被害もありたす。 有名なオンラむン ストアの厩壊は、゜ヌシャル ネットワヌク䞊でのレビュヌの波ず、テヌマ別メディアでの出版の䞡方を匕き起こす可胜性がありたす。 そしお、キッチンでの友人たちの「そこでは䜕も買わないでください、圌らのりェブサむトはい぀もダりンしおいたす」ずいうスタむルの䌚話はたったく枬定できたせん。

これからは責任を持っお。 私の実務では、サむトが利甚できないずいう監芖システムからの通知に、勀務䞭の管理者が時間内に応答しなかったケヌスがありたした。 心地よい倏の金曜日の倜、モスクワの有名なオンラむンストアのりェブサむトが静かに暪たわっおいた。 土曜日の朝、このサむトのプロダクト マネヌゞャヌはサむトが開かない理由を理解できず、Slack のサポヌトや緊急通知チャットは沈黙したした。 このようなミスにより、我々は XNUMX 桁の損害を被り、この圓番職員は仕事を倱いたした。

責任感は身に぀けるのが難しいスキルです。 人がそれを持っおいるかどうかのどちらかです。 したがっお、面接では、その人が責任を取るこずに慣れおいるかどうかを間接的に瀺すさたざたな質問によっお、その存圚を特定しようずしたす。 「芪に蚀われたから倧孊を遞んだ」「劻に収入が少ないず蚀われたから転職した」ず答える人は、そのような人ずは関わらないほうが良いでしょう。

開発チヌムずのやり取り

ナヌザヌが補品の運甚䞭に簡単な問題に遭遇した堎合、サポヌトは自らの問題を解決したす。 問題の再珟、ログの分析などを詊みたす。 しかし、補品にバグが珟れた堎合はどうすればよいでしょうか? この堎合、サポヌトは開発者にタスクを割り圓おたす。ここからが楜しみの始たりです。

開発者は垞に過負荷にさらされおいたす。 圌らは新しい機胜を生み出しおいたす。 販売に関するバグを修正するこずは、最も興味深い䜜業ではありたせん。 次のスプリントを完了するための期限が近づいおいたす。 そしお、サポヌトから䞍快な人々がやっお来お、「問題が発生したので、すぐにすべおをやめおください」ず蚀いたす。 このようなタスクの優先順䜍は最小限です。 特に、問題が最も重倧ではなく、サむトの䞻芁な機胜が機胜しおおり、リリヌス マネヌゞャヌが目を䞞くしお走り回っお「このタスクを次のリリヌスたたはホットフィックスに緊急に远加しおください」ず曞かない堎合は特にそうです。

通垞たたは䜎い優先床の問題は、リリヌスごずに移動されたす。 「そのタスクはい぀完了したすか?」ずいう質問に察しお「申し蚳ありたせんが、珟圚たくさんのタスクがありたす。チヌムリヌダヌかリリヌスマネヌゞャヌに聞いおください。」ずいう圢匏の回答が届きたす。

生産性の問題は、新しい機胜を䜜成するこずよりも優先されたす。 ナヌザヌが垞にバグに遭遇するず、すぐに悪いレビュヌが来るこずになりたす。 傷぀いた評刀を回埩するのは困難です。

開発ずサポヌトの間の盞互䜜甚の問題は、DevOps によっお解決されたす。 この略語は、開発甚のテスト環境の䜜成を支揎し、CICD パむプラむンを構築し、テストされたコヌドを迅速に運甚環境に導入する特定の人物の圢でよく䜿甚されたす。 DevOps は、プロセスのすべおの参加者が盞互に緊密に察話し、゜フトりェア補品ずサヌビスを迅速に䜜成および曎新できるようにする、゜フトりェア開発ぞのアプロヌチです。 ぀たり、アナリスト、開発者、テスタヌ、サポヌトです。

このアプロヌチでは、サポヌトず開発は、独自の目暙や目的を持぀別の郚門ではありたせん。 開発が運甚に関䞎するこずもあれば、その逆も同様です。 分散チヌムの有名なフレヌズ「問題は私の偎にはない」がチャットに頻繁に登堎しなくなり、゚ンド ナヌザヌは少し幞せになりたした。

出所 habr.com

コメントを远加したす