EP-1 : WhatsApp's Engineering Practices: A case study
Software Engineering Practices and tech stack used in Whatsapp .
Hey Everyone!
How does WhatsApp handle so many concurrent users and messages? What kind of frameworks and programming languages enable that kind of scale? How do they keep all that data secure? Let’s see.
⭐ WhatsApp's architecture
WhatsApp's architecture is a distributed system that is designed to be highly scalable and reliable. The system is divided into a number of different components, each of which is responsible for a specific task.
The core of WhatsApp's architecture is the messaging service, which is responsible for delivering messages between users. The messaging service is based on the Ejabberd XMPP server, which is a highly scalable and reliable open source messaging platform. Ejabberd provides a number of features that are essential for WhatsApp, such as support for end-to-end encryption, reliable delivery, and scalability.
⭐ Tech Stack
Erlang
Erlang is the programming language of choice for WhatsApp’s backend systems.
Erlang is known for its fault tolerance, scalability, and concurrency. It is a programming language used to build massively scalable soft real-time systems with requirements on high availability. It brings the ability to hotswap code. You can take new application code and load it into a running application without restarting the application.
It is used in a variety of industries, including manufacturing, healthcare, and transportation, financial services, telecommunication.
FreeBSD
FreeBSD is the OS WhatsApp uses for their servers. FreeBSD is a good choice for systems that require security and performance.
SoftLayer
SoftLayer is the hosting platform that WhatsApp was using in 2016.
Softlayer's IaaS platform provides access to compute, storage, and networking resources. Its PaaS platform provides a development environment for building and deploying applications. Its SaaS platform provides a variety of business applications, including enterprise resource planning (ERP), customer relationship management (CRM), and human capital management (HCM).
⭐ WhatsApp's encryption
WhatsApp uses end-to-end encryption to protect the privacy of its users' messages. This means that only the sender and recipient of a message can read it. WhatsApp's encryption is based on the Signal Protocol, which is an open-source standard that is used by many other messaging apps.
⭐ WhatsApp's business API
WhatsApp Business API is a tool that allows businesses to communicate with their customers through WhatsApp. It provides businesses with a way to send and receive messages, manage chats, and track analytics. The API can be used to automate tasks, such as sending out promotional messages or responding to customer inquiries.
WhatsApp's business API is a powerful tool that can help businesses to improve their customer service and engagement. The API is easy to use and can be integrated with a variety of different systems.