Win $20,000. Help build the future of education. Answer the call. Learn more

Archived | Create a microservices-based digital banking web-application

Archived content

Archive date: 2019-08-06

This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.


Development of cloud native apps that are broken down into a set of microservices has been praised and commended as best practices in software development methodologies. Software stacks like Kubernetes, which enable cloud native computing, have therefore picked up quite a bit of popularity. However, it’s a lot more fun to try and build a so-called cloud native app, than to talk about the logistics for one. So here’s our attempt: We’ll take a use-case scenario that has a bit of real-world familiarity to it — a digital bank. Inspired by Monzo, we have a demo bank called “Innovate.” Note: This is a demo site and will not collect any PII.


This code pattern is meant to describe how a hypothetical, real-world application can be broken down into a set of microservices, where core functionality is delegated to the appropriate microservice, and the web-app portal is left as lightweight as possible. Ideally, the pattern is meant to portray some of the 12-factor-app characteristics in use and justify the use of microservices, where appropriate. In this case, the microservices are independently deployable and independently scalable.

When you complete this journey, you’ll understand how to:


  1. Portal: Loads the UI and takes care of user sessions. Relies on all other microservices for core functionality.
  2. Authentication: Handles user profile creation, as well as login & logout.
  3. Accounts: Handles creation, management, and retrieval of a user’s banking accounts.
  4. Transactions: Handles creation and retrieval of transactions made against users’ bank accounts.
  5. Bills: Handles creation, payment, and retrieval of bills.
  6. Support: Handles communication with Watson Conversation to enable a support chat feature.



Ready to put this pattern to use? Complete details on how to get started running and using this application are in the