我想,大家對於微服務還是有著一些的誤解,所以,我在這提出些我個人的看法:

1. 微服務是將原本在單體應用系統開發時所面臨到的複雜度,轉移到了測試與運維。而且這種的複雜度的轉移,並不是 1:1 的轉移,而是呈現指數型增長方式的轉移。也就是說微服務在測試、運維方面的複雜度比起單體應用系統在測試、運維方面的複雜度,要高出了許多、許多。

2. 微服務的測試遠比起微服務的開發,要更為的複雜,當然也更加的重要的多,但真正懂得去關注的人似乎並不多。

3. 在數百個甚至是上千個的微服務下,我們已無法再用著在單體應用系統下,使用 Scrum 的方式,進行著人與人之間的溝通,因為,那將會太耗時,而且溝通的複雜度、成本也將會過高。

4. 在數百個甚至是上千個的微服務下,我們只能藉由測試;如:契約測試;先分析出值得進行人與人之間溝通的議題,我們已無法事事都在進行著人與人之間的溝通。

5. 微服務不是要降低在單體應用系統時,我們所面臨到的複雜度,而是要能做到持續交付;單體應用系統是永遠都做不到持續交付的。

6. 微服務雖然在測試、運維的複雜度高出了許多,但藉由自動化的測試、運維工具,甚至是機器學習,都能高效、大幅的降低這方面的複雜度。

7. 微服務要能成功,一定要有個能開發自動化測試、運維工具的團隊,支撐著團隊在開發微服務的這件事情上。

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據