ja

使い方?

ビジネスの助けが必要ですか?

お客様のニーズに合わせたパーソナライズされたFinMV見積もりについては、お問い合わせください。

モノリシックまたはマイクロサービス?

あなたの会社のテクニカルディレクターは、金融プラットフォームの立ち上げを計画するときに、プロジェクトアーキテクチャオプションを選択する必要があります。彼が利用できるアーキテクチャオプションと、どれを選択するのが良いですか?

オプション1.モノリシックアーキテクチャ(モノリス) モノリシックアーキテクチャは雪だるまのようなものです。プロジェクトを開始すると、雪だるま式になります。それは非常に小さいので、小さなチームで開発して展開することができます。数年経ちましたが、今では雪玉が非常に大きくなり、 20 の開発者がすでに雪玉を押しています。あと数年で、数百人の開発者が大量のコードで雪だるま式に転がりますが、新機能のリリースは非常に遅くなります。

その結果、所有者はテクニカルディレクター、チームメンバーを変更し始めますが、悪化するだけです。新しいチームメンバーは、歴史的な詳細、なぜ雪玉がそのようであり、別のものではないのかを知りません。製品ドキュメントはすぐに古くなります。

最初からやってみませんか?まず、ビジネスの最初の段階では、常にリソースが限られている、十分な開発者、専門知識、および時間がありません。マニュアルは強く求められており、プログラマーは可能な限り最速の方法でそれを行うことを急いでいます。

次に、技術エンジニアは次のように考えます。「まあ、今はモノリシックアーキテクチャにしますが、ビジネスが成長したら、すべてをやり直します」。残念ながら、実際には、既存のモノリシックプロジェクトをマイクロサービスアーキテクチャに移行することは、すべてを最初から作成するよりも数十困難になります。

オプション2.マイクロサービスアーキテクチャ マイクロサービスアーキテクチャに基づいて金融プラットフォームをすぐに作成します。

マイクロサービスアーキテクチャは、歩道の舗装スラブと比較できます。プロジェクトが成長するにつれて、通路にタイルが追加されます。コンポーネントが古くなっている場合は、このタイルを新しいタイルと交換するだけで十分です。

このアーキテクチャには多くの利点がありますが、最も重要なものに名前を付けます:

  • 個々の従業員が各マイクロサービスの運用に責任を負います
  • 開発者はコードの一部にしかアクセスできないため、プロジェクトコードの盗難は防止されます
  • プログラミング言語の更新が公開されたら、各サービスのプログラムコードを1つずつ修正できます
実際の例

最初の例。多数のユーザーがいるP2P貸付プラットフォームの管理者は、異なる通貨で国の市場に参入することを決定しました。プラットフォームはモノリシックアーキテクチャであり、ユーロという1つの通貨しか含まれていませんでした。スウェーデン(スウェーデンクローナ)、ポーランド(ポーランドズウォティ)、チェコ共和国(チェココルナ)の市場に参入するには、複数通貨を導入する必要がありました。

チーム全体がこの機能を実装するのに数か月かかり、新しい機能の開発はさらに遅くなりました。マイクロサービスアーキテクチャの場合、すべてがはるかに簡単かつ高速になります。

2番目の例。当初、サイトビルダーは母国語で立ち上げられ、管理は他の市場に拡大する予定はありませんでした。プロジェクトはモノリシックアーキテクチャであり、機能は急速に成長しました。プラットフォームのスキームは、すべてがすべてに接続された複雑なWebでした。ある日、企業はプラットフォームのバージョンを他の言語でリリースすることを決定しました。最初は、言語ファイルのみを追加するだけで十分であるように思われましたが、今度はインターフェース全体を翻訳します。

実際には、プロジェクト全体をやり直す必要がありました。たとえば、データベース内の会社と製品の名前は、1つの言語だけでなく、各言語でも保存されるようになりました。ビジネスロジックのために情報を複製することは不可能でした。すべての言語の名前を一度に保存する必要がありました。したがって、これはキャビネットとバックオフィスのインターフェースの変更につながりました。インターフェイスの変更には、受信データの検証ルールの変更、さまざまな言語での終了の原則の違いによるレターテンプレートの変更、テストの変更などが必要でした。

すべてがすべてに接続されていたため、新しい言語のリリースとともにマイクロサービスアーキテクチャに移行することが決定されました。モノリシックアーキテクチャからマイクロサービスアーキテクチャへの移行プロセスには1年以上かかりました。

3番目の例。 fintechプラットフォームは、古いバージョンのPHPとLaravelで作成されました。チーム全体が数か月間移行プロセスのみを処理する必要があったため、新しいバージョンへのアップグレードや、データベースをMariaDBからPostgreSQLに変更することは事実上不可能でした。

当時のPHPとLaravelの新しいバージョンは、プロジェクトとさらなる開発をスピードアップする可能性がありましたが、モノリシックアーキテクチャではテクノロジースタックを更新できませんでした