Scalable Microservices Architecture for Data-Intensive Applications

  • Authors

    • Dr. Siti Aisyah Rahman Department of Education, Nusantara State University, Kuala Lumpur, Malaysia. Author

    DOI:

    https://doi.org/10.67228/30713498/IJADSMC-2022PII0L1Z

    Published 07-05-2022

  • Microservices, Scalability, Data-Intensive Systems, Distributed Architecture, Cloud-Native Applications, Service Orchestration

    Issue

    Section

    Articles

    How to Cite

    [1]
    S. A. Rahman, “Scalable Microservices Architecture for Data-Intensive Applications”, IJADSMC, vol. 5, no. 2, pp. 01–12, Jul. 2022, doi: 10.67228/30713498/IJADSMC-2022PII0L1Z.
  • Abstract

    The modern software architectures have never had higher requirements than they do currently as the result of the rapid growth of data-intensive applications in the fields of cloud computing, Internet of Things (IoT), artificial intelligence, and large-scale web services. Amongst the problems that traditional monolithic systems cannot cope with are scalability, fault tolerance and on-going deployment demands using extensive data workloads. The consequence of this is that microservice architecture has become an architecture with potential to make systems that are scalable, resilient, and maintainable. The paper provides a detailed research of scalable microservices architecture specifically to the data intensive applications. The suggested architecture breaks the complex applications in loosely coupled, independently deployable services, which are specialized in the processing of specific data. Such fundamental architectural values as service granularity, data decentralization, containerization, orchestration, and asynchronous communication are discussed in detail. An overlay-based architectural design is presented to help scalability horizontally and provide high availability as well as efficient data management. Also, the analysis of current architectural methods is done in this study based on the comprehensive literature review that finds out the limitations in scalability, consistency, and operational complexity. An end-to-end process is suggested, where distributed data stores are combined with event-driven communication and automatic scaling processes. The analysis of performance has shown that the proposed solution is much better in terms of throughput, latency and fault isolation than the conventional architectures. These findings prove that microservices architecture with proper design presents a solid base of scalable data-intensive systems. The paper is useful to the researchers and practitioners who need to develop high-performance, cloud-native applications using micro services.

  • References

    [1] Newman, S. (2015). Building Microservices: Designing Fine-Grained Systems. O’Reilly Media.

    [2] Lewis, J., & Fowler, M. (2014). Microservices: A definition of this new architectural term. Martin Fowler Blog.

    [3] Dragoni, N., Lanese, I., Larsen, S. T., Mazzara, M., Mustafin, R., & Safina, L. (2017). Microservices: Yesterday, today, and tomorrow. Present and Ulterior Software Engineering, Springer.

    [4] Pautasso, C., Zimmermann, O., & Leymann, F. (2017). Microservices in practice, part 1: Reality check and service design. IEEE Software, 34(1), 91–98.

    [5] Villamizar, M., Garcés, O., Ochoa, L., Castro, H., Salamanca, L., Verano, M., Casallas, R., & Gil, S. (2016). Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. IEEE Cloud Computing, 3(6), 10–18.

    [6] Taibi, D., Lenarduzzi, V., & Pahl, C. (2018). Architectural patterns for microservices: A systematic mapping study. Proceedings of the 8th International Conference on Cloud Computing and Services Science.

    [7] Fowler, M. (2017). Event sourcing. Martin Fowler Blog.

    [8] Richardson, C. (2018). Microservices Patterns: With Examples in Java. Manning Publications.

    [9] Namiot, D., & Sneps-Sneppe, M. (2014). On micro-services architecture. International Journal of Open Information Technologies, 2(9), 24–27.

    [10] Zhang, Q., Chen, M., Li, L., & Li, M. (2018). Research on data consistency in microservice architecture. IEEE International Conference on Software Engineering and Service Science.

    [11] Pahl, C. (2015). Containerization and the PaaS cloud. IEEE Cloud Computing, 2(3), 24–31.

    [12] Jamshidi, P., Pahl, C., Mendonça, N. C., Lewis, J., & Tilkov, S. (2018). Microservices: The journey so far and challenges ahead. IEEE Software, 35(3), 24–35.

    [13] Kreps, J., Narkhede, N., & Rao, J. (2011). Kafka: A distributed messaging system for log processing. Proceedings of the NetDB Conference.

    [14] Chen, L. (2018). Microservices: Architecting for continuous delivery and DevOps. IEEE International Conference on Software Architecture (ICSA).

    [15] Zhou, M., Li, L., & Chen, J. (2019). Performance evaluation of microservices architecture using containers. Journal of Cloud Computing, 8(1), 1–14.

  • Downloads