AI, Data and Analytics Services Overview

This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production.

See the section bibliography for the reference material consulted while preparing these pages.

This page is the landing map for the AWS services that sit around the core compute, storage, database and networking pages: generative AI, machine learning, prebuilt AI services, analytics, streaming, business intelligence and IoT, plus a short list of other end-user and business services that have no better home. It is an overview, not a hands-on guide: each service gets one paragraph, a console and AWS CLI first step, and a link to the official documentation for the depth this page deliberately skips. Names, availability and lifecycle status of almost every service below changed during 2024-2026, so everything was re-checked against the official documentation and the AWS service lifecycle pages on 2026-10-01; confirm with aws --version (the 2.37 line was current) and the linked pages before relying on a detail. Examples use the placeholder Region us-east-1, the placeholder account ID 111122223333 ($ACCOUNT_ID) and the shell variables AWS_REGION and BUCKET. Service availability differs per Region, so check the Region table of each service before picking a Region.

In the running Bookshelf scenario these services answer questions that the application tier does not:

  • "Ask the catalog" — a natural-language question answered from the book descriptions held in the bookshelf-catalog Aurora PostgreSQL database, using Amazon Bedrock and a vector store.

  • Cover-image checks and alt-text suggestions for files uploaded to bookshelf-uploads-<account-id> (Rekognition).

  • Order and click events that orders-api already publishes (see Messaging and integration) landing in S3 for SQL analysis (Firehose, Glue, Athena) and a sales dashboard (Amazon Quick).

Terminology and the map

Four terms are often used interchangeably but are nested. Artificial intelligence is the broad goal of software doing tasks that normally need human judgement. Machine learning (ML) is the subset that learns patterns from data instead of following hand-written rules. Deep learning (DL) is ML with many-layered neural networks, behind most image, speech and language models. Generative AI is deep learning that produces new content (text, images, code, audio) from a prompt, typically with a pre-trained foundation model that you call rather than train. AWS offers three levels of involvement for all of them: call a prebuilt AI service (Rekognition, Textract, Polly), call a foundation model through Amazon Bedrock, or build and train your own model on Amazon SageMaker AI. Pick the highest level that solves the problem; each lower level adds flexibility and operational work.

