Как я могу развернуть приложение angular-spring-postgres на gcp?

#google-app-engine #google-cloud-platform #google-cloud-run

# #google-app-engine #google-облачная платформа #google-cloud-run

Вопрос:

Я новичок в GCP и в настоящее время пытаюсь развернуть все свои приложения на их сервисах.

Для приложения в одном контейнере я использую CloudRun, который мне уже очень нравится.

Теперь я хочу развернуть приложение, которое использует Angular во внешнем интерфейсе и spring во внутреннем интерфейсе и SQL-DB (Postgres). Каждая часть этого находится в отдельном отдельном контейнере.

Должен ли я использовать для этой цели CloudRun или у GCP есть более подходящие сервисы, которые я должен рассмотреть, если я хочу разместить масштабируемое и бессерверное приложение? Итак, существует ли такая вещь, как лучшая практика для приложений с архитектурой внешнего интерфейса на GCP?

Ответ №1:

Я рекомендую вам использовать эти сервисы:

  • Облачный SQL для размещения базы данных. Оно управляется для вас и эффективно
  • Облачный запуск для бизнес-уровня (приложение spring).

Будьте осторожны, с spring холодный запуск может занять несколько секунд. Я написал статью об этом (статья довольно старая, и производительность теперь лучше при запуске в облаке, но задержка при первом запросе существует (и занимает 5-7 секунд для контейнера hello world)). Добавьте несколько процессоров (4 — хорошее число) для ускорения холодного запуска или используйте для этого параметр —min-instance (или другое решение, которое вы можете найти в одной из моих статей)

Ответ №2:

CloudRun запускает контейнеры без состояния. Он не делает различий между интерфейсом и серверной частью или рабочими заданиями.

Вы можете запускать свой интерфейс, серверную часть, базу кода администратора как облачную службу запуска.
Рядом с этим вы настраиваете Cloud SQL для своей операционной базы данных и подключаете облачные службы запуска к Cloud SQL connector, чтобы они могли использоваться для запросов на чтение / запись.