- Mastering Microservices with Java
- Sourabh Sharma
- 296字
- 2021-07-02 13:03:28
Alignment with agile practices
There is no question that monolithic applications can be developed using agile practices, and these are being developed all the time. Continuous integration (CI) and continuous deployment (CD) could be used, but the question is—do they use agile practices effectively? Let's examine the following points:
- When there is a high probability of having stories dependent on each other, and there could be various scenarios, a story would not be taken up until the dependent story is complete.
- The build takes more time as the code size increases.
- The frequent deployment of a large monolithic application is a difficult task to achieve.
- You would have to redeploy the whole application even if you updated a single component.
- Redeployment may cause problems to already running components; for example, a job scheduler may change whether components impact it or not.
- The risk of redeployment may increase if a single changed component does not work properly or if it needs more fixes.
- UI developers always need more redeployment, which is quite risky and time-consuming for large monolithic applications.
The preceding issues can be tackled very easily by microservices. For example, UI developers may have their own UI component that can be developed, built, tested, and deployed separately. Similarly, other microservices might also be deployable independently and, because of their autonomous characteristics, the risk of system failure is reduced. Another advantage for development purposes is that UI developers can make use of JSON objects and mock Ajax calls to develop the UI, which can be taken up in an isolated manner. After development is finished, developers can consume the actual APIs and test the functionality. To summarize, you could say that microservices development is swift and it aligns well with the incremental needs of businesses.
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- FuelPHP Application Development Blueprints
- Rust編程從入門到實戰
- Network Automation Cookbook
- Practical Windows Forensics
- Java程序設計
- Unity Game Development Scripting
- Swift細致入門與最佳實踐
- Getting Started with LLVM Core Libraries
- Getting Started with Eclipse Juno
- Unity Character Animation with Mecanim
- Vue.js 3應用開發與核心源碼解析
- 量子計算機編程:從入門到實踐
- Parallel Programming with Python
- VC++ 2008專題應用程序開發實例精講