3 ms·
If a restart is unacceptable then live-patching a data structure change at runtime requires a #YOLO approach to developement and ice in your veins
by ithinkso 4y ago
If a restart is unacceptable then live-patching a data structure change at runtime requires a #YOLO approach to developement and ice in your veins
- xxpor 4y agoWell, I can't say too much, but it's not as bad as you might think. It's extremely annoying, but doable. It's really not that different from doing a DB table update.
- macintux 4y agoDepends on the platform. Erlang was specifically designed around telecom systems that needed maximal uptime, and the language and runtime collaborate to support hot patching with a distinctly non-YOLO approach.
- ithinkso 4y agoInteresting, Erlang comes up here on HN rather frequently but I haven't really looked into it. I think I should though, any resources you can specifically recommend?
- macintux 4y agoFunny you should ask… I haven’t checked these links in quite some time: https://gist.github.com/macintux/6349828 https://gist.github.com/macintux/6349828 And if you don’t mind videos, here’s my talk from Midwest.io (RIP) on the philosophy behind Erlang & its VM: https://youtu.be/E18shi1qIHU https://youtu.be/E18shi1qIHU
- foldr 4y agoLive patching is cool but it's something of a mythical beast. I hear lots of people talking about the wonders of live patching but very few people reporting on actually using it in their own production systems. If you're building an ultra-reliable system, then you have to somehow make it robust in the case where (some of) the hardware executing your code fails. Once you've covered that case, there's not much need for live patching.
- macintux 4y agoI think it depends on which level of live patching you're talking about. At Basho, we would load module fixes into Riak instances for customers...I hesitate to say "fairly regularly" because it's been long enough and I had limited visibility into it, but it certainly seemed like a routine operation. The full "upgrade the entire application" hot loading definitely requires more planning than most companies will ever be willing to do.