Handling (chat applications, for example) • Dealing with thousands of concurrent requests • Good at taking advantages of I/O They both run «server side», in the backend, so they are good for:
crash the app) • Scaling horizontally • Deployment and orchestration of a distributed system is complex and difficult to achieve • Implementing PubSub… it needs a broker (Redis)
No locks, no mutex, no semaphores, no context switching… • Isolated from each other: no shared memory • 10 000s of processes can coexist on one single machine
on Windows, Mac OS/X, Linux… • Production ready and mature for more than 30 years • Takes advantage of multiple CPU cores • Can run on multiple machines (nodes) • Hot code swapping
horizontally : Thanks to OTP, Elixir apps scale with less effort • Deployment and orchestration of a distributed system is complex and difficult to achieve : Thanks to OTP, Elixir apps are composed from other apps to achieve a great ecosystem • Implementing PubSub needs a broker (Redis) : Due to its distributed nature, implementing PubSub with Elixir is a breeze.
better than Erlang in my opinion) • Takes advantage of all the cool features of OTP / BEAM machine • Has a great community • Great to build strong fault-tolerant, distributed, scalable and concurrent applications, such as… • Games??? • Any world class, business grade, web applications