Scalable invoice-based B2B payments with microservices

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Premsankar, Gopika
dc.contributor.author Khan, Muhammad
dc.date.accessioned 2020-01-26T18:10:28Z
dc.date.available 2020-01-26T18:10:28Z
dc.date.issued 2020-01-20
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/42766
dc.description.abstract Paying by invoice has several advantages for businesses over conventional payment methods such as Debit/Credit cards. An invoice not only allows a buyer to make the purchase on credit but also contains the tax information for each purchased item. Businesses need to save this information in their financial records and report it to the authorities. The core challenge in an invoice-based payment method is the ability to make an accurate credit decision for a given purchase. Such a credit decision requires information about the buying company such as their credit rating. The company information is gathered in real time from different third-party sources. In this context, Enterpay Oy provides an invoiced-based B2B payment solution and is growing its payment service to European countries. In order to support this expansion, Enterpay needs to develop new capabilities such as the ability to detect fraudulent purchases. These new features require the application architecture to be flexible in terms of technology. For example, different components of the service should be built with the most suited programming language, libraries, and frameworks. The goal of this thesis is to enable efficient scaling and high availability for Enterpay's payment service. Thus, we have migrated from a monolithic a microservice-based architecture. This transition allows us to choose the best suited technology for the business case of the given microservice. We extracted various modules from the original monolithic application, which have different scalability criteria. We built these modules as Docker containers, which run as independent microservices. We used Kubernetes as the container orchestration framework and deployed the microservice in Amazon Web Services (AWS). Finally, we conducted experiments to measure the performance of the service with the new architecture. We found that this architecture not only scales faster but also recovers from instance failures quicker than the previous solution. Additionally, we noticed that the average response time of service request is similar in both architectures. Finally, we observed that new microservices can be built using different technology stack and deployed conveniently in the same Kubernetes cluster. en
dc.format.extent 66 + 4
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Scalable invoice-based B2B payments with microservices en
dc.type G2 Pro gradu, diplomityö fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword microservices en
dc.subject.keyword docker en
dc.subject.keyword kubernetes en
dc.subject.keyword B2B payments en
dc.subject.keyword monolithic architecture en
dc.subject.keyword virtualization en
dc.identifier.urn URN:NBN:fi:aalto-202001261876
dc.programme.major Cloud Computing and Services fi
dc.programme.mcode SCI3081 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Francesco, Mario Di
dc.programme Master's Programme in ICT Innovation fi
local.aalto.electroniconly yes
local.aalto.openaccess yes


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse