4 ms·
I think the author's use of the microservices is unfortunate and confusing. With the BEAM, it is easy to create fully independent process trees. The architectu
by cuddlecake 6y ago
I think the author's use of the microservices is unfortunate and confusing.
With the BEAM, it is easy to create fully independent process trees. The architecture enables it. In fact, you can pull in dependencies and add them as "OTP applications" (which is in essence a fully independent process tree, doing its thing.)
The BEAM lends itself very well to structuring parts of your application as independently supervised process trees.
This is similar to microservices, where each microservice represents a fully independent process tree, with which you can only communicate via well-defined interfaces.
As I said, the author's comparison to Microservices is very unfortunate.
- OkayPhysicist 6y agoWhat's the practical difference between a "real" microservice and an independent process tree potentially running on a different machine? Erlang/Elixir really doesn't have any trouble being distributed across multiple nodes, you just get a lot more latency on your messages.
- cuddlecake 6y agoYou're correct, there's barely any difference, from a structural point of view. I was mainly taking issue with the author's comparison of processes with microservices: > You can consider each process a logical microservice But as you said, the process trees can be considered (micro)services, but I wouldn't say that each process represents a microservice. It's just not accurate in my opinion.
- ggv 6y agoOP here. You make a valid point. I was speaking in generalities in a short high-level blog post. I liked microservices better the first time when it was called SOA (service oriented architecture) in which there was an emphasis on the logical encapsulation of services. How they were to be deployed was a separate concern. I was really trying to emphasize the logical separation vs. deployment separation and not the "micro" nature. Thanks for picking up on that.