Я написал приложение, которое выполняет кодирование видео.Кодирование представляет собой конвейерный процесс: сначала вы извлекаете видео, затем кодируете его с помощью ffmpeg, затем вы разбиваете видео на несколько частей и т. Д.
В ходе этого видео по 1 ГБ на несколькоГб промежуточных данных.Этот сервис написан так, что разные программы (через RabbitMQ) могут обрабатывать каждый фрагмент конвейера.Конечно, процесс не должен запускаться таким образом, что приводит меня к моему вопросу.
Я смотрю на требования к хранилищу, чтобы приложение работало.Облачные провайдеры платят за ГБ хранилища и за ГБ передачи.Пока все хорошо.
Когда я передаю этот видеоблок размером 1 ГБ из одного экземпляра облачной виртуальной машины в другую или из виртуальной машины в общую службу хранения, учитывается ли это для моей пропускной способности?(Я понимаю, что этот ответ будет меняться в зависимости от условий обслуживания хоста.)
Будет ли более целесообразно, чтобы 1 ВМ выполняла весь процесс, а затем запускала несколько экземпляров этого?В отличие от 1 ВМ, выполняющих только одну задачу в конвейере?Я задаю этот вопрос с точки зрения оптимизации затрат (самая низкая стоимость хранения, самая низкая стоимость раскручивания виртуальных машин. Поскольку кодирование будет выполняться в пакетном режиме, меня меньше беспокоит быстрое распространение запросов * ).
Этот сценарий несколько уникален тем, что у меня есть огромное количество двоичных данных, которые невозможно эффективно хранить, скажем, в базе данных.В связи с этим возникает аналогичный вопрос: для тех, у кого есть опыт, когда ваша виртуальная машина БД отправляет свои результаты обратно в ваше веб-приложение, взимается ли плата за эту промежуточную передачу?
Я даже задаю правильные вопросы?Есть ли руководство, которое я должен прочитать, кроме как позвонить хостинг-провайдерам и спросить их о ценах самостоятельно?