Golang at PayPal For Modernizing And Scaling

Before understanding how Golang has helped PayPal let us understand what is PayPal

What is PayPal?

PayPal is a worldwide online payment system through which you can do online money transfers, it as an alternative method for checks and money orders. It acts as the payment processor for many commercial users, online vendors, etc in return for payment processing PayPal charges a fee. PayPal was created to empower people and businesses and thrive in the global economy.

But as time passed and the payment platform grew larger and more complex. There was a need to modernize the system and reduce the time-to-market for new applications. And so Golang was the right fit for PayPal due to its features like producing clean code, scalability, concurrency, efficient code, high performance.

The Proprietary NoSQL database of PayPal was developed in C++, but due to the complexity of the code, the ability of developers for evolving or enhancing the platform started gradually decreasing. The simplicity of code, presence of goroutine, and channel which made team to ultimately choose Golang for NoSQL development which further helped to simplify and modernize the PayPal platform. After choosing Golang as the language of the development, the team spent around some months learning it and for the reimplementation of the NoSQL system in Golang. 30% of the clusters’ migration has been done in order to make use of the new NoSQL database till date.

Why Golang at PayPal?

PayPal was looking for programming language which is parallel, high performant, scalable, concurrent, portable, and provides leverage to the developer for composable and modular open-source architecture. All the expected needs were fulfilled by Golang, and over to these needs, Golang also contributed to modernizing the system.

Security is one of the key factors along with supportability at PayPal where Golang’s simplicity, clean code, and modularity helped PayPal to achieve it. Still, PayPal is modernizing its SDN infrastructure using Golang.

Bala Natarajan, Sr. Director of Engineering said -

In our tightly managed environments where we run Go code, we have seen a CPU reduction of approximately ten percent with cleaner and maintainable code.”

Golang at PayPal

  • Golang is primarily used as an infrastructure language at PayPal
  • Golang contributes to PayPal with its libraries, tools, concurrency, simplicity, scalability, garbage collection, etc, and helped the platform to simplify the complexity of creating, running application at scale.
  • Golang helps and encourages developers to spend their valuable time looking at code and strategically thinking about it. After successfully migrating the NoSQL system in Golang some other teams at PayPal also took interest in Golang and started adopting it. PayPal’s build and test farm are fully managed using Golang which supports builds-as-a-service for developers at PayPal.
  • Developers at PayPal due to the use of Golang were benefited from its ability of ease of programming of dynamically typed, interpreted language with safety as well as the efficiency of statically typed and compiled language.
  • There are 100 Golang developers at PayPal and the productivity of developers using Golang has increased. Developers also have been benefited from quick compilation to machine code and garbage collection.

PayPal is also planning to move to the Google Kubernetes Engine in order to speed up its new product time-to-market. Apart from the features of Google Kubernetes Engine, the combination of Golang and Google Kubernetes Engine helps the company to effortlessly scale and meet the demand.

Bala Natarajan, Sr. Director of Engineering, Developer Experience at PayPal said -

Go provides channels and routines to deal with complexity, we were able to structure the code to meet our requirements.

PayPal is one of many companies which has migrated its existing language to Golang, read more about the article from the original source here

You can also read more articles about Golang here-

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Reemi Shirsath

Reemi Shirsath

110 Followers

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