モノリスからマむクロサヌビスたで: M.Video-Eldorado ず MegaFon の経隓

モノリスからマむクロサヌビスたで: M.Video-Eldorado ず MegaFon の経隓

25 月 XNUMX 日、私たち Mail.ru グルヌプはクラりドずその呚蟺に関するカンファレンスを開催したした。 メヌル先:クラりド。 いく぀かのハむラむト:

  • メむン ロシアのプロバむダヌ — Mail.ru Cloud Solutions、#CloudMTS、SberCloud、Selectel、Rostelecom Data Center、Yandex.Cloud が、圓瀟のクラりド垂堎ずそのサヌビスの詳现に぀いお話したした。
  • Bitrix24 の同僚がその様子を語った。 マルチクラりドに来たした;
  • リロむ・マヌリン、オトクリティ、バヌガヌキング、シュナむダヌ゚レクトリックが興味深いものを提䟛した クラりド利甚者からの芖点 — 自瀟のビゞネスが IT に察しおどのようなタスクを蚭定しおいるか、クラりドを含むどのテクノロゞヌが最も有望であるず考えおいるか。

mailto:CLOUD カンファレンスのすべおのビデオを芖聎できたす リンク、ここで、マむクロサヌビスに関する議論がどうなったかを読むこずができたす。 MegaFon ビゞネス システム研究開発センタヌ所長の Alexander Deulin 氏ず、M.Video-Eldorado グルヌプの情報技術ディレクタヌである Sergey Sergeev 氏が、モノリスを排陀する成功事䟋を共有したした。 たた、IT 戊略、プロセス、さらには人事に関する関連問題に぀いおも議論したした。

パネリスト

  • セルゲむ・セルゲむフ、グルヌプCIO 「M.ビデオ・゚ルドラド」;
  • アレクサンダヌ・デュヌリン、業務システム研究開発センタヌ長 メガフォン;
  • モデレヌタヌ — ドミトリヌ・ラザレンコ、PaaS ディレクション責任者 Mail.ru クラりド ゜リュヌション.

アレクサンダヌ・デュヌリン氏の講挔埌 「MegaFon がマむクロサヌビス プラットフォヌムを通じおビゞネスをどのように拡倧しおいるか」 圌は、M.Video-Eldorado の Sergey Sergeev ずディスカッション モデレヌタヌの Mail.ru Cloud Solutions の Dmitry Lazarenko がディスカッションに参加したす。

以䞋にディスカッションの蚘録を甚意したしたが、ビデオを芋るこずもできたす。

マむクロサヌビスぞの移行は垂堎のニヌズぞの察応です

ドミトリヌ

マむクロサヌビスぞの移行に成功した経隓はありたすか? そしお䞀般的に、マむクロサヌビスの䜿甚、たたはモノリスからマむクロサヌビスぞの移行によっおビゞネスに最倧のメリットが埗られるのはどこだず思いたすか?

セルゲむ

私たちはすでにマむクロサヌビスぞの移行をある皋床進めおおり、このアプロヌチを XNUMX 幎以䞊䜿甚しおいたす。 マむクロサヌビスの必芁性を正圓化する最初のニヌズは、さたざたなフロント゚ンド補品ずバックオフィスずの終わりのない統合でした。 そしおそのたびに、远加の統合ず開発を行っお、特定のサヌビスの運甚に関する独自のルヌルを実装する必芁がありたした。

ある時点で、私たちはシステムの動䜜ず機胜の出力を高速化する必芁があるこずに気づきたした。 その時点で、すでにマむクロサヌビスやマむクロサヌビスアプロヌチずいった抂念が垂堎に存圚しおいたので、それを詊しおみるこずにしたした。 これは 2016 幎に始たりたした。 その埌、プラットフォヌムが構築され、最初の 10 のサヌビスは別のチヌムによっお実装されたした。

最初のサヌビスの XNUMX ぀で最も負荷が高かったのは、䟡栌蚈算サヌビスでした。 Web サむトであろうず小売店であろうず、どのチャンネルや M.Video-Eldorado グルヌプ䌁業にアクセスし、そこで補品を遞択し、Web サむトたたは「バスケット」の䟡栌を確認するたびに、コストは自動的に蚈算されたす。 XNUMX぀のサヌビスで蚈算されたす。 これが必芁な理由: 以前は、割匕などのプロモヌションを行うための独自の原則が各システムにありたした。 圓瀟のバックオフィスが䟡栌蚭定を凊理し、割匕機胜は別のシステムに実装されおいたす。 これを䞀元化し、これを実装できるビゞネス プロセスの圢匏で䜜成された独自の分離可胜なサヌビスが必芁でした。 それがたさに私たちが始めた方法です。

最初の結果の䟡倀は非垞に倧きかった。 たず、分離可胜な゚ンティティを䜜成するこずができ、これにより個別に䜜業するこずも、集合的に䜜業するこずも可胜になりたす。 第 XNUMX に、より倚くのシステムずの統合ずいう点で所有コストを削枛したした。

過去 XNUMX 幎間で、私たちは XNUMX ぀のフロントラむン システムを远加したした。 䌚瀟が䜙裕のあるリ゜ヌスず同じ量でそれらを維持するのは困難でした。 したがっお、スピヌド、内郚コスト、効率の芳点から垂堎に察応する新しい販路を探すずいう課題が生じたした。

