Cloud Computing for Data Scientists: AWS, GCP and Azure Explained (2026)
The cloud is where data science actually happens at scale. Local machines cannot handle terabytes of data, train large models in reasonable time, or serve predictions to millions of users. This guide shows what data scientists actually use on each platform.
Why Cloud Skills Are Essential
Storage: your laptop cannot hold 10TB of clickstream data — a cloud object store ($20/month) can. Compute: training a deep learning model on CPU takes weeks; one A100 GPU on AWS runs it in hours. Collaboration: cloud notebooks eliminate works-on-my-machine problems. MLOps: auto-scaling REST APIs are cloud-native workflows.
The Big Three
AWS — market leader, broadest service portfolio, most employable skill. Key DS services: S3 (storage), EC2 (VMs), SageMaker (managed ML), Redshift (DWH), Glue (ETL), Athena (serverless SQL on S3).
GCP — strongest data and ML tools; BigQuery is the best serverless data warehouse available. Key services: BigQuery, Vertex AI, Cloud Storage, Dataflow, Looker Studio, Colab Enterprise.
Azure — dominates enterprise environments with strong Office 365 and Power BI integration. Key services: Azure ML, Data Factory, Synapse Analytics, Azure Databricks, Blob Storage.
Reading Data from S3
import boto3, pandas as pd
s3 = boto3.client('s3')
obj = s3.get_object(Bucket='my-data-bucket', Key='data/sales_2026.csv')
df = pd.read_csv(obj['Body'])
print(df.shape)
# Write back to S3
df.to_parquet('s3://my-data-bucket/output/data.parquet')BigQuery: SQL at Petabyte Scale
from google.cloud import bigquery
client = bigquery.Client()
query = '''
SELECT DATE_TRUNC(created_at, MONTH) AS month,
COUNT(*) AS total_orders, AVG(order_value) AS avg_value
FROM `project.dataset.orders`
WHERE created_at >= '2025-01-01' AND status = 'completed'
GROUP BY 1 ORDER BY 1
'''
df = client.query(query).to_dataframe()
print(df.head())AWS SageMaker: Train and Deploy
import sagemaker
from sagemaker.sklearn.estimator import SKLearn
role = sagemaker.get_execution_role()
estimator = SKLearn(
entry_point='train.py', role=role, instance_type='ml.m5.large',
framework_version='1.2-1', py_version='py3',
hyperparameters={'n_estimators': 100, 'max_depth': 5}
)
estimator.fit({'train': 's3://bucket/train/', 'test': 's3://bucket/test/'})
predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.t2.medium')
result = predictor.predict([[5.1, 3.5, 1.4, 0.2]])MLflow for Experiment Tracking
import mlflow, mlflow.sklearn
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
iris = load_iris()
X_tr, X_te, y_tr, y_te = train_test_split(iris.data, iris.target, test_size=0.2)
with mlflow.start_run():
mlflow.log_param('n_estimators', 100)
model = RandomForestClassifier(n_estimators=100)
model.fit(X_tr, y_tr)
acc = accuracy_score(y_te, model.predict(X_te))
mlflow.log_metric('accuracy', acc)
mlflow.sklearn.log_model(model, 'model')
print(f'Accuracy: {acc:.4f}')Cost Management
Always stop instances when not in use. Use spot/preemptible instances for training (70-90% cheaper). Set billing alerts at 50% and 80% of budget. Right-size instances — do not use a GPU instance for serving a simple sklearn model.
Getting Started
Start with AWS Free Tier (12 months of limited free resources including S3, EC2 t2.micro, SageMaker Studio). Earn AWS Cloud Practitioner certification for foundations. Then specialise: AWS ML Specialty or GCP Professional Data Engineer.
Conclusion
Start with S3 for data storage and SageMaker or Vertex AI notebooks for managed environments. Add Spark/Databricks as data grows. Add MLflow for experiment tracking. Most platforms have free tiers generous enough for real projects.



