Skip to main content

Decision Trees — When to Use What

This page consolidates all the "when to use what" guidance into a single reference. Use these decision tables when you need to quickly identify the right AWS service for a given ML scenario.

Data Preparation

ScenarioRecommended Service
No-code data prep (non-technical users)Glue DataBrew
Visual data prep feeding into SageMakerSageMaker Data Wrangler
Feature importance scoresData Wrangler Quick Model
Batch ETL at scale (PySpark)AWS Glue ETL
Schema discovery from S3Glue Crawlers → Glue Data Catalog
Fuzzy matching / deduplicationGlue FindMatches
Format conversion: CSV → Parquet (batch)Glue ETL job
Format conversion: JSON → Parquet (streaming)Kinesis Firehose (native conversion via Glue Catalog)
Format conversion: images → RecordIOim2rec (MXNet utility)

Data Ingestion

ScenarioRecommended Service
Stream to S3 with transforms (least effort)Kinesis Data Firehose + Lambda
Real-time custom processing with replayKinesis Data Streams
SQL on streaming dataKinesis Data Analytics
Real-time anomaly detectionKDA + Random Cut Forest
On-premises → S3 with schedulingAWS DataSync
Petabytes + slow networkSnowball Edge
RDS/DynamoDB → S3 for MLGlue / Data Pipeline / DMS

Model Training

ScenarioRecommended Service
Standard ML trainingSageMaker Training Jobs (data from S3)
AutoML with no expertiseSageMaker Autopilot or Canvas
Reduce training costSpot Instances + Checkpointing
Faster data loadingPipe mode (RecordIO) or FastFile mode
Distributed trainingHorovod (data parallel) or SageMaker distributed
Custom framework or algorithmECR Docker → SageMaker BYOC
Hyperparameter tuningSageMaker Automatic Model Tuning

Model Deployment

ScenarioRecommended Service
Steady real-time trafficSageMaker Real-time Endpoint
Intermittent / unpredictable trafficSageMaker Serverless Inference
Periodic bulk predictionsSageMaker Batch Transform
Large payloads (up to 1 GB)SageMaker Async Inference
A/B testing modelsProduction Variants on a single endpoint
Edge deployment (no internet)Neo → IoT Greengrass
Choose best instance typeSageMaker Inference Recommender

Monitoring and MLOps

ScenarioRecommended Service
Data drift / model quality monitoringSageMaker Model Monitor
Training-time debuggingSageMaker Debugger
Model explainabilitySageMaker Clarify (SHAP values)
ML workflow automationSageMaker Pipelines
Model versioning / approvalSageMaker Model Registry
Human review of predictionsAmazon A2I
Automated retraining on driftModel Monitor → EventBridge → Pipelines

Security

ScenarioRecommended Service
SageMaker access controlIAM execution roles (never access keys)
No internet for SageMakerVPC + S3 Gateway Endpoint + VPC Interface Endpoints
Encrypt at restKMS CMK
Data lake governanceLake Formation (column-level access)
Audit API callsCloudTrail
Monitor resource metricsCloudWatch

AI Service Selection (No ML Expertise Needed)

TaskRecommended Service
Text classificationComprehend Custom Classifier
Sentiment / entities / key phrasesComprehend
Image classification (custom)Rekognition Custom Labels
Face detection / matchingRekognition
Extract text from documentsTextract
Speech to textTranscribe
Text to speechPolly
Language translationTranslate
Chatbots / voice botsLex
Time-series forecasting (managed)Forecast
Product recommendationsPersonalize
Fraud detectionFraud Detector
Enterprise searchKendra
Generative AI / foundation modelsBedrock
Equipment anomaly detectionLookout for Equipment

Flashcards

1 / 10
Question

You need to detect anomalies in a real-time data stream. What AWS services do you use?

Click to reveal
Answer

Kinesis Data Analytics with its built-in Random Cut Forest (RCF) function. This is the standard pattern for streaming anomaly detection.

Pro Tip

When evaluating which service to use, consider the effort spectrum. Managed AI services (Comprehend, Rekognition, etc.) require the least effort. SageMaker built-in algorithms are next. Custom SageMaker training (BYOC) requires the most effort but gives the most control. Match the level of effort to the complexity of your problem.