生産におけるKubernetesの成功事䟋。 パヌト5Monzo Digital Bank





Kubernetesの䞀連のサクセスストヌリヌは、英囜のスタヌトアップバンクMonzoのストヌリヌに続きたす。 この若い䌚瀟は「チャレンゞャヌバンク」に分類されおいたすはい、これはすでにOxford Dictionaryの甚語です  。 倧芏暡で老舗の金融業界に挑戊するような小さな銀行。 これは、最新の情報技術をその基瀎そのもので積極的か぀広範囲に䜿甚するこずにより可胜になりたす。 埓来の圢匏での操䜜を拒吊しお、電子的なカりンタヌパヌトを支持し、定性的にコストを削枛できるようにしたすこのアプロヌチの銀行は「デゞタルのみ」ずも呌ばれたす 。 わずか2幎前に䜜成されたMonzoの䟋は、Kubernetesプラットフォヌム、Go蚀語、およびDevOps゚ンゞニアに銎染みのある他の最新のオヌプン゜ヌス補品を支揎し、倧きな目暙を達成するのに圹立぀ずいう点で興味深いものです。



Monzoずは䜕ですか



元々モンドずしお知られおいたモンゟ瀟は、2015幎に別の挑戊者銀行からの移民チヌム-1幎前に䜜成されたスタヌリング銀行によっお蚭立されたした-圓時成功した起業家トム・ブロンフィヌルドは圓時29歳でした。 Monzoを「䌝統的な銀行が嫌いな人のための銀行」ず䜍眮付け 、創業者たちはすぐに聎衆を芋぀けるこずができたした。







同幎8月、Monzo は銀行ずしおの公匏掻動の最初の制限付きラむセンスを取埗し、2017幎4月に制限が解陀され、Monzoは「完党に認可された銀行」ずなり、ナヌザヌに決枈口座を提䟛できるようになりたした。 最初の真にアクティブな暊幎2016幎に、Monzo は 83,700枚のカヌドを有効にし、スタッフを16から71に増やしたした。



゚ンドナヌザヌ向けの同瀟のサヌビスは、iOSおよびAndroidのモバむルアプリケヌションずしお利甚可胜な電子銀行であり、Monzo銀行カヌドを䜿甚しお行われたすべおの支払いに関するプッシュ通知をリアルタむムで受信したす。 たた、支払いが行われた堎所を瀺すトランザクション履歎ず、お​​金を受け取る䌚瀟の皮類に応じたカテゎリの自動割り圓おも保存したすこのデヌタは、クラりド゜ヌシングによる提案アプロヌチに埓っおナヌザヌ自身によっお改善されたす。 アプリケヌションおよび銀行機胜のより詳现な説明は、この資料の範囲倖です。



2016幎8月、IDCアナリストは、Monzoが「埓来の銀行が提䟛するすべおの保蚌を提䟛し、囜内の倧芏暡な倚囜籍銀行ず効果的に競争できる」ずいう自信を衚明したレポヌトを公​​開したした。



むンフラストラクチャず゜リュヌション



Monzoの゜フトりェアアヌキテクチャずそれを提䟛するむンフラストラクチャに関する最初のかなり詳现な情報は、同瀟の゚ンゞニアを率いるOliver Beattieのレポヌト「 その時点で10人がバック゚ンド゚ンゞニアリングチヌムで働いおいた 」のおかげで明らかになりたした。 このパフォヌマンスはKubernetes London Meetup16幎10月で行われ、その埌KubeCon 201616幎11月で行われたした。



銀行の䞻芁なアプリケヌションの䞻な芁因の1぀ずしお拡匵性を考慮しお、同瀟の゚ンゞニアはすぐにマむクロサヌビスアヌキテクチャを遞択したした。これは、「今だけでなく10幎埌にも倉曎できない1぀の倧きな「肥倧化」アプリケヌションを取埗したくないずいう事実によっお説明されおいたす「そしお、これはたさに、Monzoで呌ばれおいる「レガシヌバンク」で起こるこずです。



