В соответствии с этой страницей https://developer.swisscom.com/pricing можно определить количество экземпляров для каждого плана. Означает ли это, что если мне понадобятся дополнительные GB для системы, мне просто нужно будет добавить больше экземпляров, и все? Нечего менять в коде, и я мог бы использовать те же параметры соединения?Масштаба памяти DB DB под облаком Swisscom
ответ
На этом графике вы видите Приложения (а не службы для постоянных данных). С помощью приложений вы можете добавлять экземпляры и память очень динамично. Приложения не имеют статуса.
Пожалуйста, ознакомьтесь с twelve-factor app для получения дополнительной информации о HOWTO разработки приложений для CF.
В современную эпоху программное обеспечение обычно поставляется как услуга: веб-приложения или программное обеспечение как услуга. Приложение с двенадцатью факторами представляет собой методологию для создания приложений с программным обеспечением.
Для получения услуг (с постоянными данными) вам необходимо выбрать план. Например, если вы используете small
, и вам нужно больше подключений/хранения (например, large
), вы не можете выполнить обновление с помощью одной команды.
$ cf m -s mariadb
Getting service plan information for service mariadb as admin...
OK
service plan description free or paid
small Maximum 10 concurrent connections, 1GB storage paid
medium Maximum 15 concurrent connections, 8GB storage paid
large Maximum 100 concurrent connections, 16GB storage paid
Вы должны
- дамп базы данных (использование службы плагин соединителя и
mysqldump
на локальном устройстве) - создать новую услугу (
cf cs mariadb large ...
) - восстановления данных на новую службу (службу соединитель и
mysql
клиент) - удалить старый сервис (
cf ds -f...
)
В настоящий момент обновление «с одним щелчком» отсутствует.
Чтобы добавить ответ Федора Глебова:
Существует простой путь к модернизации один-клик: Push2Cloud.
Используя пользовательские рабочие процессы, вы можете автоматизировать каждое взаимодействие с CloudFoundry. Мы предлагаем два рабочих процессов/Докер изображений, которые мигрируют Redis и MongoDB экземпляров:
Такой же подход будет работать для Maria DB. Если вы заинтересованы в реализации рабочего процесса, откройте проблему в основном репозитории Push2Cloud.
Вот шаг за шагом руководство для MongoDB:
- остановка приложения подключены к старой БД (для обеспечения целостности данных)
- Создать сервисный ключ для старого MongoDB (
cf create-service-key <mongodb-name> migration
) - Получить ключ службы:
cf service-key <mongodb-name> migration
cf ssh
в любое приложение в том же пространстве БД:cf ssh <app-name> -L 13000:<mongodb-host>:<mongodb-port>
(хост и порт из ключа службы)- КРР dentials для следующей команды могут быть найдены в ключе сервиса, полученный в рамках шага 3. Откройте новое окно терминала и запустить
mongodump --host 127.0.0.1:13000 --authenticationDatabase <mongodb-database> --username <mongodb-username> --password <mongodb-password> --db <mongodb-database> --out=dbbackup/dump
- Создать новую базу данных с
cf create-service
(список доступных планов сcf m -s mongodb
) - Создать службу ключ для новой БД и извлечения его
- Закрыть туннель сверху и создать новую с хостом и портом от новой БД
- Run
mongorestore --host 127.0.0.1:13000 --authenticationDatabase <new-mongodb-database> --username <new-mongodb-username> --password <new-mongodb-password> --db <new-mongodb-database> <path-to-dump-file>