Monzo Bank Uses Golang In Their Entire Backend Services

Reemi Shirsath
3 min readNov 25, 2022

--

Before we start with the understanding of how Monzo Bank is using Golang, let us understand what is Monzo Bank

About Monzo Bank

Monzo Bank is a United Kingdom-based bank and one of the earliest of a number of new app-based challenger banks. Monzo is an excellent choice if you live in the UK. Monzo is a digital bank founded in 2015 that could easily replace your old bank.

It is a very popular digital bank for UK customers, with a full banking license. The company is regulated by Financial Conduct Authority. What they do they seem to be doing very well and reliably, and recently they’ve also switched gears when it comes to rolling out new features. It is recommended to users looking for a neobank with the best tools for spending categorization.

Monzo banking features:-

Monzo offers a wide array of banking features, following are some of them-

  1. You can see your spending categorized by the type of transaction (e.g. shopping). This is where the bank shines the brightest.
  2. You can set monthly budgets and spending goals
  3. You can send money and request money to and from other Monzo users instantly and
  4. Smart savings are also available
  5. You can earn interest on your savings.
  6. Overdrafts are possible.
  7. Joint accounts are also available.
  8. You can set up Apple Pay or Google Pay.
  9. 3D Secure online payments are supported.

Golang At Monzo

In February 2015 Monzo Bank was formed during that period the technical team of Monzo Bank decided to avoid the use of monolithic application design and opt for Microservices. The reason for avoiding Monolithic was due to the known requirements of scaling both the technology and teams building the Monzo backend applications.

The team decided to build their own platform and make use of most of the open source: Linux, Apache Cassandra distributed database, Google’s Golang programming language at the backend, and PostgreSQL. Hosted the infrastructure on the AWS (Amazon Web Services ) cloud. The backend services of Monzo are packaged within Docker images and deployed on Kubernetes.

The decision to build the Monzo banking application using microservices was made due to architectural style and the philosophy of — The single responsibility principle, Easier implementation of well-defined bounded contexts and interfaces/APIs.

The backend services were to be implemented using Google’s Golang as-

  • The programming language platform is memory managed,
  • Statically typed
  • Offers excellent concurrency primitives (such as goroutines and channels), and is ‘perfect for simple, small, network services.

As per Matt Heath, A Principal Engineer at Monzo Bank:-

Go is a perfect language for creating microservice architectures, and the concurrency features, and the language in general, has allowed the easy creation of small and simple networked services at Monzo that are focused around the ‘single responsibility principle

Read more about the article from the original source here

You can also read more articles about Golang Usage/Application here-

Author: Reemi Shirsath COO @ Scalent.io — A Golang Specialized Development Company.

--

--

Reemi Shirsath
Reemi Shirsath

Written by Reemi Shirsath

𝘾𝙊𝙊 @ 𝙂𝙤𝙡𝙖𝙣𝙜 𝙎𝙥𝙚𝙘𝙞𝙖𝙡𝙞𝙨𝙚𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 𝘾𝙤𝙢𝙥𝙖𝙣𝙮- Scalent.io

No responses yet