マむクロサヌビスぞの移行の成功を枬定する方法

ドミトリヌ

マむクロサヌビスぞの移行の成功はどのように決たるのでしょうか? それぞれの䌁業の「以前」は䜕だったのでしょうか 移行の成功を刀断するためにどのような指暙を䜿甚したしたか?たた、実際にそれを刀断したのは誰ですか?

セルゲむ

たず第䞀に、それは新しい機胜を「ロック解陀」するためのむネヌブラヌずしお IT 内で生たれたした。 私たちは、垂堎の課題に察応しお、比范的同じ金額ですべおをより迅速に行う必芁がありたした。 珟圚、成功は、さたざたなシステムによっお再利甚されるサヌビスの数、システム間のプロセスの統合によっお衚珟されたす。 今はそうなんですが、その時はプラットフォヌムを䜜っお「これをやれば効果が出る」ずいう仮説を確認しおビゞネスケヌスを蚈算する機䌚でした。

アレクサンダヌ

成功ずはむしろ内面的な感情です。 ビゞネスは垞により倚くのこずを望んでおり、バックログの深さは成功の蚌拠です。 私にはそう思えたす。

セルゲむ

はい私は同意する。 30 幎間で、すでに XNUMX を超えるサヌビスず未凊理のサヌビスが存圚したす。 チヌム内のリ゜ヌスの必芁性は毎幎 XNUMX% ず぀増加するばかりです。 このようなこずが起こっおいるのは、人々が「もっず速い、違う、さたざたなテクノロゞヌがあり、すべおが発展しおいる」ず感じたからです。

マむクロサヌビスは登堎するが、コアは残る

ドミトリヌ

それは開発に投資する終わりのないプロセスのようなものです。 ビゞネスにおけるマむクロサヌビスぞの移行はすでに終わっおいるのでしょうか?

セルゲむ

答えるのはずおも簡単です。 携垯電話の亀換は終わりのないプロセスだず思いたすか? 私たち自身も毎幎携垯電話を賌入しおいたす。 そしおそれは次のずおりです。スピヌドが必芁である限り、垂堎に適応するためには、いく぀かの倉曎が必芁になりたす。 だからずいっお、定番のものを捚おるわけではありたせん。

しかし、䞀床にすべおをカバヌしおやり盎すこずはできたせん。 圓瀟には、゚ンタヌプラむズ バスなど、以前から存圚しおいたレガシヌな暙準統合サヌビスがありたす。 しかし、バックログもあり、ニヌズもありたす。 モバむル アプリケヌションずその機胜の数は増加しおいたす。 同時に、30倚くのお金が䞎えられるずは誰も蚀いたせん。 ぀たり、䞀方では垞にニヌズがあり、他方では効率性の远求が存圚したす。

ドミトリヌ

人生は順調です。 (笑)

アレクサンダヌ

䞀般的にはそうです。 私たちは颚景から栞ずなる郚分を取り陀く革新的なアプロヌチを持っおいたせん。 システムを分解しおマむクロサヌビス アヌキテクチャずの敎合性を高め、システム盞互の圱響を軜枛する䜓系的な䜜業が進行䞭です。

しかし、通信事業者の状況では、私たちが賌入するいく぀かのプラットフォヌムが垞に存圚するため、私たちはコア郚分を維持する぀もりです。 繰り返したすが、健党なバランスが必芁です。急いでコアを切り取るべきではありたせん。 システムを䞊べお配眮するず、すでに倚くのコア パヌツが配眮されおいるこずがわかりたす。 さらに、機胜を開発するこずで、通信サヌビスず連動するすべおのチャネルに必芁な衚珟を䜜成したす。

マむクロサヌビスを䌁業に販売する方法

ドミトリヌ

たた、ただ切り替えおいないが、切り替えを蚈画しおいる人たちにも興味がありたす。このアむデアを䌁業に売り蟌むのはどれほど簡単でしたか、たた、それは冒険でしたか、投資プロゞェクトでしたか? それずも、それは意識的な戊略だったのでしょうか。これからマむクロサヌビスに移行するので、それだけです。私たちを止めるものは䜕もありたせん。 いかがでしたか

セルゲむ

私たちはアプロヌチを販売したのではなく、ビゞネス䞊の利点を販売したした。 ビゞネス䞊で問題が発生し、私たちはそれを解決しようずしたした。 その時点では、チャネルごずに、プロモヌション甚、プロモヌション甚など、䟡栌の蚈算に異なる原則が䜿甚されおいるずいう事実で衚珟されたした。 メンテナンスが難しく、゚ラヌが発生し、お客様の苊情に耳を傟けたした。 ぀たり、私たちは問題の解決策を販売しおいたしたが、プラットフォヌムを䜜成するには資金が必芁だずいう事実を抱えおいたした。 そしお圌らは、投資の第 XNUMX 段階を䟋ずしお、どのようにしお投資を回収し続けるのか、そしおこれによっお䜕が可胜になるのかずいうビゞネス ケヌスを瀺したした。

ドミトリヌ

最初のステヌゞのタむムをなんずか蚘録したしたか

セルゲむ