flowchart LR subgraph Ingest OA["orders-api
order events"] --> KDS["Kinesis Data Streams"] KDS --> FH["Amazon Data Firehose"] end FH --> S3[("S3 data lake
bookshelf-uploads or analytics bucket")] S3 --> GL["Glue crawler
Data Catalog"] GL --> ATH["Athena
SQL on S3"] ATH --> QS["Amazon Quick Sight
dashboards"] S3 --> EMR["EMR or Glue ETL
large transforms"] EMR --> RS["Redshift
warehouse"] RS --> QS S3 --> SM["SageMaker AI
train and host models"] S3 --> BKB["Bedrock Knowledge Bases
RAG"] BKB --> BR["Bedrock models
AgentCore agents"] S3 --> AIS["Rekognition, Textract,
Transcribe, Comprehend"]
Service What it is for CLI namespace Status (checked 2026-10-01)

Amazon Bedrock

Foundation models behind one API, Knowledge Bases, Guardrails

bedrock, bedrock-runtime, bedrock-agent, bedrock-agent-runtime

Generally available; Agents Classic closed to new customers 2026-07-30

Amazon Bedrock AgentCore

Build, run and govern AI agents

bedrock-agentcore-control, bedrock-agentcore

Generally available; the recommended agent platform

Amazon SageMaker AI

Build, train, deploy ML and foundation models

sagemaker, sagemaker-runtime

Renamed from Amazon SageMaker on 2024-12-03

Amazon Q Developer / Kiro

AI coding assistant and agentic IDE

(IDE based)

Q Developer IDE plugins end of support 2027-04-30

Rekognition, Textract, Transcribe, Polly, Comprehend, Lex

Prebuilt vision, document, speech, language and chatbot APIs

rekognition, textract, transcribe, polly, comprehend, lexv2-models

Available; some Comprehend and Rekognition features closed to new customers 2026-04-30

Amazon Kendra

Enterprise search

kendra

Closed to new customers 2026-07-30

Amazon Athena

Serverless SQL over S3

athena

Generally available

AWS Glue, Lake Formation

ETL, Data Catalog, crawlers, data-lake permissions

glue, databrew, lakeformation

Generally available; Glue for Ray closed to new customers 2026-04-30

Amazon Kinesis, Amazon Data Firehose, Managed Service for Apache Flink

Streaming ingestion, delivery and processing

kinesis, firehose, kinesisanalyticsv2

Renamed services; Kinesis Data Analytics for SQL shut down 2026-01-27

Amazon EMR, Amazon Redshift

Managed big-data frameworks, data warehouse

emr, emr-serverless, redshift, redshift-serverless, redshift-data

Generally available

Amazon Quick (Quick Sight)

Business intelligence and AI assistant

quicksight

QuickSight evolved into Amazon Quick in 2025-2026

AWS IoT Core

Device connectivity (MQTT), rules, device registry

iot, iot-data

Generally available

Amazon Bedrock

Amazon Bedrock is a fully managed service that exposes more than a hundred foundation models from Amazon and other providers (the catalogue changes monthly) through a single, IAM-protected API, so an application can switch models by changing a model or inference-profile identifier. New code should use the bedrock-runtime endpoint: the Converse API is the provider-neutral call for text and multimodal chat, InvokeModel sends a provider-specific body, and the endpoint also offers Anthropic Messages-compatible and OpenAI-compatible (Responses and Chat Completions) routes. Cross-Region inference profiles (identifiers prefixed global., us., eu. and so on) spread requests over Regions for throughput. Around inference, Bedrock adds Guardrails (content, prompt-attack, denied-topic and sensitive-information filters, also callable on their own with apply-guardrail), model evaluation, batch inference (create-model-invocation-job), prompt management, customization (fine-tuning, distillation) and provisioned throughput for steady high-volume use. Access is controlled by IAM like any other service; short-term and long-term Bedrock API keys exist for quick starts, but production code should use IAM roles and the default credential chain (see Identity and access).

In the AWS Management Console

  1. Open Amazon Bedrock and pick the Region from the selector (not every model is in every Region).

  2. Choose Model catalog, select a model and review its model card (modalities, context window, Regions, quotas).

  3. Open the Playground (chat or text), select the model and send a prompt to see the response and token counts.

  4. Use Guardrails to create a guardrail and attach it in the playground, or Knowledge Bases for retrieval (below).

With the AWS CLI

export AWS_REGION=us-east-1

# What is available in this Region?
aws bedrock list-foundation-models --by-provider anthropic \
  --query 'modelSummaries[].modelId' --output text

# Cross-Region inference profiles you can call
aws bedrock list-inference-profiles \
  --query 'inferenceProfileSummaries[].inferenceProfileId' --output text

# First request: take any identifier printed above
MODEL_ID="<paste-a-model-or-inference-profile-id>"
aws bedrock-runtime converse \
  --model-id "$MODEL_ID" \
  --messages '[{"role":"user","content":[{"text":"Summarise what a Bookshelf catalog is in one sentence."}]}]' \
  --query 'output.message.content[0].text' --output text

From Java, the AWS SDK for Java 2.x BedrockRuntimeClient wraps the same call; Spring applications normally go through Spring AI instead, which is covered in Integrating with Spring AI.

import software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient;
import software.amazon.awssdk.services.bedrockruntime.model.ContentBlock;
import software.amazon.awssdk.services.bedrockruntime.model.ConversationRole;
import software.amazon.awssdk.services.bedrockruntime.model.Message;

try (BedrockRuntimeClient client = BedrockRuntimeClient.create()) {   // default credential chain
    String answer = client.converse(r -> r
            .modelId(System.getenv("MODEL_ID"))
            .messages(Message.builder()
                    .role(ConversationRole.USER)
                    .content(ContentBlock.fromText("Recommend a book about distributed systems."))
                    .build()))
        .output().message().content().get(0).text();
    System.out.println(answer);
}

Knowledge Bases and retrieval-augmented generation

Amazon Bedrock Knowledge Bases is the managed retrieval-augmented generation (RAG) pipeline: it ingests documents from S3 and other sources, chunks and embeds them, stores the vectors in a vector store you choose (Aurora PostgreSQL with pgvector, OpenSearch Serverless or Managed Cluster, Amazon S3 Vectors, and others), and answers with retrieve or retrieve-and-generate. The concepts it automates (chunking, embeddings, ANN indexes, reranking, evaluation) are explained vendor-neutrally in RAG fundamentals, document ingestion and chunking and PostgreSQL with pgvector; choosing the store is covered in comparing vector databases and, for the AWS options, Managed databases overview and OpenSearch and search. Amazon Kendra’s GenAI index was the earlier route; AWS now points new work at Knowledge Bases.

First step. Console: Bedrock → Knowledge Bases → Create, point it at an S3 bucket holding book descriptions and select a vector store. CLI: list what exists with the command below, then query a knowledge base.

aws bedrock-agent list-knowledge-bases --query 'knowledgeBaseSummaries[].[name,knowledgeBaseId,status]' --output table

aws bedrock-agent-runtime retrieve \
  --knowledge-base-id "$KB_ID" \
  --retrieval-query text="books about event-driven architecture" \
  --query 'retrievalResults[].content.text'

Agents: AgentCore and Agents Classic

Amazon Bedrock AgentCore is the platform for building, deploying and operating agents with any framework and any model. Its modular services include a managed agent Harness, a serverless Runtime with isolated sessions, Memory, Gateway (turns APIs and Lambda functions into Model Context Protocol tools), Identity, a Code Interpreter sandbox, a managed Browser, Observability (OpenTelemetry-based, through CloudWatch), Evaluations, Policy and a Registry. The original Amazon Bedrock Agents was renamed Agents Classic, is in maintenance mode, and has not been open to new customers since 2026-07-30; AWS recommends AgentCore for new agents. The generic agent and agent-memory patterns are in agentic RAG and agent memory and semantic cache.

First step. Console: Bedrock AgentCore in the console navigation, or the AgentCore CLI described in its developer guide. CLI: list the agent runtimes of the account.

aws bedrock-agentcore-control list-agent-runtimes

Least-privilege IAM for Bedrock

An application role that may only call two models needs bedrock:InvokeModel (and, for streaming, bedrock:InvokeModelWithResponseStream) on those model and inference-profile resources, nothing else. Cross-Region inference profiles need permission on both the profile and the foundation-model ARNs in every Region the profile can route to.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
      "Resource": [
        "arn:aws:bedrock:*::foundation-model/<model-id>",
        "arn:aws:bedrock:us-east-1:111122223333:inference-profile/<inference-profile-id>"
      ]
    }
  ]
}

