WhatsApp Architecture


Welcome to the architecture of the decade , WhatsApp 🙂 in terms money got from Facebook 🙂

WhatsApp Messenger is a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS.

whatsapp_tweet

WhatsApp is disruptive SMS technology on your phone (via internet).

What is underlying architecture?

It was not LAMP ( Linux, Apache, MySQL , and PHP front end) thought?.

We have discussed LAMP in facebook and Zynga architecture .

LYCE/LYME architecture

LYME and LYCE are solution stacks composed entirely of free and open-source software to build high-availability heavy duty dynamic web pages. The stacks are composed of:

  (The above is from wikipedia, and self explanatory)

Hardware

  • Dual Westmere Hex-core (24 logical CPUs)
  • 100GB RAM, SSD
  • Dual NIC (user-facing, back-end/distribution)
  • FreeBSD 8.3
  • OTP R14B03

(from Rick Reed, software developer’s slide pack of WhatsApp)

Key functionality

Instant Messaging: is a type of online chat which offers real-time text transmission over the Internet.

 Enter Ejabberd

Ejabbered is XMPP server which provide quite good features of open source, Whatsapp uses some modified version of this, facebook messaging also uses a modified version of this. Some more chat applications likes Samsung’s ChatOn, Nimbuzz messenger all use ejabberd based ones.

XMPP is “Extensible Messaging and Presence Protocol”   is a communications protocol for message-oriented middleware based on XML.

XMPP is a relatively simple protocol that occurs over TCP sockets using XML messages

Simple XMPP architecture is as follows:

 Diagram of a more complex XMPP architecture, with XMPP gateways connecting to SMS and SMTP clients and servers

Ejabbered architecture is as follows:

File:JabberNetwork.svg

Enter Erlanng Factory

Erlang logo.png

The Erlang Factories are a grounded, hand-on-the-wire point of inspiration where you meet the people who make and use Erlang. They are about the people, not just the language. –

Dave Smith (Author of Rebar)

Erlang factory uses the modified Ejabbered technology.

This is very high level architecture, will publish ,more on this architecture.

Hope you like it, pl fell free to comment 🙂

2 thoughts on “WhatsApp Architecture

  1. I’ve heard it said they are deployed in the cloud. But, I cannot tell if they are running as a virtualized server on top of a hypervisor (not to be confused with the Erlang VM) or simply on bare metal. Do you know? I assume bare metal.

Leave a comment