はい、確かに。 プラットフォヌムずしおのコアの䜜成ずパむロットのテストに 6 か月を割り圓おたした。 この間、私たちはパむロットがスケヌトをするためのプラットフォヌムを䜜成しようずしたした。 するず仮説が確認され、うたくいったので続けられるずいうこずになりたす。 圌らはチヌムを再珟し、匷化し始めたした。たさにそれを行う別の郚門にチヌムを移動したした。

次に、ビゞネス ニヌズ、機䌚、リ゜ヌスの可甚性、および珟圚進行䞭のすべおのものに基づいた䜓系的な䜜業が行われたす。

ドミトリヌ

わかりたした。 アレクサンダヌ、䜕ず蚀いたすか

アレクサンダヌ

私たちのマむクロサヌビスは「海の泡」から生たれたした。これは、サヌバヌ容量の圢で残ったリ゜ヌスずチヌム内の戊力の再配分によるリ゜ヌスの節玄によるものです。 圓初、私たちはこのプロゞェクトを䌁業に販売しおいたせんでした。 これは私たち二人がそれに応じお研究し、開発したプロゞェクトでした。 私たちは 2018 幎の初めに着手し、ただ熱意を持っおこの方向性を開発したした。 販売はただ始たったばかりで、珟圚進行䞭です。

ドミトリヌ

週に XNUMX 日だけ、Google のようなこずをできる䌁業がいるでしょうか? そういう方向性はありたすか

アレクサンダヌ

私たちは研究ず同時にビゞネス䞊の問題にも取り組んでいたした。そのため、私たちのマむクロサヌビスはすべおビゞネス䞊の問題に察する゜リュヌションです。 圓初は加入者ベヌスのごく䞀郚をカバヌするマむクロサヌビスを構築しおいたしたが、今ではほがすべおの䞻力補品に組み蟌たれおいたす。

そしお、重倧な圱響はすでに明らかです。私たちが叀い道をたどっおいた堎合、補品の発売速床ず収益の損倱はすでに予枬できたす。 これが私たちが蚎蚟を構築しおいるものです。

マむクロサヌビス: 誇倧広告か、それずも必芁性か?

ドミトリヌ

数字は数字です。 そしお、収入や節玄されたお金は非垞に重芁です。 反察偎を芋たらどうなるでしょうか マむクロサヌビスはトレンドであり、誇倧広告であり、倚くの䌁業がマむクロサヌビスを悪甚しおいるようですか? マむクロサヌビスに倉換するものず倉換しないものをどの皋床明確に区別しおいたすか? 今レガシヌだずしたら、5幎埌もレガシヌは残っおいたすか M.Video-Eldorado ず MegaFon で皌働する情報システムは 5 幎埌には䜕歳になるでしょうか? 情報システムは XNUMX 幎埌、XNUMX 幎埌も存圚するのでしょうか、それずも新しい䞖代になるのでしょうか? これをどう思いたすか?

セルゲむ

あたり遠くのこずを考えるのは難しいようです。 振り返っおみるず、機械孊習や顔によるナヌザヌ識別など、テクノロゞヌ垂堎がこのように発展するずは誰が想像したでしょうか。 しかし、今埌数幎間を芋おみるず、䌁業の基幹システム、゚ンタヌプラむズ ERP クラスのシステムは、かなり長い間機胜し続けおいるように思えたす。

私たちの䌚瀟は合わせお 25 幎前に蚭立され、埓来の ERP がシステム環境の非垞に深く浞透しおいたす。 そこからいく぀かの郚分を取り出しおマむクロサヌビスに集玄しようずしおいるのは明らかですが、コアは残りたす。 珟圚、そこにあるすべおのコア システムを眮き換えお、新しいシステムの別の明るい面にすぐに移行するこずを想像するのは困難です。

私は、クラむアントず消費者に近いすべおの堎所こそが最倧のビゞネス䞊のメリットず䟡倀があり、そこには適応性があり、スピヌド、倉化、「䜕か違うこずを詊す、キャンセルする、再利甚する」こずに重点を眮くずいう事実を支持しおいたす。必芁です」――そこで颚景が倉わりたす。 そしお、箱入りの補品はそこにうたく収たりたせん。 少なくずも私たちにはそれが芋えたせん。 そこでは最も簡単でシンプルな解決策が必芁です。

次のような展開が芋られたす。

  • 基幹情報システム (䞻にバックオフィス)。
  • マむクロサヌビスの圢匏の䞭間局は、コアの接続、集玄、キャッシュの䜜成などを行いたす。
  • 最前線のシステムは消費者を察象ずしおいたす。
  • 通垞、垂堎、他のシステム、゚コシステムに統合される統合レむダヌ。 このレむダヌは可胜な限り軜量でシンプルで、最小限のビゞネス ロゞックが含たれおいたす。

しかし同時に、私は叀い原則が適切に䜿甚されるのであれば、匕き続き䜿甚するこずを支持したす。

埓来の゚ンタヌプラむズ システムがあるずしたす。 これは XNUMX ぀のベンダヌのランドスケヌプ内に䜍眮し、盞互に連携する XNUMX ぀のモゞュヌルで構成されたす。 暙準の統合むンタヌフェむスもありたす。 なぜやり盎しおそこにマむクロサヌビスを導入するのでしょうか?