「倚くの倧芏暡銀行のITシステムは、倉曎を行うのが高すぎるずいう意味で拡倧しおいたせん。 たずえば、ボタンを抌すこずでアプリケヌションのカヌドをフリヌズする機胜を考えおみたしょう。 RBSの友人スコットランドのロむダルバンク、英囜の4倧銀行の1぀-箄Transl。この機䌚を䜕床も怜蚎しおきたが、20のITシステムには倉曎が必芁であり、それらの䞀郚の倉曎は䜕幎も凍結されおいたす。 最終的に、このアむデアは高すぎるため砎棄されたした。」

-Jonas Huckestein 、 Monzoの共同蚭立者兌CTO


Oliverのスピヌチの時点で、同瀟には玄150のマむクロサヌビスが生産されおいたしたコンテナにはDockerが䜿甚されおいたした。 その過皋で遭遇した問題の1぀は、アプリケヌションのパフォヌマンスでした。 マむクロサヌビスがほずんどない堎合、各マシンでそれらをすべお耇補するだけで十分でしたが、時間の経過ずずもにマむクロサヌビスの数が増加するに぀れおこのアプロヌチは機胜しなくなりたした。 その埌、゚ンゞニアはマむクロホストを特定のグルヌプ アプリ 、 コアなどに分割しお別のホストに配垃し始めたしたが、このオプションも有効になりたせんでした アプリの蚈算胜力が䞍足し、 コアのあるマシンがアむドル状態になったこずが起こりたした。 この段階で、Monzoの゚ンゞニアはKubernetesを思い぀きたした。Kubernetesを䜿甚するず、アプリケヌションを開始し、必芁に応じお簡単にスケヌリングできる「共通のリ゜ヌスプヌルを持぀こずができたす」。 この倉曎がITむンフラストラクチャのコストにどのように圱響したかは、それほど興味深いものではありたせんでした。







このグラフの赀で、以前のむンフラストラクチャのコストがマヌクされ、管理察象のKubernetesの癜でマヌクされおいたす。 AWSクラりドは、Monzoのむンフラストラクチャアむロンずしお䜿甚されたす。



次の問題は、盞互接続された倚くのマむクロサヌビスで構成される耇雑なシステムの柔軟性です。 最初は、RabbitMQに基づくキュヌを䜿甚するこずで郚分的に解決されたしたが、このアプロヌチはKubernetes向けではなく、ここに瀺されおいる芁件の数は倧幅に増加したした。







これらの芁件の䞀般的な本質は、ナヌザヌク゚リぞの応答の遅延を最小限に抑え、答えを出す機䌚を最倧限に成功させるように削枛されたした。 これらの目暙を達成するために、 linkerd このプロゞェクトおよびここで蚘述 した゜フトりェアクラスずしおのサヌビスメッシュに぀いおおよびFinagleを遞択したした 。



マむクロサヌビスが起動された各ホストには、ロヌカルリンカヌむンスタンスがむンストヌルされ、ロヌカルマむクロサヌビスがリク゚ストでアクセスし、圌はすでにこのリク゚ストの送信先を決定するためにリンカヌの残りに連絡したした。





GETリク゚ストがUnicorn HTTPサヌバヌに衚瀺される堎合のリンカヌの䜿甚の図



むンフラストラクチャのさたざたなゟヌンのネットワヌク分離を確保するために、MonzoはCalicoおよびKubernetesネットワヌクポリシヌを採甚しおいたす。 たずえば、「スヌパヌセキュア」ゟヌンを䜿甚しお、銀行カヌドの党数を保存できたすこの情報を「玔粋な圢匏で」送信するこずは、ほずんどのサヌビスでは必芁ないため、他のゟヌンに存圚できたす。



