Is Acton production ready? #1725
-
Acton looks great but is it ready to build and deploy an application on single node today? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
The short story is: No, Acton is not production ready. Hobby use and experimental use is very welcome but you should probably not build a business around Acton now. By single-node I think you mean running without the database backend. You can very likely build an application using Acton today that is stable and does the thing it is supposed to do without using the backend / orthogonal persistence. There are clear limitations that we know of today, like actors do not have any interface abstractions, so unlike a class where you can implement inheritance or mixin classes or define adherence to protocols / extensions (an "interface"), you don't get the same with actors. We don't have unboxing of numbers and the GC is not optimized, so Acton might be slower than other runtimes (while it is still faster than many others). These might be annoying limitations (which we will fix of course) but you can write a production application just fine even with these limitations. What is more annoying is of course if you run into a bug. Acton in its current form is maintained on a voluntary contribution basis, there are no SLAs and it is just not as mature as other languages out there, so the risk is higher. While the language is working but quite young, the orthogonal persistence is much more immature. I would describe it as experimental / proof of concept. It works in the sense that we can persist and restore application state from the DB, which does prove the concept but there is a clear lack of functionality that I think needs to be addressed before it can be considered for use in real applications. From top of my mind:
Then for scaling out via the DB we need support for multiple RTS to use the same DB cluster. It is not currently supported. Since orthogonal persistence is not production ready, you would need to adopt the classic means of solving persistence, like using an external database. Database drivers are implemented just like for other languages. Acton interoperates very nicely with C libraries, so that's a simple integration point. Acton is well suited for backend services. By frontend I suspect you mean running in a web browser? That is not possible, you will have to use something else for that. Hope this helps and don't hesitate to reach out if you have more questions :) |
Beta Was this translation helpful? Give feedback.
The short story is: No, Acton is not production ready. Hobby use and experimental use is very welcome but you should probably not build a business around Acton now.
By single-node I think you mean running without the database backend. You can very likely build an application using Acton today that is stable and does the thing it is supposed to do without using the backend / orthogonal persistence. There are clear limitations that we know of today, like actors do not have any interface abstractions, so unlike a class where you can implement inheritance or mixin classes or define adherence to protocols / extensions (an "interface"), you don't get the same with actors. We don't have unboxing…