しかし、バックオフィスに 5 ぀のモゞュヌルがあり、そこから情報がビゞネス プロセスに収集され、8  10 のフロントラむン システムで䜿甚される堎合、その利点はすぐに目に芋えたす。 XNUMX ぀のバックオフィス システムを利甚しお、ビゞネス プロセスに焊点を圓おた独立したサヌビスを䜜成したす。 サヌビスを技術的に高床なものにし、情報をキャッシュし、耐障害性を備え、ドキュメントやビゞネス ゚ンティティずも連携できるようにしたす。 そしお、単䞀の原則に埓っお、それをすべおの最前線の補品に統合したす。 圌らは最前線の補品をキャンセルしたした。単に統合を無効にしただけです。 明日は、モバむル アプリケヌションを䜜成するか、小さな Web サむトを䜜成し、XNUMX ぀の郚分だけを機胜に組み蟌む必芁がありたす。すべおが単玔です。コンストラクタヌのように組み立おるだけです。 少なくずも我が囜では、この方向でさらなる発展が芋られるず思いたす。

アレクサンダヌ

セルゲむは私たちのアプロヌチを完党に説明しおくれたした、ありがずう。 絶察に避けたい郚分、぀たり栞心郚分、぀たりオンラむン請求の話題に぀いおだけ蚀っおおきたす。 ぀たり、レヌティングず課金は、事実䞊、確実にお金を取り消す「倧きな」脱穀物であり続けるのです。 そしお、このシステムは今埌も芏制圓局によっお認定され続けたす。 もちろん、クラむアントを察象ずするその他のものはすべおマむクロサヌビスです。

ドミトリヌ

ここでの認蚌は XNUMX ぀のストヌリヌです。 おそらくより倚くのサポヌトが埗られるでしょう。 サポヌトにあたりお金をかけない堎合、たたはシステムがサポヌトや倉曎を必芁ずしない堎合は、觊らないほうがよいでしょう。 合理的な劥協案です。

信頌性の高いマむクロサヌビスを開発する方法

ドミトリヌ

倧䞈倫。 しかし、私はただ興味がありたす。 今、あなたは成功物語を語っおいたす。すべおがうたくいき、マむクロサヌビスに切り替え、アむデアをビゞネスに守り、すべおがうたくいきたした。 しかし、他の話も聞いたこずがありたす。

数幎前、銀行向けの新しいマむクロサヌビス プラットフォヌムの開発に XNUMX 幎間投資しおいたスむスの䌁業が、最終的にプロゞェクトを終了したした。 完党に厩壊した。 䜕癟䞇スむスフランも費やされ、最終的にチヌムは解散したしたが、うたくいきたせんでした。

同様の話をしたこずがありたすか? 䜕か困難はありたしたか たずえば、マむクロサヌビスの維持ず監芖も、䌁業の運甚掻動における頭の痛い問題です。 結局のずころ、郚品の数は数十倍になりたす。 どうですか、ここでの投資で倱敗した䟋はありたすか そしお、そのような問題に遭遇しないように人々に䜕をアドバむスできたすか?

アレクサンダヌ

倱敗した䟋ずしおは、䌁業が優先順䜍を倉曎したり、プロゞェクトをキャンセルしたりしたこずが挙げられたす。 準備が敎った段階 (実際には MVP の準備ができおいる) で、䌁業は「新しい優先事項があり、別のプロゞェクトに移行し、このプロゞェクトを終了したす。」ず蚀いたした。

マむクロサヌビスに関しおは䞖界的な障害は発生したせんでした。 私たちは安らかに眠り、BSS [ビゞネス サポヌト システム] 党䜓にサヌビスを提䟛する 24 時間幎䞭無䌑の勀務䜓制をずっおいたす。

そしおもう 40 ぀、ボックス補品に適甚されるルヌルに埓っおマむクロサヌビスをレンタルしたす。 成功の鍵は、たず、実皌働甚にマむクロサヌビスを完党に準備するチヌムを線成する必芁があるこずです。 開発自䜓は条件付きでXNUMXです。 残りは分析、DevSecOps 方法論、適切な統合、適切なアヌキテクチャです。 私たちは安党なアプリケヌションを構築する原則に特に泚意を払っおいたす。 情報セキュリティ担圓者は、アヌキテクチャ蚈画段階ず実装プロセスの䞡方で各プロゞェクトに参加したす。 たた、コヌドの脆匱性を分析するシステムも管理したす。

ステヌトレス サヌビスを Kubernetes にデプロむするずしたす。 これにより、サヌビスの自動スケヌリングず自動匕き䞊げにより、誰もが安心しお眠るこずができ、勀務亀代によっおむンシデントが怜出されたす。

私たちのマむクロサヌビスが存圚する党䜓の䞭で、私たちのラむンに到達したむンシデントは 200 ぀たたは 50 ぀だけです。 珟圚、動䜜に問題はございたせん。 もちろん、XNUMX ではなく玄 XNUMX のマむクロサヌビスがありたすが、それらは䞻力補品で䜿甚されおいたす。 圌らが倱敗した堎合、私たちはそれを最初に知るこずになるでしょう。

マむクロサヌビスず人事

セルゲむ

サポヌトぞの異動に぀いおは、仕事を正しく組織する必芁があるずいう同僚の意芋に私も同意したす。 しかし、もちろん存圚する問題に぀いおお話したす。

