マイクロサービスへの切り替えの隠れたコスト

理想的な世界では、モノリスのソースコードを取得し、そのコードをマイクロサービス間で分割し、それらを接続して同じシステムを取得できますが、新しいアーキテクチャを使用します。これは人生では決して起こりません。人生はこの完璧な絵に多くの複雑さをもたらします。マイクロサービスの移行予算を2倍または3倍にすることができる具体的な課題は何ですか?





マイクロサービスへの移行を遅らせ、当初の予想よりもはるかに高額になる要因について説明します。これらの要因を評価するためのチェックリストを受け取り、移行予算の計算をより現実的にします。





ArchDays2020でこのトピックについて話しましたリンクをたどってスピーチのスライドとビデオ(まもなく公開される予定)を見つけますhttps://blog.byndyu.ru/2020/12/archdays-2020.html





#1マスターデータの操作方法を変更する

モノリスには通常、多様なマスターデータを含む1つまたは2つの大きなデータベースがあります。モノリス自体には、このマスターデータを管理するコードが含まれています。たとえば、データベースの「緑」の部分がアドレスディレクトリである場合、「緑」のモノリスコードがアドレスを制御します。モノリスデータベースには多くのマスターデータがあり、モノリスコードには多くのマスターシステムがあることがわかります。





マイクロサービスでは、マスターデータの管理が異なります。データベースが多数あり、マイクロサービス間でマスターデータを混在させることはできず、1つのマイクロサービスのみがマスターデータを管理できます。たとえば、「グリーン」マイクロサービスはアドレスを含むデータベースを受信し、このマスターデータに変更を加えることができるのは彼だけです。他のマイクロサービスは、アドレスを使用してデータを読み取ることができますが、「グリーン」マイクロサービスを介してのみ読み取ることができます。





- - . , :





  1. ,





  2. ,





  3. ,





  4. - ,





  5. "" ,





  6. ,





  7. .





- - .





9 , - .





№2

, - . , , , , .





, . - "" . .





( ), (. .4).





. , , . , , , .





№3

, -, , -. . “”:





IT-, - -. , API .





№4

. . , , :





:





  1. API: , , API .. Apigee.





  2. DevOps- IaC .





  3. .





№5 SLA

SLA . . , , , API. SLA, .





SRE , SLO, SLA = SLO + .





, SLA :





SLA , SLA, , . .





№6

, , CI/CD -, . , fault tolerance : , .





, "" , :





  1. -, , , chaos engineering.





  2. , Circuit Breaker Tolerant Reader.





  3. : service discovery, health-check,...





№7

-, , ""?





: - (build-and-run team) . . . :





  1. . , Service per team.





  2. InnerSource, . InnerSource .





  3. : , , . , , . , , .





, . .





, , . :





, . , , . .





№8

, . , , . . , .





, . , SOAP, protobuf, WCF, .NET Core, WCF . , . , .





, .





№9

, . .





. , , "" - . , . - , . .





№10

, . . , , , .





, :





  1. , .





  2. .





.





, , . , :





  1. -





  2. -





  3. IT-









  4. SLA





  5. fault tolerance





















, .





, , ? , , AgileDays 2017 microservices.io. , , .






:





  1. The Death of Microservice Madness in 2018, Dave Kerr





  2. The hidden costs of microservices, Wayne Geils, Mike Hostetler





  3. Microservice Trade-Offs, Martin Fowler





  4. Pattern: Microservice Architecture, Chris Richardson





  5. The Hidden Costs of Microservices, Justin Leitgeb





  6. マイクロサービスアーキテクチャスタイルの課題と利点パート1+パート2、AndréFachat












All Articles