Enabling Your Digital Transformation
Services / CLOUD
- Cloud Consulting
- Migration Strategies
- Cloud-Native Development
- Cloud Monitoring
- Cloud Security
- Cloud Cost Optimization
Share your requirements and we'll get back to you with how we can help.
Aiming for massive concurrency and almost zero downtime?
If what you have in mind is a nonstop application with scalability and concurrency built into it, consider building it on Erlang. Developed at Ericsson and now open sourced, Erlang is a functional programming language well suited for building highly scalable and fault-tolerant soft real-time systems.
Erlang is ideal for soft real-time systems that require low latency. A major advantage lies in the way the Erlang Virtual Machine (BEAM) handles garbage collection. Processes in BEAM are lightweight, and the preemptive Erlang scheduler allocates a fair share of time to each process (request, user, client) without causing starvation. Unlike in a Java or .NET machine, garbage collection pauses in Erlang VM are not noticeable and do not halt the system.
Erlang is an excellent choice for implementing a number of the classical Internet protocols. The inherent distribution based on TCP/IP makes it relatively easy to scale from one computer to a cluster of many. A variety of applications, including network-intensive ones, can therefore be built using Erlang.
Inherent support for concurrency allows Erlang servers to handle millions of parallel connections without any interference or performance degradation. Erlang also makes it possible to upgrade systems without stopping them. Any update can be done in zero-downtime mode, which is crucial for real-time chatting services.
Riak is a database written in Erlang and designed to operate in highly distributed environments. Typically, it finds use in cloud storage platforms. Gaming, network monitoring, CDN, and other read-write intensive enterprise applications are common use cases for Riak deployment.
WhatsApp-like but with lot more features! This IM application was developed for both iOS and Android platforms. XMPP is the messaging protocol and Riak, the database.
The app uses a custom Erlang server with modules for message exchange, phone number based registration, multi-user chat (searchable with tags and topics), offline message storing, and sharing of images, videos, or audio files. Communication is based on customized XMPP with encryption for low mobile data usage and high message deliverability, among other improvements.
Can Erlang solve your concurrency challenge?