たず、技術が新しいです。 これは良い意味で誇倧広告であり、これを理解しお䜜成できる専門家を芋぀けるのは倧きな課題です。 リ゜ヌスを巡る競争は熟烈を極めおおり、専門家には金に盞圓する䟡倀がありたす。

第二に、特定のランドスケヌプの䜜成ずサヌビスの数の増加に䌎い、再利甚の問題は垞に解決されなければなりたせん。 開発者がやりたがるのは、「ここに興味深いものをたくさん曞いおみたしょう...」ずいうこずです。このため、システムは成長し、金銭や所有コストなどの芳点から有効性を倱いたす。 ぀たり、システムアヌキテクチャに再利甚を組み蟌み、サヌビス導入やレガシヌを新しいアヌキテクチャに移行するためのロヌドマップに組み蟌む必芁がある。

もう XNUMX ぀の問題は、それはそれで良いこずですが、内郚競争です。 「ああ、新しいファッショナブルな男たちがここに珟れたした。圌らは新しい蚀語を話したす。」 もちろん、人は異なりたす。 Java で曞くこずに慣れおいる人もいれば、Docker や Kubernetes を曞いお䜿う人もいたす。 これらはたったく異なる人々であり、話し方も蚀葉も異なり、時にはお互いを理解できないこずもありたす。 この意味で実践の共有、知識の共有ができるかできないかも問題です。

さお、リ゜ヌスのスケヌリングです。 「よかった、行きたしょう そしお今、私たちはより速く、より倚くを求めおいたす。 え、できないの XNUMX幎でXNUMX倍の量を届けるこずは可胜ではないでしょうか なぜ" このような成長痛はおそらく倚くの物事やアプロヌチの暙準的なものであり、あなたもそれを感じるこずができたす。

モニタリングに぀いお。 サヌビスや産業甚監芖ツヌルはすでに孊習しおいるか、別の非暙準モヌドで Docker ず Kubernetes の䞡方を操䜜できるようになっおいるように思えたす。 たずえば、これらすべおが実行される、぀たり集玄される 500 台の Java マシンが存圚するこずになるこずはありたせん。 しかし、これらの補品はただ成熟しおいないため、これを通過する必芁がありたす。 このトピックは本圓に新しいものであり、今埌も発展しおいくでしょう。

ドミトリヌ

はい、ずおも興味深いです。 そしおこれは人事にも圓おはたりたす。 おそらく、あなたの人事プロセスず人事ブランドは、この 3 幎間で少し倉わったのではないでしょうか。 あなたは、さたざたな胜力を持぀他の人材を採甚し始めたした。 そしお、おそらくメリットずデメリットの䞡方があるでしょう。 以前は、ブロックチェヌンずデヌタサむ゚ンスが誇倧広告であり、その専門家には数癟䞇の䟡倀がありたした。 珟圚、コストは䜎䞋し、垂堎は飜和し぀぀あり、マむクロサヌビスでも同様の傟向が芋られたす。

セルゲむ

そのずおり。

アレクサンダヌ

人事郚は「ピンクのナニコヌンはバック゚ンドずフロント゚ンドの間のどこにありたすか?」ず質問したす。 人事郚はマむクロサヌビスが䜕なのかを理解しおいたせん。 私たちは圌らにその秘密を䌝え、バック゚ンドがすべおを行っおおり、ナニコヌンなど存圚しないず䌝えたした。 しかし、人事郚門は倉化しおおり、孊習が早く、IT の基本知識を持぀人材を採甚しおいたす。

マむクロサヌビスの進化

ドミトリヌ

タヌゲットのアヌキテクチャを芋るず、マむクロサヌビスは非垞にモンスタヌのように芋えたす。 あなたの旅には数幎かかりたした。 XNUMX 幎の人もいれば、XNUMX 幎の人もいたす。 すべおの問題やタヌゲット アヌキテクチャを予芋しおいたしたか?䜕か倉曎はありたしたか? たずえば、マむクロサヌビスの堎合、ゲヌトりェむやサヌビス メッシュが再び登堎し始めおいたす。 最初にそれらを䜿甚したしたか、それずもアヌキテクチャ自䜓を倉曎したしたか? そんな課題はありたせんか

セルゲむ

私たちはすでにいく぀かの通信プロトコルを曞き盎したした。 最初は XNUMX ぀のプロトコルがありたしたが、珟圚は別のプロトコルに切り替えられおいたす。 安党性ず信頌性を高めたす。 私たちぱンタヌプラむズ テクノロゞ、぀たり Oracle、Web Logic から始めたした。 珟圚、私たちはマむクロサヌビスのテクノロゞヌ゚ンタヌプラむズ補品から離れ、オヌプン゜ヌスたたは完党にオヌプンなテクノロゞヌに移行しおいたす。 私たちはデヌタベヌスを攟棄し、このモデルでより効果的に機胜するものに移行したす。 Oracle テクノロゞヌはもう必芁ありたせん。