Amazon SageMaker AI and the next generation of SageMaker

Amazon SageMaker AI is the managed ML platform for building, training and hosting your own models or customising foundation models: notebooks and IDEs in SageMaker Studio, managed training jobs, real-time, serverless, asynchronous and batch inference endpoints, Pipelines for MLOps, JumpStart (pre-trained models and solution templates), Canvas (no-code ML) and HyperPod for large training clusters. Two naming facts cause most confusion. First, on 2024-12-03 the original Amazon SageMaker was renamed Amazon SageMaker AI; APIs, the aws sagemaker CLI group, IAM prefixes (AmazonSageMaker…​), CloudFormation AWS::SageMaker:: types and console URLs did not change. Second, the same day AWS launched a next generation of Amazon SageMaker: a unified data, analytics and AI platform that brings SageMaker AI, SageMaker Lakehouse (open-table-format access across S3 and Redshift), SageMaker Catalog and governance (built on DataZone), SQL analytics (Redshift), data processing (Athena, EMR, Glue) and SageMaker Unified Studio into one environment, alongside Bedrock. For a plain "train and host a model" job, you still want SageMaker AI; for a data-and-AI team workspace, look at Unified Studio. A group of lesser-used SageMaker AI features entered maintenance during 2026, so check the lifecycle page before adopting Ground Truth, Model Monitor, Debugger, Clarify or Augmented AI.

First step. Console: Amazon SageMaker AI → Studio (or Unified Studio for the platform), create a domain with an IAM role, open JumpStart and deploy a pre-trained model to an endpoint. CLI: inspect what exists.

aws sagemaker list-domains --query 'Domains[].[DomainName,Status]' --output table
aws sagemaker list-endpoints --query 'Endpoints[].[EndpointName,EndpointStatus]' --output table
aws sagemaker-runtime invoke-endpoint --endpoint-name "$ENDPOINT" \
  --content-type application/json --cli-binary-format raw-in-base64-out \
  --body '{"inputs":"hello"}' out.json

See What is Amazon SageMaker AI? and the sagemaker command reference. Real-time endpoints bill while they exist, so delete them when finished (see Clean up).

AI assistants for builders: Amazon Q Developer and Kiro

Amazon Q Developer was the AWS coding assistant (IDE plugins, console chat, command-line help). AWS announced that the Q Developer IDE plugins and paid subscriptions reach end of support on 2027-04-30, that new sign-ups stopped in May 2026, and that Kiro, a spec-driven, agentic IDE with Model Context Protocol support, is the recommended replacement. Amazon Q Business (the workplace assistant) moved into maintenance in July 2026 with Amazon Quick as the successor. None of these are needed to run the services on this page; they are developer tools, so see Developer tools and DevOps for the IDE and CI/CD side. First step. Install Kiro from its official site and follow the Q Developer migration guide linked below; there is no AWS CLI command.

Prebuilt AI services

The prebuilt services are single-purpose APIs: you send an image, document, audio file or text and get structured JSON back, with no model to train. They remain the cheapest and most predictable route when the task matches one of them, and a foundation model through Bedrock is the alternative when it does not. All of them read inputs from S3 (so the bucket policy and KMS key must allow the calling role) and publish asynchronous results to S3 or SNS.

