A Novel Effort Estimation Approach for Migration of SOA Applications to Microservices
الموضوعات :Vinay Raj 1 , Sadam Ravichandra 2
1 - BVRIT Hyderabad, College of Engineering for Women, Hyderabad, India
2 - National Institute of Technology Warangal, Telangana, India
الکلمات المفتاحية: Service Oriented Architecture, Microservices, Migration, Service Graph, Effort Estimation, Service point.,
ملخص المقالة :
Microservices architecture's popularity is rapidly growing as it eases the design of enterprise applications by allowing independent development and deployment of services. Due to this paradigm shift in software development, many existing Service Oriented Architecture (SOA) applications are being migrated to microservices. Estimating the effort required for migration is a key challenge as it helps the architects in better planning and execution of the migration process. Since the designing style and deployment environments are different for each service, existing effort estimation models in the literature are not ideal for microservice architecture. To estimate the effort required for migrating SOA application to microservices, we propose a new effort estimation model called Service Points. We define a formal model called service graph which represents the components of the service based architectures and their interactions among the services. Service graph provides the information required for the estimation process. We recast the use case points method and model it to become suitable for microservices architecture. We have updated the technical and environmental factors used for the effort estimation. The proposed approach is demonstrated by estimating the migration effort for a standard SOA based web application. The proposed model is compatible with the design principles of microservices and provides a systematic and formal way of estimating the effort. It helps software architects in better planning and execution of the migration process.
[1] Vinay Raj and R. Sadam, “Patterns for Migration of SOA Based Applications to Microservices Architecture,” Journal of Web Engineering, Jul. 2021, doi: 10.13052/jwe1540-9589.2051.
[2] J. Yin, H. Chen, S. Deng, Z. Wu, and C. Pu, “A Dependable ESB Framework for Service Integration,” IEEE Internet Computing, vol. 13, no. 2, pp. 26–34, Mar. 2009, doi: 10.1109/mic.2009.26.
[3] V. Raj and R. Sadam, “Evaluation of SOA-Based Web Services and Microservices Architecture Using Complexity Metrics,” SN Computer Science, vol. 2, no. 5, Jul. 2021, doi: 10.1007/s42979-021-00767-6.
[4] T. Cerny, M. J. Donahoo, and M. Trnka, “Contextual understanding of microservice architecture,” ACM SIGAPP Applied Computing Review, vol. 17, no. 4, pp. 29–45, Jan. 2018, doi: 10.1145/3183628.3183631.
[5] Z. Xiao, I. Wijegunaratne and X. Qiang, "Reflections on SOA and Microservices," 2016 4th International Conference on Enterprise Systems (ES), 2016, pp. 60-67, doi: 10.1109/ES.2016.14.
[6] J. Thones, “Microservices,” IEEE Software, vol. 32, no. 1, pp. 116–116, Jan. 2015, doi: 10.1109/ms.2015.11.
[7] D. Taibi, V. Lenarduzzi, C. Pahl, and A. Janes, “Microservices in agile software development: a workshop-based study into issues, advantages, and disadvantages,” in Proceedings of the XP2017 Scientific Workshops, 2017, pp. 1–5. doi: 10.1145/3120459.3120483.
[8] D. Taibi, V. Lenarduzzi, and C. Pahl, “Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation,” IEEE Cloud Computing, vol. 4, no. 5, pp. 22–32, Sep. 2017, doi: 10.1109/mcc.2017.4250931.
[9] J. Soldani, D. A. Tamburri, and W.-J. Van Den Heuvel, “The pains and gains of microservices: A Systematic grey literature review,” Journal of Systems and Software, vol. 146, pp. 215–232, Dec. 2018, doi: 10.1016/j.jss.2018.09.082.
[10] X. Larrucea, I. Santamaria, R. Colomo-Palacios, and C. Ebert, “Microservices,” IEEE Software, vol. 35, no. 3, pp. 96–100, May 2018, doi: 10.1109/ms.2018.2141030.
[11] P. C. Pendharkar, G. H. Subramanian, and J. A. Rodger, “A probabilistic model for predicting software development effort,” IEEE Transactions on Software Engineering, vol. 31, no. 7, pp. 615–624, Jul. 2005, doi: 10.1109/tse.2005.75.
[12] G. H. Subramanian, P. C. Pendharkar, and M. Wallace, “An empirical study of the effect of complexity, platform, and program type on software development effort of business applications,” Empirical Software Engineering, vol. 11, no. 4, pp. 541–553, Oct. 2006, doi: 10.1007/s10664-006-9023-3.
[13] S. M. Satapathy, S. K. Rath, and B. P. Acharya, “Early stage software effort estimation using random forest technique based on use case points,” IET Software, vol. 10, no. 1, pp. 10–17, Feb. 2016, doi: 10.1049/iet-sen.2014.0122.
[14] S. M. Satapathy, B. P. Acharya, and S. K. Rath, “Early Stage Software Effort Estimation using Random Forest Technique based on Optimized Class Point Approach”, INFOCOMP Journal of Computer Science, vol. 13, no. 2, pp. 22–33, Dec. 2014.
[15] M. R. Braz and S. R. Vergilio, "Software Effort Estimation Based on Use Cases," 30th Annual International Computer Software and Applications Conference (COMPSAC'06), 2006, pp. 221-228, doi: 10.1109/COMPSAC.2006.77.
[16] S. Diev, “Use cases modeling and software estimation,” ACM SIGSOFT Software Engineering Notes, vol. 31, no. 6, p. 1, Nov. 2006, doi: 10.1145/1218776.1218780.
[17] P. Mohagheghi, B. Anda and R. Conradi, "Effort estimation of use cases for incremental large-scale software development," Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005., 2005, pp. 303-311, doi: 10.1109/ICSE.2005.1553573.
[18] G. Canfora, A. R. Fasolino, G. Frattolillo, and P. Tramontana, “A wrapping approach for migrating legacy system interactive functionalities to Service Oriented Architectures,” Journal of Systems and Software, vol. 81, no. 4, pp. 463–480, Apr. 2008, doi: 10.1016/j.jss.2007.06.006.
[19] Z. A. Siddiqui and K. Tyagi, “A critical review on effort estimation techniques for service-oriented-architecture-based applications,” International Journal of Computers and Applications, vol. 38, no. 4, pp. 207–216, Oct. 2016, doi: 10.1080/1206212x.2016.1237132.
[20] V. Raj and R. Sadam, “A Framework for Migration of SOA based Applications to Microservices Architecture,” Journal of Computer Science and Technology, vol. 21, no. 2, p. e18, Oct. 2021, doi: 10.24215/16666038.21.e18.
[21] E. A. Farrag, R. Moawad, and I. F. Imam, “An Approach for Effort Estimation of Service Oriented Architecture (SOA) Projects,” Journal of Software, vol. 11, no. 1, pp. 44–63, 2016, doi: 10.17706/jsw.11.1.44-63.
[22] A. Yanchuk, A. Ivanyukovich, and M. Marchese, “Towards a Mathematical Foundation for Service-Oriented Applications Design,” Journal of Software, vol. 1, no. 1, Jul. 2006, doi: 10.4304/jsw.1.1.32-39.
[23] G. Karner, “Resource estimation for objectory projects,” Objective Systems SF AB, vol. 17, pp. 1–9, 1993.
[24] P. Bhallamudi, S. Tilley and A. Sinha, "Migrating a Web-based application to a service-based system - an experience report," 2009 11th IEEE International Symposium on Web Systems Evolution, 2009, pp. 71-74, doi: 10.1109/WSE.2009.5630392.
[25] F.S. Aliee, S. Oviesi. A way to improve Adaptive Maintenance in Enterprise Architecture. Journal of Information Systems and Telecommunication;8(1):1-4.2020;doi: 10.7508/jist.2020.01.001.
[26] V. Raj and S. Ravichandra, "Microservices: A perfect SOA based solution for Enterprise Applications compared to Web Services," 2018 3rd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT), 2018, pp. 1531-1536, doi: 10.1109/RTEICT42901.2018.9012140.
[27] V. Raj and R. Sadam, “Performance and complexity comparison of service oriented architecture and microservices architecture,” International Journal of Communication Networks and Distributed Systems, vol. 27, no. 1, p. 100, 2021, doi: 10.1504/ijcnds.2021.116463.