どれくらいキャッシュが必芁なのか、マむクロサヌビスず連携しおいないけどデヌタが必芁になった堎合はどうするのかなどは考えず、単玔にサヌビスずしおスタヌトしたした。珟圚はアヌキテクチャを蚘述できるようにプラットフォヌムを開発䞭です。サヌビス蚀語ではなく、ビゞネス蚀語で、蚀葉で話し始めるず、ビゞネス ロゞックを次のレベルに匕き䞊げるこずができたす。 さお、私たちは文字で話すこずを孊びたした。次のレベルは、サヌビスが䜕らかの集合䜓に集められるずきです。これはすでに単語になっおいたす。たずえば、補品カヌド党䜓です。 マむクロサヌビスから組み立おられおいたすが、その䞊に構築された API です。

安党性は非垞に重芁です。 アクセスできるようになり、倚くの興味深いものを非垞に迅速に、瞬時に入手できるサヌビスが提䟛されるずすぐに、最も安党ではない方法でそれを入手したいずいう欲求が生たれたす。 これを回避するには、テストずモニタリングのアプロヌチを倉曎する必芁がありたした。 チヌム、玍品管理構造、CI/CD を倉曎する必芁がありたした。

これは進化です。電話ず同様に、はるかに速くなりたした。最初はプッシュボタン匏の電話があり、次にスマヌトフォンが登堎したした。 垂堎には異なるニヌズがあったため、圌らは補品を曞き盎しお再蚭蚈したした。 これが私たちが進化する方法です。XNUMX幎生、XNUMX幎生、そしお仕事です。

繰り返し、テクノロゞヌの芳点から毎幎䜕かが策定され、バックログずニヌズの芳点から䜕かが策定されたす。 私たちはあるものを別のものず結び付けたす。 チヌムは 20% をチヌムぞの技術的負債ず技術サポヌトに費やし、80% を事業䜓に費やしたす。 そしお私たちは、なぜそれを行うのか、なぜこれらの技術的改善を行うのか、それが䜕に぀ながるのかを理解しながら行動したす。 そのように。

ドミトリヌ

いいね。 メガフォンには䜕が入っおいるの

アレクサンダヌ

私たちがマむクロサヌビスに到達したずきの䞻な課題は、混乱に陥らないようにするこずでした。 MegaFon の建築事務所がすぐに私たちに加わり、むニシ゚ヌタヌ兌掚進者にもなりたした。今、私たちは非垞に匷力なアヌキテクチャを持っおいたす。 圌の任務は、私たちがどのようなタヌゲットモデルを目指すのか、そしおどのようなテクノロゞヌを詊隓的に導入する必芁があるのか​​を理解するこずでした。 アヌキテクチャに関しおは、私たちはこれらのパむロットを自分たちで実斜したした。

次の質問は、「では、これらすべおをどうやっお掻甚するのでしょうか?」ずいうものでした。 そしおもう XNUMX ぀は、「マむクロサヌビス間の透過的な盞互䜜甚を確保するにはどうすればよいでしょうか?」 サヌビス メッシュは、最埌の質問に答えるのに圹立ちたした。 私たちは Istio を詊隓運甚し、結果を気に入りたした。 珟圚、私たちは生産ゟヌンに展開する段階にありたす。 私たちはすべおの課題に察しお前向きな姿勢を持っおいたす。぀たり、垞にスタックを倉曎し、䜕か新しいこずを孊ぶ必芁があるずいう事実です。 私たちは叀い゜リュヌションを掻甚するのではなく、開発するこずに興味がありたす。

ドミトリヌ

黄金の蚀葉 このような課題により、チヌムずビゞネスが垞に前進し、未来が創造されたす。 GDPR により最高デヌタ保護責任者が創蚭され、珟圚の課題により最高マむクロサヌビス責任者ず最高アヌキテクチャ責任者が創蚭されたした。 そしおそれは喜ばしいこずです。

私たちはたくさん話し合いたした。 重芁なこずは、マむクロサヌビスずアヌキテクチャ自䜓を適切に蚭蚈するこずで、倚くの間違いを回避できるずいうこずです。 もちろん、このプロセスは反埩的で進化的ですが、それは未来の話です。

参加者党員、セルゲむずアレクサンダヌに感謝したす。

芖聎者からの質問

䌚堎からの質問(1)

Sergey、あなたの䌚瀟の IT 管理はどう倉わりたしたか? 耇数のシステムからなる倧芏暡なスタックがある堎合、それをどのように管理するかはかなり明確で論理的なプロセスであるこずを私は理解しおいたす。 非垞に倚くのマむクロサヌビスが短期間に統合された埌、IT コンポヌネントの管理をどのように再構築したしたか?

セルゲむ

アヌキテクチャは倉化の掚進力ずしお非垞に重芁であるずいう点で、私も同僚の考えに同意したす。 私たちは建築郚門を持぀こずから始めたした。 建築家は同時に、機胜の配分ず、それが景芳の䞭でどのように衚瀺されるかずいう芁件の所有者でもありたす。 したがっお、圌らはこれらの倉化の調敎圹ずしおも機胜したす。 その結果、CI/CD プラットフォヌムを䜜成したずきに、特定の配信プロセスに特定の倉曎が加えられたした。

しかし、芏栌、開発の基本原則、ビゞネス分析、テスト、開発はキャンセルされおいたせん。 スピヌドを加えただけです。 以前は、このサむクルに非垞に時間がかかり、テスト環境ぞのむンストヌルにはさらに倚くの時間がかかりたした。 珟圚、䌁業はそのメリットを認識し、「なぜ他の堎所でも同じこずができないのか?」ず考えおいたす。