Rekognition (images and video)

Amazon Rekognition detects labels, faces, text in images and video, celebrities, unsafe content and custom labels. For Bookshelf it can flag unsuitable cover uploads and propose alt text from detected labels, called from the S3-triggered thumbnailer Lambda (see Lambda: event-driven apps). Text detection in video (start-text-detection) is asynchronous. The streaming-events and batch image content-moderation features moved to maintenance on 2026-04-30 and are closed to new customers.

aws rekognition detect-labels \
  --image "S3Object={Bucket=$BUCKET,Name=covers/book-1.jpg}" --max-labels 5 \
  --query 'Labels[].[Name,Confidence]' --output table

aws rekognition detect-text \
  --image "S3Object={Bucket=$BUCKET,Name=covers/book-1.jpg}" \
  --query 'TextDetections[?Type==`LINE`].DetectedText'

Console: Rekognition → Label detection (or Text in image), upload a file and read the JSON. See What is Amazon Rekognition?.

Textract (documents)

Amazon Textract extracts printed and handwritten text, forms (key-value pairs), tables, signatures and layout geometry (bounding boxes and page positions of each word or line) from scans and PDFs, with queries and an expense/ID-specific API. detect-document-text is the cheapest call; analyze-document adds FORMS, TABLES, QUERIES and LAYOUT; multi-page PDFs use the asynchronous start-document-analysis.

aws textract analyze-document \
  --document "S3Object={Bucket=$BUCKET,Name=invoices/inv-001.png}" \
  --feature-types FORMS TABLES \
  --query 'Blocks[?BlockType==`KEY_VALUE_SET`] | length(@)'

Console: Textract → Analyze document. See What is Amazon Textract?.

Transcribe (speech to text)

Amazon Transcribe converts audio and video to text in batch or streaming mode, with speaker diarization, language identification, custom vocabularies, redaction and call analytics. A separate medical variant, Amazon Transcribe Medical, targets clinical dictation and conversations by specialty (start-medical-transcription-job).

aws transcribe start-transcription-job \
  --transcription-job-name bookshelf-podcast-001 \
  --media "MediaFileUri=s3://$BUCKET/audio/episode-1.mp3" \
  --identify-language --output-bucket-name "$BUCKET"
aws transcribe get-transcription-job --transcription-job-name bookshelf-podcast-001 \
  --query 'TranscriptionJob.TranscriptionJobStatus'

Console: Transcribe → Transcription jobs → Create job. See What is Amazon Transcribe?.

Polly (text to speech)

Amazon Polly turns text into lifelike speech in many languages, with standard, neural, long-form and generative voice engines (availability varies by voice and Region), speech marks and SSML (Speech Synthesis Markup Language) for pauses, emphasis and pronunciation. It fits an "audio preview" button in Bookshelf.

aws polly describe-voices --language-code en-US --query 'Voices[].[Id,SupportedEngines]' --output text
aws polly synthesize-speech --engine neural --voice-id "$VOICE_ID" --output-format mp3 \
  --text-type ssml --text '<speak>Welcome to <emphasis>Bookshelf</emphasis>.</speak>' welcome.mp3

Console: Polly → Text-to-Speech. See What is Amazon Polly?.

Comprehend (language) and Comprehend Medical

Amazon Comprehend analyses text: entities, key phrases, sentiment, language, syntax, custom classification and custom entity recognition, and PII detection and redaction, which is the most useful feature for logs and customer messages (detect-pii-entities for short text, start-pii-entities-detection-job to redact files in S3). Amazon Comprehend Medical extracts medical entities, ICD-10-CM, RxNorm and SNOMED CT codes and protected health information. Topic modeling, event detection and prompt safety classification are closed to new customers since 2026-04-30; AWS suggests Bedrock models for topics and events and Bedrock Guardrails for prompt safety.

aws comprehend detect-pii-entities --language-code en \
  --text "Contact Ana Ruiz at ana@example.com" \
  --query 'Entities[].[Type,Score]' --output table

Console: Comprehend → Real-time analysis. See What is Amazon Comprehend? and the Comprehend availability change.

Lex (chatbots)

Amazon Lex V2 builds conversational interfaces (text and voice) from intents, slots and utterances, with Lambda fulfilment hooks and integration with Amazon Connect. A "track my order" bot for Bookshelf would fulfil through the orders-api. Use the V2 CLI groups; the V1 interfaces are legacy. For free-form questions a Bedrock model or Knowledge Base is now usually a better fit than hand-written intents.

aws lexv2-models list-bots --query 'botSummaries[].[botName,botStatus]' --output table

Console: Amazon Lex → Bots → Create bot. See What is Amazon Lex V2?.

Kendra (enterprise search, closed to new customers)

