Your traffic is growing, your server is choking, and the cloud bill is giving you anxiety. Or maybe you're still unsure which Google Cloud service to use and how to make them work together. Either way, you're in the right place.
We, at Meteora Web, have been working with GCP on real projects since our first production client in 2018. We've built platforms handling hundreds of requests per second on Cloud Run, analyzed million‑row datasets with BigQuery, and optimized cloud costs for companies saving 70% just by tweaking a few parameters. This is not theory: here's how to use GCP without getting lost, with copy‑paste examples and decisions you must make.
GCP from Zero: Account, IAM and First Application
First: a GCP account, a project, and a credit card (even for the free tier – $300 credit for 90 days). We strongly recommend setting up a budget alert immediately to avoid waking up to a surprise charge.
IAM: Who Does What
The first mistake we see in client projects: using the owner account for everything. Assign the minimum IAM roles: for a Cloud Run deployment, a service account with cloudrun.developer and storage.objectViewer is enough.
First Deploy: a Web App on Cloud Run in 5 Minutes
Create a Dockerfile for a Node.js or Python app. Then:
gcloud auth login
gcloud config set project [PROJECT_ID]
gcloud builds submit --tag gcr.io/[PROJECT_ID]/myapp
gcloud run deploy myapp --image gcr.io/[PROJECT_ID]/myapp --platform managed --region europe-west1 --allow-unauthenticatedIf you don't have a sample app yet, start with the Cloud Run Quickstart. Note: --allow-unauthenticated is handy for testing, but in production use IAM or Cloud IAP.
Sponsored Protocol
Cloud Run: Serverless Containers That Scale
Cloud Run is our favourite service for web apps and APIs. Pricing per request: you pay only when your code runs. If a service receives no traffic, it scales to zero instances and you pay nothing. We used it for the backend of a Sicilian tourism social platform: it handled weekend traffic spikes and cost less than €20 per month.
Smart Configuration
min-instances: set to 0 to save money. Use 1‑2 only if latency is critical (e.g., real‑time apps).max-instances: limit to avoid financial surprises in case of a DDoS attack. Calculate the maximum you can afford.- CPU always‑on vs throttled: if your app does background processing, enable CPU boost.
Optimised deploy example:
gcloud run deploy my-service \
--image gcr.io/[PROJECT_ID]/my-service \
--region europe-west1 \
--min-instances 0 \
--max-instances 10 \
--concurrency 80 \
--cpu 1 \
--memory 512MiWatch out: Cloud Run is not ideal for long‑running jobs (over 60 minutes). Use Cloud Run Jobs or Batch instead.
Cloud Functions: Serverless Functions for Events
Cloud Functions (we recommend 2nd gen, built on Cloud Run) is perfect for microtasks: image processing, webhooks, Pub/Sub integrations.
Sponsored Protocol
Python HTTP Function
import functions_framework
@functions_framework.http
def hello_http(request):
name = request.args.get("name", "World")
return f"Hello {name}!"Deploy with gcloud functions deploy function-name --runtime python312 --trigger-http --allow-unauthenticated.
When to choose Functions vs Run: if the logic is simple (a single function, no complex dependencies), use Functions for speed. If you have a full app with routing and dependencies, use Cloud Run – more control, same base cost.
BigQuery: Analytics Without Limits
BigQuery is our tool for any project that generates data: event logs, sales metrics, traffic analysis. You pay for the data scanned, not execution time. Optimise queries with SELECT on specific columns and use partitioned tables.
Example: Analysing an E‑commerce Event Dataset
SELECT
DATE(event_date) as day,
COUNT(DISTINCT user_id) as unique_users,
SUM(event_value) as total_value
FROM `mydataset.events`
WHERE event_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY day
ORDER BY dayBigQuery integrates with Looker Studio for live dashboards. In a project for a fashion brand we connected billing data with Google Ads: real‑time ROI reports.
Cost watch: use partitioning (by date) and clustering (by category) to reduce scans. Set quotas to avoid a rogue query scanning 10 TB and burning your budget.
Sponsored Protocol
Google Cloud Storage: Object Storage for Every Need
Cloud Storage is the brain for static files: images, backups, logs, site assets. We use it as CDN origin for our clients' websites: upload images to a bucket, enable Cloud CDN, and loading flies.
Storage Classes
- Standard: for frequently accessed data.
- Nearline: accessed less than once a month (e.g., weekly backups).
- Coldline: every 90 days (historical logs).
- Archive: over 365 days (compliance data).
Lifecycle Policies
Set rules to automatically move files between classes: after 30 days become Nearline, after 90 Coldline, after 365 delete. You'll save up to 80% on storage costs.
Firebase vs GCP: When to Use Which
Firebase is a layer of managed products on top of GCP. It's perfect for MVPs, mobile apps, static sites. But when your project grows and you need BigQuery, VPC, Cloud Run, custom machine learning, you must embrace native GCP. Our rule: Firestore for simple data with real‑time sync, but if you have complex relations migrate to Cloud SQL. Firebase Authentication is handy – you can use it even on Cloud Run.
Vertex AI: Machine Learning on GCP
Vertex AI lets you train and deploy ML models with AutoML or custom code. We used AutoML Tables for a client that needed to predict customer churn: in a few hours we had a model exposed via an endpoint, integrated into a dashboard.
Sponsored Protocol
For custom models (e.g., PyTorch, TensorFlow), use Vertex AI Workbench or submit jobs with GPUs. Remember: AI amplifies, doesn't replace. Every output must be verified. For more on AI reliability, read our piece on Google Research's "Faithful Uncertainty".
Cloud SQL vs Cloud Spanner: Managed Databases
Cloud SQL offers MySQL, PostgreSQL and SQL Server managed, with automatic backups, regional failover. For 90% of web applications, Cloud SQL is the right choice. Predictable cost: you pay per instance. Cloud Spanner is a globally distributed relational database with strong consistency – only if you have millions of users worldwide and can't afford read replicas. Cost is much higher; evaluate seriously if you really need it.
Networking on GCP: VPC, Load Balancer, Cloud CDN
For production applications you need to design the network: VPC with subnets, firewall rules, load balancer. Cloud CDN accelerates static content delivery: enable it on a Cloud Storage bucket or a Compute Engine backend.
Example: Load Balancer + Cloud Run
Use an External HTTP(S) Load Balancer as a single front‑end for multiple Cloud Run services, manage SSL and domain routing. Configure with gcloud compute url-maps and target-http-proxies.
GCP Costs: How to Optimise and Avoid Surprises
This is where our economic background kicks in. A client had Cloud Run with min-instances=1 on two services: 24/7 on, never under load. Monthly cost: €90. Switching to min=0 and using Cloud Scheduler to wake the service before expected peaks (e.g., every hour) dropped to €18. An 80% saving.
Sponsored Protocol
Practical Tips
- Set up billing alerts at 50%, 80% and 100% of budget.
- Export costs to BigQuery and analyse with Looker Studio.
- Use Committed Use Discounts for predictable loads (VM or Cloud SQL for 1‑3 years, save up to 57%).
- Put a resource hierarchy (folders per project) to allocate costs by department.
- Move storage objects to lower classes with lifecycle policies.
With these practices, our clients save on average 30‑50% on their GCP bill.
In Summary – What to Do Now
- Create a GCP account and set up a budget alert. Don't exceed the $300 free tier without knowing what you're doing.
- Deploy an app on Cloud Run with min-instances=0. Learn to monitor costs and latency.
- Import a dataset into BigQuery (use a CSV from your real project) and write an aggregate query. Connect to Looker Studio.
- Review your current project's configuration: are you still on an always‑on server? How much could you save by going serverless?
- Read the official documentation of Cloud Run and BigQuery – it's clear and updated.
If you have questions or need help optimising your GCP infrastructure, contact us. We at Meteora Web work with companies to make sure the cloud is an investment, not a hidden cost.