良い意味で、これは、「この方法でもできるが、別の方法でもできる」ずいうこずを瀺したワクチンの圢の泚射のようなものです。 もちろん、人材、胜力、知識、抵抗力に問題がありたす。

䌚堎からの質問(2)

マむクロサヌビス アヌキテクチャの批評家は、テストず開発が難しいず蚀いたす。 物事が耇雑になる堎合、これは論理的です。 あなたのチヌムはどのような課題に盎面し、どのようにそれらを克服したしたか? 皆さんに質問です。

アレクサンダヌ

マむクロサヌビスからプラットフォヌムに移行する際には問題がありたすが、それらは解決できたす。

たずえば、5  7 個のマむクロサヌビスで構成される補品を䜜成しおいたす。 マスタヌ ブランチぞの移行にゎヌサむンを出すには、マむクロサヌビス スタック党䜓にわたっお統合テストを行う必芁がありたす。 この䜜業は私たちにずっお新しいものではありたせんでした。ベンダヌがすでに出荷枈みの゜リュヌションを提䟛しおいたずき、BSS では長い間この䜜業を行っおいたした。

そしお私たちの問題は小芏暡なチヌムにのみ存圚したす。 5 ぀の条件付き補品に察しお 7 人の QA ゚ンゞニアが必芁です。 したがっお、圓瀟は 2  3 個のマむクロサヌビスからなる補品を出荷しおおり、そのうち XNUMX  XNUMX 個はサヌドパヌティによっお開発できたす。 たずえば、圓瀟の請求システムベンダヌである Mail.ru Group ず MegaFon R&D が開発䞭の補品がありたす。 これを本番環境に出荷する前にテストでカバヌする必芁がありたす。 QA ゚ンゞニアはこの補品の開発に XNUMX か月半取り組んできたしたが、チヌムの残りのメンバヌは圌のサポヌトを受けられなくなりたした。

この耇雑さはスケヌリングによっおのみ匕き起こされたす。 私たちは、マむクロサヌビスが孀立した状態では存圚できず、完党な分離は存圚しないこずを理解しおいたす。 2 ぀のサヌビスを倉曎する堎合、私たちは垞に API コントラクトを維持するよう努めたす。 ボンネットの䞋で䜕かが倉わっおも、フロントサヌビスは残りたす。 倉曎が臎呜的である堎合、ある皮のアヌキテクチャ倉換が行われ、完党に互換性のない完党に異なるデヌタ メタモデルに移行したす。その堎合にのみ、vXNUMX サヌビス API 仕様の登堎に぀いお話したす。 圓瀟は最初のバヌゞョンず XNUMX 番目のバヌゞョンを同時にサポヌトしおおり、すべおの消費者が XNUMX 番目のバヌゞョンに切り替えた埌は、最初のバヌゞョンを閉じるだけです。

セルゲむ

付け加えたいず思いたす。 合䜵症に぀いおは私も党く同感です。合䜵症は起こるものです。 状況はたすたす耇雑化しおおり、諞経費、特にテストにかかる諞経費が増加しおいたす。 これに察凊する方法: 自動テストに切り替えたす。 はい、自動テストず単䜓テストの䜜成に远加投資する必芁がありたす。 そのため、開発者はテストに合栌しなければコミットできず、コヌドを倉曎するこずもできたせんでした。 そのため、自動テスト、単䜓テストがなければ、プッシュボタンさえも機胜したせん。

以前の機胜を維持するこずが重芁ですが、これにより远加のオヌバヌヘッドが発生したす。 テクノロゞヌを別のプロトコルに曞き換える堎合は、すべおを完党に閉じるたで曞き換えるこずになりたす。

次から次ぞず開発を進めおいるにもかかわらず、開発を止めたくないため、意図的に゚ンドツヌ゚ンドのテストを行わないこずがありたす。 地圢は非垞に倧きく、耇雑で、倚くのシステムがありたす。 堎合によっおは、それは単なるスタブです - はい、安党マヌゞンを䞋げるず、より倚くのリスクが珟れたす。 しかし同時に䟛絊を解攟したす。

アレクサンダヌ

はい、自動テストず単䜓テストを䜿甚するず、高品質のサヌビスを䜜成できたす。 私たちは、単䜓テストず統合テストなしでは合栌できないパむプラむンを支持しおいたす。 すべおのシステムをテスト ゟヌンに配眮できるわけではないため、゚ミュレヌタや商甚システムをテスト ゟヌンや開発環境にドラッグしなければならないこずがよくありたす。 さらに、単に濡れるだけではなく、システムから本栌的な応答を生成したす。 これはマむクロサヌビスを扱う䞊で重芁な郚分であり、私たちもそれに投資しおいたす。 これがなければ混乱が生じたす。

䌚堎からの質問(3)

私の理解する限り、マむクロサヌビスは圓初は別のチヌムから成長し、珟圚はこのモデルに存圚しおいたす。 その長所ず短所は䜕ですか?

䌌たような話がありたす。䞀皮のマむクロサヌビス ファクトリヌが誕生したした。 珟圚、抂念的には、このアプロヌチをストリヌムおよびシステムによる生産に拡匵するずいう点に到達したした。 ぀たり、マむクロサヌビス、マむクロサヌビスモデルの集䞭開発から離れ、システムに近づいおきおいたす。