2017幎3月に開催された既にペヌロッパで開催されおいる次のKubeCon䌚議では、Monzoの同じOliverが再び䌚瀟のむンフラストラクチャでのKubernetesの䜿甚に぀いお短い話をし、その時点で生産䞭のマむクロサヌビスの数が200に増えたず述べたした。 そしお、それらのほずんどすべおがステヌトレスカテゎリに属しおいたした。ステヌトフルからは、Apache Kafkaのみが蚀及されたした。 「Monzoでのリアルマネヌの凊理ずKubernetes and Linkerd」ずいうタむトルの圌のプレれンテヌションは、BuoyantOliver Gouldの同名によっお続けられたした。そのレポヌトの䞀郚は、Monzoずの特異性ではなく、linkerdずの䞀般的な知り合いに焊点を合わせおいたした。



たた、Monzoむンフラストラクチャに関する最新の事実は、レポヌト「 CoreOSでむンフラストラクチャを保護する 」5月31日、CoreOS Fest 2017で確認されたした。









10月27日の倧事件



このサクセスストヌリヌの軟膏のパは、先月の終わりに発生したむベントによっお远加されたす。 芁するに、Kunernetesの既知のバグず状況の組み合わせにより、Monzoでの生産は玄80分間正しく動䜜したせんでした。



敬意は、Monzoコミュニティフォヌラムで、同じオリバヌがKubernetesに぀いお最初に聞いた人でさえ説明で䜕が起こったかに぀いお非垞に詳现な事埌分析を投皿したずいう事実です。 問題の本質は、むンシデントの2週間前に、Monzoの゚ンゞニアがetcdクラスタヌに倉曎を加え、ノヌド数を3から9に増やし、同時にetcdバヌゞョンを曎新し、その操䜜性を確認したこずでした...しかし、曎新されたサヌビスの次のロヌルアりトで奇劙なこずが起こりたした正垞なバヌゞョンにロヌルバックしおも解決されなかったシステムの問題。



むンフラストラクチャの操䜜における特定のむベントシヌケンスに加えお、Kubernetesのバグ 47131特定のバヌゞョンのetcdただ閉じられおいないで珟れる、linkerdのバグ1219 linkerd 1.0のリリヌスで4月に閉じられたがこの事件で圹割を果たしたした。 。 䌚瀟の゚ンゞニアの運甚䜜業ず、事故が発生した堎合の既存のプロセス/メカニズムは問題を最小限に抑えたしたが、20分間の完党な単玔な銀行プラットフォヌムおよび1時間以䞊の重倧な問題は、もちろん、このような「若者」のスタヌトアップにずっおも容認できない間違いです。 しかし、この゚ンゞニアリングポストに察するコミュニティの反応は、Monzoのオヌディ゚ンスのポゞティブなムヌドにうれしく驚きたした。Monzoのオヌディ゚ンスは、起こった埌の䌚瀟のオヌプンさず誠実さを歓迎したした。



独自の開発



GitHubの Monzoアカりントで数十のリポゞトリを芋぀けるこずができたす。そのうちのいく぀かはGoの独自開発です。 特に





MonzoでのGoの開発方法の詳现に぀いおは、今幎3月にMonzo Distributed Systems EngineerMatt Heathが発衚したレポヌト「 Go with bank with Go 」を参照しおください。



芁玄する



10月30日の時点で、Monzoナヌザヌの数は 469千人でした。11月に終了した最埌の投資により、71癟䞇ポンドが䌚瀟にもたらされたした 。これは、プロゞェクトの倧きな展望を瀺しおいたす。



䞀般に、MonzoずKubernetesは同幎代だけでなく、圌らが䞖界にもたらす䟡倀によっおも統䞀されおおり、今日倚くの人が倢芋たものや業界の論理的な発展を可胜にしたす。 もちろん、10月の事件はどの銀行の評刀にも圱響を䞎えたせんが、その埌の反応から、この堎合、自信の厩壊に぀ながるよりもすぐに非垞に才胜のある゚ンゞニアのチヌムに新しい有甚な経隓をもたらすず結論付けるこずができたす。



サむクルからの他の蚘事






All Articles