Amazon Kendra is a managed semantic search service over connected repositories. It went into maintenance on 2026-06-30 and has not been open to new customers since 2026-07-30; AWS recommends Bedrock Knowledge Bases for similar capability, and OpenSearch for classic search. Existing indexes keep working and bill while they exist.

aws kendra list-indices --query 'IndexConfigurationSummaryItems[].[Name,Id,Status]' --output table

Analytics and data lakes

The AWS analytics pattern is a data lake on S3 (cheap, durable, open formats such as Parquet and Apache Iceberg) described by a catalog, queried by whichever engine fits, and secured by one permission layer. S3 itself is covered in S3 object storage.

Athena

Amazon Athena runs standard SQL (Trino-based) and Apache Spark directly over data in S3: no servers, results in seconds for ad-hoc work, tables defined in the Glue Data Catalog, and charges by data scanned (SQL) or compute used (Spark). Store data as compressed, partitioned Parquet or Iceberg to scan less and pay less. Query results land in an S3 location you configure in a workgroup, which can also cap per-query data scanned.

QID=$(aws athena start-query-execution \
  --query-string "SELECT status, count(*) AS n FROM bookshelf_logs.orders GROUP BY status" \
  --work-group primary \
  --result-configuration "OutputLocation=s3://$BUCKET/athena-results/" \
  --query QueryExecutionId --output text)
aws athena get-query-execution --query-execution-id "$QID" --query 'QueryExecution.Status.State'
aws athena get-query-results --query-execution-id "$QID" --query 'ResultSet.Rows[].Data[].VarCharValue'

Console: Athena → Query editor, set the results location once, then run SQL. See the Athena user guide and the start-query-execution reference.

AWS Glue: crawlers, Data Catalog, ETL and DataBrew

AWS Glue is the serverless data-integration service. Its Data Catalog is the central metadata store (databases, tables, schemas, partitions) that Athena, EMR and Redshift Spectrum all read. Crawlers scan S3 and other sources, infer the schema and create or update catalog tables. ETL jobs (Apache Spark, Python shell, or visually in Glue Studio) move and transform data, with triggers and workflows for orchestration, interactive sessions and notebooks, data quality rules and sensitive-data detection. AWS Glue DataBrew is the separate visual, no-code tool for profiling and cleaning data. Glue for Ray jobs closed to new customers on 2026-04-30.

aws glue create-database --database-input Name=bookshelf_logs
aws glue create-crawler --name bookshelf-orders-crawler \
  --role "arn:aws:iam::$ACCOUNT_ID:role/GlueCrawlerRole" \
  --database-name bookshelf_logs \
  --targets "S3Targets=[{Path=s3://$BUCKET/orders/}]"
aws glue start-crawler --name bookshelf-orders-crawler
aws glue get-tables --database-name bookshelf_logs --query 'TableList[].Name'

Console: Glue → Crawlers → Create crawler, then Tables. For DataBrew: DataBrew → Datasets → Connect new dataset (aws databrew list-datasets). See What is AWS Glue? and What is AWS Glue DataBrew?.

Lake Formation

AWS Lake Formation is the permission layer on top of the Glue Data Catalog: column-, row- and cell-level grants for principals across Athena, Redshift Spectrum, EMR and Glue, plus cross-account sharing, so data access is governed in one place rather than in many bucket policies. The IAM and S3 foundations are in Identity and access and S3 security.

aws lakeformation get-data-lake-settings
aws lakeformation list-permissions --resource-type TABLE --max-results 10

Streaming has three roles. Amazon Kinesis Data Streams is the partitioned, replayable log (shards or on-demand mode); Amazon Data Firehose (renamed from Kinesis Data Firehose) is the no-code delivery service that buffers a stream or direct puts and writes to S3, Redshift, OpenSearch, Iceberg tables or HTTP endpoints, optionally transforming with Lambda and converting to Parquet; and Amazon Managed Service for Apache Flink (the successor of Kinesis Data Analytics, with Studio notebooks) runs stateful Flink applications in Java, Python, Scala or SQL. Kinesis Data Analytics for SQL applications were shut down on 2026-01-27. When to choose Kinesis over SQS, SNS, EventBridge or MSK is covered in Messaging and integration; this section is the analytics side.

aws kinesis create-stream --stream-name bookshelf-clicks --stream-mode-details StreamMode=ON_DEMAND
aws kinesis put-record --stream-name bookshelf-clicks --partition-key user-42 \
  --cli-binary-format raw-in-base64-out --data '{"page":"/books/1"}'