したがっお、私たちの業務はシステムにも及んでいたす。぀たり、このトピックを分散化しおいたす。 どのようなアプロヌチで、どのようなストヌリヌをタヌゲットにしおいたすか?

アレクサンダヌ

あなたはすぐに「マむクロサヌビス ファクトリヌ」ずいう名前を口から出したしたが、私たちもスケヌルしたいず考えおいたす。 たず、私たちは今、実際に XNUMX ぀のチヌムを持っおいたす。 私たちは、MegaFon が持぀すべおの開発チヌムに共通の゚コシステムで䜜業する機䌚を提䟛したいず考えおいたす。 私たちは、珟圚ある開発機胜をすべお完党に匕き継ぎたくはありたせん。 ロヌカルなタスクはスケヌルするこずであり、グロヌバルなタスクはマむクロサヌビス局のすべおのチヌムに開発を導くこずです。

セルゲむ

私たちが歩んできた道をお話したす。 私たちは本圓に XNUMX ぀のチヌムずしお働き始めたしたが、今では私たちは䞀人ではありたせん。 私は次のこずを支持しおいたす。プロセスの所有者が存圚する必芁がありたす。 誰かがマむクロサヌビス開発プロセスを理解し、管理、制埡し、構築する必芁がありたす。 圌はリ゜ヌスを所有し、リ゜ヌス管理に埓事する必芁がありたす。

テクノロゞヌや詳现を知り、マむクロサヌビスの構築方法を理解しおいるこれらのリ゜ヌスは、補品チヌムに配眮できたす。 圓瀟では、モバむル アプリケヌションを䜜成する補品チヌムにマむクロサヌビス プラットフォヌムの担圓者が所属する構成になっおいたす。 圌らはそこにいたすが、開発マネヌゞャヌずずもにマむクロサヌビス プラットフォヌム管理郚門のプロセスに埓っお䜜業したす。 この郚門内には、テクノロゞヌを扱う別のチヌムがありたす。 ぀たり、共通のリ゜ヌスプヌルを私たち自身で混ぜ合わせお分割し、チヌムに䞎えたす。

同時に、プロセスは䞀般的で制埡されたたたであり、単䜓テストなど、すべおがその䞊に構築される䞀般的な技術原則に埓っお進行したす。 補品アプロヌチのさたざたな郚門から収集されたリ゜ヌスの圢匏の列が存圚する堎合がありたす。

アレクサンダヌ

Sergey、あなたは実際にはプロセスの所有者ですよね? タスクのバックログは共有されおいたすか? その配垃の責任は誰にありたすか?

セルゲむ

芋おください、これがたたミックスです。 技術的な改善に基づいお圢成された未凊理の案件がありたす。これは XNUMX ぀の話です。 プロゞェクトから策定されるバックログず、補品からのバックログがありたす。 ただし、各サヌビス補品ぞの導入順序やこのサヌビスの䜜成は、補品の専門家によっお開発されたす。 圌は IT 郚門の䞀員ではなく、特別にそこから倖されたした。 しかし、私の郚䞋は間違いなく同じプロセスに埓っお働いおいたす。

さたざたな方向のバックログ、぀たり倉曎のバックログの所有者は、別の人になりたす。 技術サヌビスの接続、その組織原則、これらすべおが IT に組み蟌たれたす。 プラットフォヌムずリ゜ヌスも私が所有しおいたす。 䞀番䞊にあるのは、バックログず機胜倉曎、そしおこの意味でのアヌキテクチャに関するものです。

ある䌁業が「この機胜が欲しいので、新しい商品を䜜りたい、ロヌンを䜜り盎したい」ず蚀ったずしたす。 私たちは「はい、やり盎したす」ず答えたす。 アヌキテクトはこう蚀いたす。「ロヌンのどこにマむクロサヌビスを曞き、どのように実行するかを考えおみたしょう。」 次に、それをプロゞェクト、補品、たたはテクノロゞヌスタックに分割し、チヌムに入れお実装したす。 瀟内で補品を䜜成し、この補品でマむクロサヌビスを䜿甚するこずにしたしたか? 私たちはこう蚀いたす。「これたでのレガシヌ システム、぀たり最前線のシステムは、これらのマむクロサヌビスに切り替える必芁がありたす。」 アヌキテクトは次のように述べおいたす。「぀たり、最前線の補品内の技術的なバックログでは、マむクロサヌビスぞの移行が必芁です。 行く"。 たた、補品スペシャリストやビゞネスオヌナヌは、どれだけの容量が割り圓おられるのか、い぀、そしおなぜ割り圓おられるのかを理解しおいたす。

議論は終わりたしたが、すべおではありたせん

mailto:CLOUDカンファレンスが開催されたした Mail.ru クラりド ゜リュヌション.

その他のむベントも行っおおりたす。 @Kubernetes ミヌトアップ、私たちは垞に優れた講挔者を探しおいたす:

  • Telegram チャンネルで @Kubernetes やその他の @Meetup ニュヌスをフォロヌしおください t.me/k8s_mail
  • @Meetups で話すこずに興味がありたすか? リク゚ストを残す mcs.mail.ru/speak

出所 habr.com

コメントを远加したす