Skip to main content

Architecting High-Availability Java Microservices for Financial Applications on AWS

Abstract

Real-time banking, digital payment and trading require abstract financial applications that are read only, low-latency to process transactions, scalable, and high level of security. The article introduces the concept of cloud-native solution to the high-availability strategy to design Java microservices on the Amazon Web Services (AWS) to stabilize and improve the functioning of the system. The High-Availability Financial Microservices Framework (HAFMF) monitored is a framework that deploys microservices spring boot-based systems running a docker container that is managed by Amazon Elastic Kubernetes Service (EKS). Repatriation and acquittal of traffic application request can be done on API Gateway, AWS Application Load Balancer and Amazon route 53, but on the Amazon RDS Multi-AZ, DynamoDB and Elasti- cache, durability of information and speedy retrieval is ensured. Amazon SQS and Amazon EventBridge help achieve event-driven communication, enhance service decoupling, and fault tolerance. In a bid to ensure higher levels of security, it uses AWS Identity and Access Management (IAM), AWS Key Management Service (KMS), AWS Web Application Firewall (WAF) and centralized monitoring, based on Amazon CloudWatch and AWS X-Ray. The framework contains auto-scaling, circuit breaker, distributed tracing and disaster recovery plans to minimize the down-time and proceed with service delivery. The suggested solution is scalable, secure and resiliency to meet the high demands of the financial services and reduce the cost of operations and improve the availability of the applications in cloud set up in an enterprise set up which stands out as strategically positioned

References

[1] P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis, and S. Tilkov, “Microservices: The journey so far and challenges ahead,” IEEE Software, vol. 35, no. 3, pp. 24–35, May/Jun. 2018.
[2] C. Richardson, Microservices Patterns: With Examples in Java. Shelter Island, NY, USA: Manning Publications, 2019.
[3] A. Balalaie, A. Heydarnoori, P. Jamshidi, D. A. Tamburri, and T. Lynn, “Microservices migration patterns,” Software: Practice and Experience, vol. 48, no. 11, pp. 2019–2042, Nov. 2018.
[4] G. Marquez, M. M. Villegas, and H. Astudillo, “A pattern language for scalable microservices-based systems,” in Proc. 12th European Conf. Software Architecture Companion (ECSA Companion), 2018, pp. 1–7.
[5] G. Marquez and H. Astudillo, “Actual use of architectural patterns in microservices-based open source projects,” in Proc. 25th Asia-Pacific Software Engineering Conf. (APSEC), 2018, pp. 31–40.
[6] J. A. Valdivia, A. Lora-Gonzalez, X. Limón, K. Cortes-Verdin, and J. Ocharan-Hernández, “Patterns related to microservice architecture: A multivocal literature review,” Programming and Computer Software, vol. 46, no. 8, pp. 594–608, Dec. 2020.
[7] S. Li, H. Zhang, Z. Jia, C. Zhong, C. Zhang, Z. Shan, J. Shen, and M. A. Babar, “Understanding and addressing quality attributes of microservices architecture: A systematic literature review,” Information and Software Technology, vol. 131, Art. no. 106449, Mar. 2021.
[8] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 2nd ed. Boston, MA, USA: Addison-Wesley, 2003.
[9] J. A. Valdivia, X. Limón, and K. Cortes-Verdin, “Quality attributes in patterns related to microservice architecture: A systematic literature review,” in Proc. 7th Int. Conf. Software Engineering Research and Innovation (CONISOFT), 2019, pp. 181–190.
[10] T. de Oliveira Rosa, J. F. L. Daniel, E. M. Guerra, and A. Goldman, “A method for architectural trade-off analysis based on patterns: Evaluating microservices structural attributes,” in Proc. European Conf. Pattern Languages of Programs (EuroPLoP), 2020, pp. 1–8.
[11] T. Sousa, H. S. Ferreira, and F. F. Correia, “A survey on the adoption of patterns for engineering software for the cloud,” IEEE Transactions on Software Engineering, vol. 48, no. 12, pp. 4961–4987, Dec. 2022.
[12] D. Taibi, V. Lenarduzzi, and C. Pahl, “Continuous architecting with microservices and DevOps: A systematic mapping study,” in Proc. Int. Conf. Cloud Computing and Services Science (CLOSER), 2019, pp. 126–151.
[13] B. Li, X. Peng, Q. Xiang, H. Wang, T. Xie, J. Sun, and X. Liu, “Enjoy your observability: An industrial survey of microservice tracing and analysis,” Empirical Software Engineering, vol. 27, no. 1, Art. no. 13, 2022.
[14] M. Waseem, P. Liang, M. Shahin, A. Di Salle, and G. Marquez, “Design, monitoring, and testing of microservices systems: The practitioners’ perspective,” Journal of Systems and Software, vol. 182, Art. no. 111061, 2021.