Hacker News new | ask | show | jobs
by berkay 4793 days ago
Having implemented similar solutions, it's clear to me that developers did their homework and designed accordingly. I find myself agreeing with almost every decision I could see. - Go: light, no dependencies. This is key. If you ever deployed something in a non homogeneous environment with 100s/1000s of servers, you'd know the pain.

- Plugin system: Only way to scale the development of the solution

- Lua for plugins: Yes! Language is not important, but not having to stop and restart the application for changes in logic, etc. is essential.

- Routing. Sounds great, can't wait to take a deeper look.

Kudos to devs. Nicely done!

1 comments

Not very familiar with Go, could someone please elaborate on what "Go: no dependencies" mean? Thanks
Basically it means that you can have statically linked executables that do not have dependencies to other libraries, and can be deployed by simply copying the files.

Alternatives written is scripting language like ruby, python, etc. require runtimes and libraries, and it can get quite complicated to deploy them (especially if the env. has lots of different OS versions, etc.), keep track of all dependencies, deal with conflicts with other apps that may require a different version of the runtimes & libraries. As such for operational reasons it's very appealing to have a distributable binary that works without having to worry about what prerequisites are and whether it would impact anything else on the server.