OTP is a hardened set of design elements and idioms used to create fault-tolerant systems, like Jonas said (for example, flexibility, live updates, etc.). In short, you want to use it for these environments or environments that can grow in them because most of the blood, sweat, and tears from building reliable, stable systems in Erlang are baked in the behavior and architecture of OTP. If you do not use them, you either will not have a fault-tolerant, flexible system, or you recreate all the solutions, one error and one error at a time, to create, in the end, what constitutes the OTP clone.
So the question is when do you want to use OTP? You do not need OTP if you are not involved in software that is designed to work for a long time with minimal interruption. You do not need OTP if you already have a framework that does its job that you are more familiar with. You do not need OTP if you want to find out (which can be difficult) what solutions are behind OTP projects. You do not need OTP if the cost of training (and there is a cost!) Exceeds the cost of system downtime for your software.
The best way to get to know whys and wherefores OTP is to use the OTP Design Guidelines User Guide . If the argument is not explicitly stated, you can often read between the lines to find the rationale for each component.
JUST MY correct OPINION
source share