マイクロサービスパターン:なぜそれが必要なのか、そしてそれを開発に実装する方法

今日は、チームがわずか数分で新しいマイクロサービスを作成できるようにするテンプレートに焦点を当てます。それがどのように機能するのか、そしてなぜこの話が肉体労働の自動化だけでなく、開発自体の有効性についてでもあるのかを説明します。





多くの開発者は、何らかの形でテンプレートを使用しています。ほとんどの場合、時間を節約するために古いプロジェクトからコードをコピーします。私たちの観点からすると、この方法には一度にいくつかの欠点があります。





1.コピーに失敗したマイクロサービスを選択できます。要素が欠落している、設定が正しくないなどです。





2.開発者がベンチマークを持っていない場合、追加のエラーのリスクが高まります。これは、誰かがそれらを修正するために余分な時間を費やす必要があることを意味します。





3.重要な要素を見落としたり、パイプラインの欠落に気づかなかったり、古いバージョンのライブラリを使用したり、誤った認証やログ設定を指定したりするリスクが常にあります。





一般に、操作が時々繰り返される場合、それはすでに自動化する価値があります。しかし、時間を節約することは、テンプレートを実装する主な利点とはほど遠いものです。





マイクロサービステンプレートの機能

マイクロサービステンプレートは、ソフトウェア製品の構成要素であり、プロジェクト間で再利用できる構成要素です。





その助けを借りて、チームに共通の技術基盤を提供します-全員が同じテンプレートに従って作業します。これには、デフォルトでプロジェクトに必要なすべての要素が含まれます(テンプレートの構成については以下で詳しく説明します)。開発者は、コードをコピーすることと、コードを再度チェックすることの両方から解放されます。





そして、ビジネスの観点から、これは、開発パイプラインがより速く、よりスムーズに動くように、リソースをより適切に管理する機会です。





  • テンプレートを使用すると、開発者はより少ないリソースで一貫した品質を得ることができます。必要な要素の選択に一度時間を費やすだけで十分です。その後、すべての開発者が既製のツールを手元に用意します。





  • 不要なアクションにかかる時間が短いほど、市場投入までの時間が短くなります。リリースはより頻繁に出荷され、製品はより早く開発されます。





  • Production Ready. , , Feature Flags, .





  • . «» – , , , . .





  • , , .. , , – .





  • - , . , – . .









  1. Rest API, , ,

















    • (CI/CD)





    • , Observability, , , health check monitoring





  2. , : Git , Jenkins/Gitlab.





.Net

Microsoft Visual Studio :





  • Web API Project - -, HTTP-.





  • Data base project – .





  • HTTP Service client project –





  • MassTransit consumers project – RabbitMQ.





  • Job Project – - .





. UI, :





Visual Studio , .





, , . : , , . – -, ..





次は何ですか?-この経験を他のチームに複製します。テンプレートの整合性を可能な限り維持すると同時に、さまざまなプロジェクトで使用できるようにテンプレートをユニバーサルにします。すべてのプラットフォーム用のテンプレートを作成します。このようにして、それぞれの状況に関係なく、均一なレベルの品質と単一のベストプラクティスのセットを確保します。








All Articles