Ваш вопрос не относится к домену GCP, но касается ИТ-архитектуры. Вы можете создать большую виртуальную машину со всеми установленными на ней. Но вам придется управлять им самостоятельно, а масштабируемость сложна.
Вы также можете иметь 1 ВМ на сайт, но затраты на управление выше (исправление и обновление)! Однако вы можете масштабировать с большей степенью детализации (для каждого веб-сайта).
Сегодня стандартная схема состоит в том, чтобы превратить ваш монолитный сервер в выделенные службы. База данных на указанном c сервере, docker и Java на другом, и реакция в компоненте stati c (например, Google Cloud Platform).
Если вы хотите использовать ВМ, вы можете использовать GKE и вы контейнеризуете свое приложение. Гораздо проще обслуживать вашу виртуальную машину с помощью автоматизированного c инструмента, такого как K8S.
Конечный шаг - использовать безсерверное и / или полностью управляемое решение. Cloud SQL для вашей базы данных, GCS для вашего stati c контента и App Engine или Cloud Run для вашего бэкэнда. Таким образом, вы платите, как вы используете, и если ваш сайт не очень используется, вы не будете платить за это (за исключением базы данных).