Надёжность - это комплексное понятие. Её можно повысить разными способами. В данном случае разумно использовать резервирование и диагностику. Резервировать можно как саму программу, так и целый сервер. Тогда диагностика будет подразумевать своевременное обнаружение сбоя в работе, переключение трафика на резервный сервер и запуск процесса восстановления. Имеет смысл проанализировать, из-за чего происходят сбои и, если, например, всё дело в высокой нагрузке, использовать гибкое распределение ресурсов по нескольким серверам. Также необходимо вычислить какие именно элементы приводят к сбоям и, соответственно, зарезервировать их.