Which AWS Agentic AI is Better - Strands or Bedrock Agents?


Hello Reader,

On my interactions, this question is coming up a lot - “How are AWS Strands different from Bedrock Agents?”. In today's newsletter, we will go over this, so you can also answer this in your interviews or real-world projects

Let’s break it down using a practical example: What happens when a user asks an LLM app:

  • What’s the time in New York?
  • What’s the weather there?
  • List my S3 buckets

The LLM don't have these information, hence it needs to invoke tools for time, weather, and AWS info. Perhaps it'd call Tool 1 to get latitude and longitude of NYC, and use that to call Tool 2 to get time, and Tool 3 to get weather. And finally it'd call Tool 4 for S3 buckets.

How would the practical implementation look like with both Bedrock and Strands? Let's find out

☁️ Bedrock Agents: Fully Managed, but Verbose

With Bedrock Agents, here’s how it works:

  • You use Bedrock-hosted LLMs
  • You need to define Action Group for the agent
  • In that Action Group, each tool (e.g., get time, fetch weather, list S3) must be its own Lambda function
  • You define each function’s description and parameters
  • The agent decides execution order based on the description and parameters

Here are the pros and cons

Pros:

  • Managed infrastructure - both the LLM and underlying Lambda infrastructure is managed by AWS
  • Easy Bedrock Guardrails integration
  • Since this is all in AWS service, you can use AWS support for issues (except your Lambda code, that's your part in the Shared Responsibility model ;) )

Cons:

  • You must code and manage multiple Lambdas. This is a major pain
  • Descriptions and input parameters must be of good quality so that the LLM can determine what to call
  • No external LLM support (e.g., Claude hosted outside Bedrock)

Now, let's take a look at AWS Strands.

🔧 AWS Strands: Developer Freedom with Built-in Power

Think of AWS Strands as a single Python program that can implement powerful agentic workflows with a minimum amount of code. Why?

  • Supports both Bedrock and external LLMs (e.g., Anthropic Claude)
  • This one is awesome - It comes with 20+ prebuilt tools, that you do NOT have to code. For example:
    • current_time (gives current time)
    • use_aws (uses boto3 under the hood to list AWS resources)
    • http_request (figures out API calls automatically)

Strand Code to implement the above is below:

Here is the code in less than 30 lines to implement the above (I am not joking). And as you can see, most of it is plain english. The powerful part is line 22, where I simply specify to use prebuilt tools - current_time (to get time!), http_request (automatically calls popular API endpoints to perform the task automatically!), and use_aws (to run boto3 commands using your natural language!)

You can also write your own custom tool, and integrate with MCP server! Let's reserve this part for another edition, shall we?

If you want to get the code and see a demo, check out my YouTube video:

video preview

If you have found this newsletter helpful, and want to support me 🙏:

Checkout my bestselling courses on AWS, System Design, Kubernetes, DevOps, and more: Max discounted links

Keep learning and keep rocking 🚀,

Raj

Fast Track To Cloud

Free Cloud Interview Guide to crush your next interview. Plus, real-world answers for cloud interviews, and system design from a top Solutions Architect at AWS.

Read more from Fast Track To Cloud

Hello Reader, Most engineers are using MCP clients and agents. But very few know how to build and host an MCP server, let alone run it remotely on the cloud. In today's edition, we will learn how to create and run a remote MCP server on Kubernetes, on Amazon EKS! I will share the code repo as well, so you can try this out yourself. But first.. 🔧 What is an MCP Server really? It’s not just an API that performs a task. An MCP Server is a protocol-compliant endpoint (defined by Anthropic) that...

Hello Reader, Another day, another MCP tool. But this one is special. Today we are going to go over newly released EKS MCP server. This is the official Kubernetes MCP server released and maintained by AWS. This one will rule them all! In today's edition, we are going to go over what it is, why this one is a game changer, how you can use this to get job interviews and demand more money, and whether it will eliminate SRE jobs. There are three Ways to Manage Kubernetes : Traditional Way (Manual...

Hello Reader, We all heard it - Gen AI is taking away your job. The reality is, it is for sure impacting your job functionalities. However, there is a bigger reason why many folks are failing interviews and not growing in their career, due to Gen AI, but NOT for the reasons you think! Let's dive deep You're Learning the Wrong Gen AI Tools ⚙ There are countless Gen AI tools and services out there. But here’s the key question you should be asking: Which tools are actually being used by the...