Golang was developed to be an easy and universally used language combining the advantages of its predecessors, such as C, PHP, and Python. It’s declared to be so perfect for business needs, that a logical question arises: “Is it really so good in practice?”
At Surf we have been developing solutions for fintech companies, banks, retailers, and streaming services since 2011. DesignRush put us on the list of Top 20 Fintech Software Development Companies. We are confident that for a successful developer team, it’s important to be aware of best solutions and practices in the IT industry, so we always learn about new cases. Here we share an overview of Golang use cases from various niches.
Golang use cases in fintech
uses Go for microservices and tools development
It’s an online bank platform and marketplace launched in 2015 and suggesting various financial services to users. Regularly updated features, fast access to money, and great technology support have allowed the bank to win the respect and loyalty of millions of customers.
Monzo chose microservice architecture and has used it from the very beginning, while other companies usually start with monoliths. In fact, Monzo uses over 1600 microservices today. As Go is a microservice-friendly, performant, and resource effective programming language, the bank chose it for its numerous tools unrivaled in the development process. It helped optimize computing resources usage, minimize delays, and implement best development solutions.
uses Go in its various teams
The German bank, launched in 2016, became a tech company with a platform enabling financial companies to offer their products using APIs—either identification, payments, or cards etc. Golang is widespread among the bank teams: the Data platform, the Core banking, and the Auth teams are among them.
To say some words about what Go is used for in Solarisbank, it is preferred in pipelines serving an infrastructure building, the authentication and authorisation systems reversing, proxies, and protocol level banking systems development.
The Surf team met various challenges in fintech projects development. Thousands simultaneous requests, constantly updated features, rich functionality, extra requirements to security, and many other industry-specific needs make fintech one of the most complicated niches for back-end development. But it didn’t stop us from launching the first Flutter-powered banking app in Europe.
Golang best use cases in payments processing systems
increased development speed with Go
This American company operates a payment system acceptable in many countries worldwide and provides users with convenient and secure online payments. Each of us have at least once used PayPal to buy something or receive money from a buyer.
As the company grows quickly, it needs to be on the top of things, and the question of technologies it prefers is not an exception. So, having a platform which becomes more complicated day by day, PayPal decided to try a new programming language. Fast transactions and high availability are important for the company and its users, and developers productivity becomes a must to avoid problems related to these requirements. It means, the programming language they write in should be very easy, fast, and secure at the same time. C++ used earlier was good, but it was also too complicated, and slowed down the IT engineers’ work.
In this specific use case, Golang turned out to be the appropriate language for building, testing, and pipeline release. After PayPal started implementing it, the engineers noticed a CPU usage reduction of 10%. And within 6 months since they had first tried Go, the development process was optimized: now programmers solve tasks more efficiently, because they don’t have to concentrate on “code fighting” anymore.
modernized payments proceeding and achieved high performance
American Express is a corporation famous worldwide that offers payment card services for businesses and individuals. Having various products and financial solutions, the company serves billions of people, and provides them with payment services with high availability. As the amount of transactions per second is constantly growing, American Express regularly modernizes its architecture and processes to make payments and rewards as fast as possible.
Golang, as a programming language with easy code, high level of security, and numerous up-to-date features, became a great solution to try. Before turning to Go, the company used Java, Node.js, and C++ as well. One day, engineers working at the company pitched the idea to try Go and decided to organize a showdown to compare programming languages they had already used to Golang. Results were really impressive: due to its benefits, Go took second place in performance, proceeding 140,000 requests per second, and its toolset and numerous features appeared to be perfect for the company’s goals.
Scalable, fast, providing an easy running development process, Go helped American Express modernize payment and rewards proceeding, and became the main language used for microservices building.
Music and video streaming platforms with Golang
prefers Go for the high loaded systems
Twitch is a video streaming platform developed in the USA mostly for video game live streaming and demonstrating other entertainment content. The platform works with simultaneous requests from over 30 thousand users every day. Over 2 million concurrent videos are streamed on Twitch, and its chat service delivers over 10 billion messages per day. In addition, web APIs used by the company handle about 50 thousand requests each second.
To say some words about the Go use case, for Twitch high availability and reliability are vital: too many people use it for these features and prefer it to other platforms because they have no unexpectable problems with Twitch. To have such inspiring results, Twitch has chosen Golang for an impressive part of its high loaded systems:
- transcode system is implemented with both C++ and Go,
- distribution and EDGE, providing the highest quality of video, is mostly written in Go,
- chat as a scalable distributed system is written in Go.
Due to Go advantages, such as scalability, simplicity, good concurrency, and convenient multithreading system, the programming language became unrivaled for Twitch. Besides, engineers working in the company developed their own RPC (Remote Procedure Call) framework—thanks to this tool, back-end services created in Golang can efficiently communicate with each other.
At Surf we have our own story of custom YouTube-like video streaming platform development. It includes both web and mobile apps, created for a producer of top-rated digital projects.
Back-end able to handle 50 thousand requests per second, convenient player, powerful admin panel, analytics service, and attractive design helped the platform get a reward: #1 Entertainment App in App Store.
significantly speeded up development process
Founded in 2007, this online audio distribution platform with a website became one of the most popular and the largest one in 190 countries. The platform has over 76 million active users per month and about 300 million tracks, which is three times more than other similar services have.
SoundCloud has chosen Go as a simple, but powerful language, which allows fast development, deployment, testing and rolling out processes for apps. As Go is a statically typed and compiled programming language, the company uses it also for unit testing during development and near-realtime static analysis.
Programmers working at SoundCloud note that with Go they concentrate on problem solving, not on language itself. There is usually only one way to do the thing, so they don’t need to spend extra time on choosing a way of code writing. Even engineers who are criticizing Golang, and are not eager to spend much time on mastering it, can quickly start writing simple and clear code that allows fast execution. It often persuades them to change their opinion. Moreover, with Go the commits from zero to productive are the fastests to compare it to other languages SoundCloud uses.
In addition, about half a dozen services and over a dozen repositories used by Souncloud are written in Golang. And the programmers working at the company increasingly turn to Go when spinning up new backend projects.
Golang use cases in retail
got a fast cache service
Allegro is one of the most famous eCommerce companies in the European countries. Over 135 thousand vendors use it to attract 22 million online customers a month and offer them various goods. It’s a very large marketplace founded in Poland, and it serves millions of users and stores a lot of data.
To support the system’s reliability under high loads, Allegro decided to develop a fast cash service having concurrent access to handle numerous entries and delete them after some time. Before the company tried Go, they used Python, Java, and PHP—more complicated languages with lower performance. Easy language having high compilation speed and effective memory management became the solution the company was looking for. They chose the FreeCashe available in Go, and, as a result, the longest request that took 2.5 sec speeded up to 250 ms.
modernized their software and reduced resource consumption
Mercadolibre is an eCommerce company owning marketplaces for auctioning and online retailing. Based in Buenos Aires, today, it is one of the leading organizations in its sector in the Latin American countries.
The number of users and transactions is constantly growing, new features are regularly developed—and the company has challenging scalability needs. With the previous stack and API framework, scaling was quite a difficult task. So, Mercadolibre decided to try Go for its benefits— simplicity, scalability, and up-to-date tools. Thanks to this programming language, the company modernized their software and achieved great results in scalability.
In addition, Go helped the company reach better performance for proceeding requests, and instead of 10 million requests a minute, now they have 10 ms per request. By the way, they need 8 times less servers than they used before, have CPU usage 2x reduced, and save a lot of resources.
To sum up
- Golang is widespread in various niches: fintech, retail, video streaming, and banking.
- In fintech Go is chosen to avoid lack of requests proceeding speed, low availability, and to enhance microservices building.
- In payment processing Go is used to solve tasks like modernizing payments and rewards, increasing performance, and reaching more effectiveness in the development process.
- In retail Golang use cases the language is chosen to solve such tasks as fast cache services development, and request time reduction.
- In music and streaming platform development, Go is a good fit for the high loaded systems development, and helps make commits from zero to productive fast.
- To find out if Go is an appropriate solution for your business, note that, in spite of Go benefits, development cost is not that low. So, this language is best for large-scale projects, but it’s not the best choice for the small ones if you’re not planning to expand them. It also makes no sense to use Go for simple middleware development or creating a POc for investors.
At Surf we have 12 years’ experience in back-end development. Together we master and implement best software development practices to launch projects that become a pride for our big team. We know everything about business’ needs today and suggest powerful IT solutions to help companies reach their goals.