Processing things concurrently is at the core of answering "why functional programming". Let's use those multi-core machines!
Functional languages are a natural for distributed programming because they don't allow mutation (change) and tend to be quite self-contained. Moreover the Erlang VM operates in a distributed way, encouraging programmers to develop processes, agents and tasks as opposed to objects, classes and libraries.
Sound familiar? Perhaps distributed, message-based architectures or (to use a buzzword) microservices? Yes, this is the same pattern. And Jessica Kerr (@jessitron) sums it up pretty well:
Erlang has been providing [the connection between services] for literally 25 years. As we get more and more sophisticated microservice implementations, each one grows their own crappy version of Erlang
It's true. Erlang has been around for many, many years and has created the standard for bullet-proof, fast, distributed programming. Other languages and platforms are trying to emulate what it does already with interesting new architectural approaches.