не понятно кому такая информация нужна " в виде сервиса", ну собрали один раз.. в год , выложили в виде картинки с графиками дальше сервис теряет смысл, но если очень хочется задача не особо сложная, сбор данных в 99% случаев простейший парсинг по "отпечаткам" "технологий", с хранением проблем тоже нет ибо "миллионы сайтов" это 1 табличка с несколькими миллионами строк, любая БД это скушает и не подавится, фрэймвор нужно определять только после того как будет определено что именно он будет делать, для абстрактного коня в вакууме такое не советуют, в простейшем случае для своего фреймворка достаточно написать отдельный класс в управляемой среде (Java\.net), который будет держать выполняемое задание в блоке try и тогда "аварийное завершение" будет невозможно впринципе, т.к. любой крэш будет отлавливаться на уровне менеждера задач, на C# подобный написан строк в 50 максимум.