cat > firehose.json <<EOF
{
  "RoleARN": "arn:aws:iam::$ACCOUNT_ID:role/FirehoseDeliveryRole",
  "BucketARN": "arn:aws:s3:::$BUCKET",
  "Prefix": "clicks/",
  "BufferingHints": { "IntervalInSeconds": 120, "SizeInMBs": 64 }
}
EOF
aws firehose create-delivery-stream --delivery-stream-name bookshelf-clicks-to-s3 \
  --delivery-stream-type DirectPut --extended-s3-destination-configuration file://firehose.json
aws kinesisanalyticsv2 list-applications

Console: Kinesis → Data streams → Create, Amazon Data Firehose → Create Firehose stream, Managed Apache Flink → Create application. See Kinesis Data Streams concepts, What is Amazon Data Firehose? and What is Managed Service for Apache Flink?.

EMR

Amazon EMR runs open-source big-data frameworks (Apache Spark, Hadoop, Hive, Flink, Presto/Trino and more) as managed clusters on EC2 (long-running or transient), on EKS, or serverless with EMR Serverless. Choose EMR when you need framework-level control, custom libraries or very large Spark jobs; choose Glue or Athena when serverless SQL or ETL is enough. Transient clusters that terminate when the step finishes keep cost down.

aws emr list-release-labels --query 'ReleaseLabels[0:3]'
aws emr-serverless list-applications --query 'applications[].[name,id,state]' --output table

Console: EMR → EMR Serverless → Get started is the shortest path. See What is Amazon EMR?.

Redshift

Amazon Redshift is the columnar, massively parallel data warehouse for complex SQL over structured data at scale. It comes as Redshift Serverless (namespaces and workgroups, billed on capacity used) or provisioned clusters, queries S3 data in place with Spectrum, loads with COPY, shares data across accounts, and is the SQL engine inside SageMaker. The Redshift Data API runs SQL over HTTPS with IAM, no driver or connection needed. For a plain operational database see RDS and Aurora; for the comparison with other engines see choosing the right database.

aws redshift-serverless list-workgroups --query 'workgroups[].[workgroupName,status]' --output table
aws redshift-data execute-statement --workgroup-name "$WORKGROUP" --database dev --sql "select current_date"

Console: Redshift → Serverless dashboard → Create workgroup (check the base-capacity default before accepting it). See Getting started with Amazon Redshift Serverless.

Amazon Quick (Quick Sight)

Amazon QuickSight is the business-intelligence service: datasets from Athena, Redshift, S3, RDS and SaaS sources, the SPICE in-memory engine, interactive dashboards, embedding in applications, row-level security and paginated reports. On 2025-10-09 AWS announced its evolution into Amazon Quick Suite, and the product is now called Amazon Quick: an AI workspace with agents, research, flows, automation and an index, in which Amazon Quick Sight continues as the visualisation and BI feature. Existing QuickSight APIs, SDKs, CLI (aws quicksight) and integrations keep working unchanged. Pricing is per user (plus capacity options), not per resource, so unused subscriptions still cost money.

aws quicksight describe-account-subscription --aws-account-id "$ACCOUNT_ID"
aws quicksight list-dashboards --aws-account-id "$ACCOUNT_ID" \
  --query 'DashboardSummaryList[].[Name,DashboardId]' --output table

Console: sign up from the Amazon Quick page or provision it from the console with IAM Identity Center, then Datasets → New dataset → Athena. See What is Amazon Quick?.

IoT

AWS IoT Core connects devices to AWS over MQTT (also MQTT over WebSockets and HTTPS), with X.509 certificates and IoT policies for per-device authentication, a thing registry, device shadows (last reported and desired state), rules that route messages to Lambda, S3, DynamoDB, Kinesis, SQS and others, and jobs for fleet updates. AWS IoT Greengrass runs the same logic on edge devices. Bookshelf has no devices, but a connected book-return kiosk would publish scans to bookshelf/kiosk/<id>/scans and a rule would write them to Firehose. Services built around IoT also moved: AWS IoT FleetWise went into maintenance on 2026-04-30 (closed to new customers), AWS Panorama ended support on 2026-05-31, and Amazon Lookout for Equipment ends on 2026-10-07.

aws iot describe-endpoint --endpoint-type iot:Data-ATS
aws iot-data publish --topic bookshelf/kiosk/demo/scans --qos 1 \
  --cli-binary-format raw-in-base64-out --payload '{"isbn":"example"}'

Console: IoT Core → Connect → Connect one device walks through certificates, policy and a test client (MQTT test client). See What is AWS IoT?.

Other business and end-user services

