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

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. This makes it very difficult to introduce new technology at a later stage of 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 may want to develop a new service in Ruby on Rails or Node.js 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 rewriting the entire application, but it is a time-consuming and risky thing to do.

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

So, how is this 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 own their own separate processes, serving their purpose without any conflicts to do with things such as shared resources with tight coupling, and processes remain independent.

Monolithic systems does not provide flexibility to introduce new technology. However, introduction of new technology comes as low risk features in microservices based system because by default these small and self contained components.

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, a proprietary one, which is not possible with monolithic applications.

主站蜘蛛池模板: 葫芦岛市| 当雄县| 林口县| 清苑县| 商河县| 沾化县| 分宜县| 土默特右旗| 大城县| 渭源县| 南木林县| 陵川县| 花垣县| 新沂市| 遂平县| 汾阳市| 大竹县| 大石桥市| 卢湾区| 辛集市| 平原县| 桐城市| 吐鲁番市| 遂川县| 句容市| 德惠市| 神池县| 法库县| 密云县| 武义县| 湖南省| 招远市| 阿瓦提县| 上饶县| 卢氏县| 娄烦县| 宁明县| 集安市| 霍邱县| 囊谦县| 会同县|