После работы над несколькими приложениями GAE, некоторые из которых используются для производства, я пришел к выводу, что на этой платформе резервное копирование производственных данных выполняется достаточно медленно и достаточно дорого, чтобы мы могли перейти на какую-то другую облачную среду. стек технологий.
В одном из наших производственных приложений у нас есть около миллиона объектов со средним размером на 1 КБ. Таким образом, общий объем данных составляет около ГБ, что не должно иметь большого значения, верно? Вот вывод инструмента массового загрузчика после извлечения сущностей из движка приложения с параметрами по умолчанию:
[INFO] 948212 объектов (608342497 байт), переданных в 47722,7
секунд
Это почти 13 часов. Поэтому, если бы мы захотели настроить систему почасового резервного копирования для наших производственных данных, это было бы гораздо более невозможным с текущим набором инструментов GAE.
Стоимость - другая история. Я попытался с помощью администратора хранилища данных скопировать объекты в другое приложение, которое, как мне показалось, мы могли бы использовать для резервного копирования. Сначала я установил бюджет в 2 доллара в день, который быстро составил около 5000 объектов, а затем увеличил бюджет до 10 долларов в день, который снова истощился, не приближаясь к тиражированию миллиона объектов.
Я, очевидно, не собираюсь тратить 100 долларов каждый раз, когда мне нужно сделать резервную копию моих данных объемом 1 ГБ, и при этом я не хочу ждать часами (или даже днями) только для того, чтобы мои данные были скопированы. Так что либо я ничего не знаю, либо Google App Engine в настоящее время является просто непрактичным способом написания масштабируемых приложений производственного качества значимого размера, которые можно легко архивировать и восстанавливать.
Существует ли быстрый и экономичный способ резервного копирования данных из приложения GAE?