Several services that appear in AWS service catalogues are neither AI nor analytics; they get one line each so no name is left unexplained. Amazon Connect is a cloud contact centre (aws connect list-instances) that integrates with Lex and Bedrock. Amazon WorkSpaces provides managed virtual desktops (aws workspaces describe-workspaces); Amazon WorkSpaces Applications (formerly AppStream 2.0, CLI group still appstream) streams individual desktop applications to a browser; and Amazon WorkSpaces Secure Browser (aws workspaces-web list-portals) gives a managed, isolated browser for internal web apps, which moves to maintenance on 2026-10-29 (closed to new customers). AWS AppSync is the managed GraphQL and publish/subscribe API layer (aws appsync list-graphql-apis); the REST/HTTP counterparts are in API Gateway. AWS Amplify is the front-end and full-stack hosting toolkit, summarised in Developer tools and DevOps, while static sites that you assemble yourself are in S3 security and static hosting. Amazon Pinpoint (marketing messaging) reaches end of support on 2026-10-30; use SES for email (SES email) and AWS End User Messaging for SMS and push (Messaging and integration). Hybrid and migration services (DMS, Schema Conversion, Snow Family, Outposts) are in Architecture, migration and hybrid. Each has an official page under docs.aws.amazon.com linked in the references below.

Security and operations

All services on this page follow the same rules as the rest of the section:

  • Authenticate with IAM roles (task roles, Lambda execution roles, EKS Pod Identity, SageMaker execution roles), never long-lived keys; see Identity and access.

  • Give each service its own role with a trust policy for that service principal, such as glue.amazonaws.com, firehose.amazonaws.com or bedrock.amazonaws.com, and only the S3 prefixes and KMS keys it needs (Secrets Manager and KMS).

  • Keep traffic private with VPC endpoints (Bedrock, SageMaker, Athena, Glue, Kinesis and S3 all offer them; see VPC networking) and encrypt S3 data, query results and streams with KMS.

  • Review data-handling terms: Bedrock does not use your prompts and completions to train the base models, but some other services have opt-out controls for content use, which the service FAQ and the AWS AI services opt-out policy describe.

  • Log API activity with CloudTrail and watch spend with budgets; see Monitoring and observability and Cost management and support.

  • Apply organisation-wide guardrails (service control policies that restrict which Bedrock models or Regions may be used) as described in Accounts and organizations and Governance, security and compliance.

Pricing model

Prices change and differ by Region, so none are stated here; use the official pricing pages in the references (checked 2026-10-01) and the AWS Pricing Calculator. The cost drivers by service:

Service What you pay for

Bedrock

Input and output tokens per model (on-demand), a lower rate for batch, or hourly provisioned throughput; Knowledge Bases add the vector store, embeddings and storage; Guardrails are charged per processed text unit

AgentCore

Consumption-based per service (runtime compute time, memory, gateway calls and so on), with no upfront commitment

SageMaker AI

Instance hours for notebooks, training, endpoints and processing (endpoints bill 24x7 while they exist); serverless and asynchronous endpoints bill by use; storage and data transfer

Rekognition, Textract, Transcribe, Polly, Comprehend

Per image, page, audio minute, character or unit of text analysed; custom models add training and hosting time

Kendra

Provisioned index hours (even when empty) plus connector scans

Athena

SQL: per TB of data scanned (partitioning and Parquet cut it); Spark: compute capacity used

Glue

Per DPU-hour for jobs and crawlers, a catalog fee beyond a free tier of objects, DataBrew per node-hour

Kinesis, Firehose

Streams: on-demand per GB in and out or provisioned shard-hours plus extra for enhanced fan-out and long retention; Firehose per GB ingested plus format conversion

Managed Flink

Per Kinesis Processing Unit-hour (KPU) of running applications

EMR, Redshift

EMR: EC2 plus an EMR surcharge, or vCPU and memory per second on Serverless; Redshift: capacity (RPU-hours) or node-hours plus managed storage

Amazon Quick

Per-user subscriptions by role and plan plus optional capacity pricing

IoT Core

Connectivity minutes, messages, rules triggered and registry or shadow operations

The recurring surprises are idle resources that bill continuously (SageMaker endpoints, Kendra indexes, provisioned Redshift or EMR clusters, Quick subscriptions) and unpartitioned CSV scanned repeatedly by Athena. Tag resources and set budgets before experimenting.

Limits and quotas

Every service here has Regional, adjustable and non-adjustable quotas; read them in the Service Quotas console or with aws service-quotas list-service-quotas --service-code <code>, and request increases before a launch rather than during one. The ones that most often bite are Bedrock requests-per-minute and tokens-per-minute (per model and per Region, and very low on new accounts), SageMaker instance-type quotas that default to zero for GPU families, Athena concurrent queries and per-query limits, Glue concurrent job runs, Kinesis shard throughput (1 MB/s or 1,000 records/s of writes per shard), Firehose delivery limits and Textract or Transcribe concurrent job limits. See Service Quotas and each service’s quotas page in the references.

