Ask HN: How to 100% enable remote infrastructure?

3 points by MichaelRazum ↗ HN
I have a server application running at home. It works fine. Sometimes it must be restarted through rdp or ssh. Works fine as well.

BUT very very rarely, strange things happens. - Router must be restarted. Lets say one time every few months. - Server’s run into problems and aren’t accessible through ssh or rdp and must be restarted manually.

Just curious is it possible to somehow handle this issues remotely? Do you have some ideas? For both linux and windows.

In my case I just call my parents if I’m abroud and instruct them what to do.. but maybe you guys have a better idea:)

5 comments

[ 5.3 ms ] story [ 18.5 ms ] thread
"Even things that can't go wrong, do." - Troubleshooting Analog Circuits, Robert "Bob" Pease.

I had an application on a Raspberry PI that paired with a Bluetooth Low Energy device to fetch and send its data through a 3G dongle, on the premises of non-technical people who cannot troubleshoot, in different countries and time zones. There were a lot of things that could go wrong, and I wrote code to mitigate and recover, including pulling new code.

Part of it was using the Actor Model. I wrote actors to connect to the device, pulling data, sending data, computing what was sent, etc. The actor system handled the actors, when one died, it would recreate another one when an unhandled exception was met, for example.

https://en.wikipedia.org/wiki/Actor_model

If you're doing Scala, take a look at Akka. The new Scala has native support for this, if I remember correctly, without Akka.

If you're doing Python: https://github.com/kquick/Thespian, https://thespianpy.com/doc/

You could also use Supervisor: http://supervisord.org. It's a client/server system for process control. You can have it start at boot time, you can add event listeners and trigger actions.

Don't manage your own metal if you can't have access to it for whatever reason. Run your application on a cloud platform.
Actually that is exactly what I'm trying to do. Sometimes you want to run you application on you own metal. Actually I have access to it 90% of the time. So hoped there might be some solution to it.

Basically what I was thinking of what might be a solution for a specific problem: 1. Rdp or ssh doesn't work - server hangs. Restart it somehow remotely. It would be enough if some device was able to press the power.

2. Router hangs. Maybe I could just restart it through remote power supply which is connected to a second internet connection through LTE for example.

Of course if something very terrible happens like a fire you need be at the place. But I think most of the problems can be solved with just restarting the devices. The tricky part is to do it remotely.

Yes, just have a second Internet connection and three (or more) remote-controlled power distribution units. Double AC. Time slot planned for the yearly AC maintenance.

Each modem/router on its own PDU, daisy-chained to a shared last-chance PDU.