官术网_书友最值得收藏!

Problems in adopting new technologies

Monolithic applications are mostly developed and enhanced based on the technologies primarily used during the initial development of a project or a product. It makes it very difficult to introduce new technology at a later stage of the development or once the product is in a mature state (for example, after a few years). In addition, different modules in the same project, that depend on different versions of the same library, make this more challenging.

Technology is improving year on year. For example, your system might be designed in Java and then, a few years later, you want to develop a new service in Ruby on Rails or NodeJS because of a business need or to utilize the advantages of new technologies. It would be very difficult to utilize the new technology in an existing monolithic application.

It is not just about code-level integration, but also about testing and deployment. It is possible to adopt a new technology by re-writing the entire application, but it is time-consuming and a risky thing to do.

On the other hand, because of its component-based development and design, microservices gives us the flexibility to use any technology, new or old, for its development. It does not restrict you to using specific technologies, it gives a new paradigm to your development and engineering activities. You can use Ruby on Rails, NodeJS, or any other technology at any time.

So, how is it achieved? Well, it's very simple. Microservices-based application code does not bundle into a single archive and is not stored in a single directory. Each μService has its own archive and is deployed separately. A new service could be developed in an isolated environment and could be tested and deployed without any technical issues. As you know, microservices also owns its own separate processes; it serves its purpose without any conflict such as shared resources with tight coupling, and processes remain independent.

Since a microservice is by definition a small, self-contained function, it provides a low-risk opportunity to try a new technology. That is definitely not the case where monolithic systems are concerned.

You can also make your microservice available as open source software so it can be used by others, and if required it may interoperate with a closed source proprietary one, which is not possible with monolithic applications.

主站蜘蛛池模板: 海兴县| 莆田市| 渭南市| 岱山县| 错那县| 巴林左旗| 修文县| 麻阳| 罗山县| 丹江口市| 织金县| 满洲里市| 东乌珠穆沁旗| 齐河县| 岳阳县| 信宜市| 湘西| 禄丰县| 贺州市| 浪卡子县| 石棉县| 麻城市| 定兴县| 通辽市| 崇信县| 都昌县| 光泽县| 宜都市| 新安县| 南召县| 竹北市| 宣城市| 尚志市| 岳阳县| 茂名市| 隆尧县| 集安市| 碌曲县| 洮南市| 安宁市| 桐梓县|