Recent changes and retired services

Dates below were verified against the official lifecycle and availability pages on 2026-10-01. The authoritative source is the AWS service lifecycle page. "Closed to new customers" means existing accounts keep using the service.

Service or feature Date Change and what to use instead

Kinesis Data Firehose

2024

Renamed Amazon Data Firehose

Amazon SageMaker

2024-12-03

Renamed SageMaker AI; next-generation SageMaker and Unified Studio launched the same day

Kinesis Data Analytics

renamed 2023-2024

Now Managed Service for Apache Flink; SQL applications shut down 2026-01-27

Amazon Lookout for Vision, Lookout for Metrics

2025-10-31, 2025-10-10

Ended; use SageMaker AI or partner solutions

Amazon QuickSight

2025-10-09 and 2026

Evolved into Amazon Quick Suite, now Amazon Quick; Quick Sight remains the BI feature

Comprehend: topic modeling, event detection, prompt safety

2026-04-30

Closed to new customers; use Bedrock models and Bedrock Guardrails

Rekognition: streaming events, batch image content moderation

2026-04-30

Closed to new customers

Glue for Ray

2026-04-30

Closed to new customers

IoT FleetWise

2026-04-30

Maintenance, closed to new customers

AWS Panorama

2026-05-31

Support ended

Amazon Kendra

2026-07-30

Closed to new customers; use Bedrock Knowledge Bases

Amazon Bedrock Agents (now Agents Classic)

2026-07-30

Closed to new customers; use AgentCore

Amazon Q Business

July 2026

Closed to new customers; use Amazon Quick

Several SageMaker AI features (for example Ground Truth, Model Monitor, Debugger, Clarify, A2I)

July 2026

Maintenance; check the lifecycle page for exact scope and dates

Amazon Pinpoint

2026-10-30

End of support; use SES and AWS End User Messaging

Amazon Lookout for Equipment

2026-10-07

Support ends

WorkSpaces Secure Browser

2026-10-29

Moves to maintenance, closed to new customers

Amazon Q Developer IDE plugins

2027-04-30

End of support; use Kiro

Open model catalogues also change fast: Bedrock added Anthropic, OpenAI, xAI, DeepSeek and other families during 2026, and exposes newer models through the same bedrock-runtime calls, so list models at run time instead of hard-coding identifiers.

Where older guides differ

Older tutorials and certification material predate much of the above. Expect to correct these: Kinesis Data Firehose and Kinesis Data Analytics are no longer the names; QuickSight is now part of Amazon Quick; SageMaker is SageMaker AI and sits inside a larger platform; Bedrock is now a model, retrieval and guardrail platform with AgentCore rather than a short model list; Kendra is closed to new customers; Pinpoint is ending; and guides that start every setup with IAM-user access keys should be replaced with IAM Identity Center, aws login or CloudShell (see Getting started). AWS Glue DataBrew and the S3 plus Glue crawler plus Athena pattern are unchanged and still current.

Clean up

Everything above is for illustration; remove anything you created, in dependency order, because several of these resources bill while idle:

# SageMaker AI: endpoints first, then config and model
aws sagemaker delete-endpoint --endpoint-name "$ENDPOINT"
aws sagemaker delete-endpoint-config --endpoint-config-name "$ENDPOINT"
aws sagemaker delete-model --model-name "$MODEL_NAME"

# Bedrock Knowledge Base: data sources first, then the base, then its vector store
aws bedrock-agent delete-data-source --knowledge-base-id "$KB_ID" --data-source-id "$DS_ID"
aws bedrock-agent delete-knowledge-base --knowledge-base-id "$KB_ID"

# Streaming and ETL
aws firehose delete-delivery-stream --delivery-stream-name bookshelf-clicks-to-s3
aws kinesis delete-stream --stream-name bookshelf-clicks --enforce-consumer-deletion
aws glue delete-crawler --name bookshelf-orders-crawler
aws glue delete-database --name bookshelf_logs

# Speech and results
aws transcribe delete-transcription-job --transcription-job-name bookshelf-podcast-001
aws s3 rm "s3://$BUCKET/athena-results/" --recursive

# Analytics compute
aws emr-serverless stop-application --application-id "$APP_ID"
aws emr-serverless delete-application --application-id "$APP_ID"
aws redshift-serverless delete-workgroup --workgroup-name "$WORKGROUP"
aws redshift-serverless delete-namespace --namespace-name "$NAMESPACE"

Also delete the IAM roles you created for Glue and Firehose, the Kendra index (aws kendra delete-index) if you made one, and the Amazon Quick subscription (from Manage account → Account settings, as a Quick administrator), because Quick bills per user. Delete a versioned S3 bucket only after emptying all versions, as described in S3 object storage.