The critical constraint for both the website and the background job is the requirement for autoscaling and no costs when not in use (scale to zero) . Both workloads are suitable for containerization and HTTP invocation.
Cloud Run is the single best platform for both use cases under these constraints. It is serverless, fully managed, and natively supports scaling to zero when a containerized service is not receiving requests, making it the most cost-effective option for sporadic workloads.
The static website can run in a simple web server container on Cloud Run. The HTTP-triggered background job is a perfect fit for a Cloud Run service that runs, performs its work (invoice generation), and then scales down to zero.
[Reference: Google Cloud Documentation - Cloud Run (Overview):, "Because Cloud Run is serverless... It scales up or down automatically, including scaling to zero to minimize your cost.", Reference: Google Cloud Documentation - Cloud Run (Use cases):, "Cloud Run is suitable for... background processing (jobs, batch processing, and other non-HTTP services), and services that require scaling to zero.", , ]
Submit