<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lilupa Karu</title>
    <description>The latest articles on DEV Community by Lilupa Karu (@lilupa).</description>
    <link>https://dev.to/lilupa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1349006%2Fd8607000-dd04-449b-9361-f566c6cef2ff.jpeg</url>
      <title>DEV Community: Lilupa Karu</title>
      <link>https://dev.to/lilupa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lilupa"/>
    <language>en</language>
    <item>
      <title>The AI Engineering Team: Rethinking the Software Development Lifecycle on AWS</title>
      <dc:creator>Lilupa Karu</dc:creator>
      <pubDate>Fri, 04 Sep 2026 06:35:36 +0000</pubDate>
      <link>https://dev.to/lilupa/the-ai-engineering-team-rethinking-the-software-development-lifecycle-on-aws-87n</link>
      <guid>https://dev.to/lilupa/the-ai-engineering-team-rethinking-the-software-development-lifecycle-on-aws-87n</guid>
      <description>&lt;p&gt;Artificial Intelligence is changing software engineering faster than most of us expected.&lt;/p&gt;

&lt;p&gt;And recently, I found myself asking a question that wouldn't go away:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if AI could be more than a coding assistant? What if it could become part of the engineering team? That’s where the idea of an AI Engineering Team starts to take shape.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This wasn't just a theoretical question for me. It came from conversations, research, experiments, and—most importantly—things I was seeing firsthand at work. I started exploring what an AI-driven engineering team could actually look like, and how it could help us deliver software &lt;strong&gt;faster, more accurately, and with greater confidence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A few years ago, &lt;em&gt;AI-assisted development&lt;/em&gt; meant generating a function, completing some code, or explaining an unfamiliar snippet.&lt;/p&gt;

&lt;p&gt;Today, AI can generate features, write tests, review pull requests, analyse logs, create infrastructure, troubleshoot failures, and interact with many of the tools engineers use every day.&lt;/p&gt;

&lt;p&gt;So, perhaps the question has changed.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If AI can participate across the Software Development Lifecycle, why are we still treating it as just a coding assistant?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I believe we're moving towards something different:&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Engineering Team
&lt;/h2&gt;

&lt;p&gt;Not a team of AI agents replacing engineers. Not humans disappearing from the picture. Instead, &lt;strong&gt;humans and AI working together as one engineering team.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Engineers focus increasingly on &lt;strong&gt;intent, architecture, decisions, domain knowledge, governance, trade-offs and outcomes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI takes on more of the &lt;strong&gt;analysis, coding, testing, reviewing, deployment and operational work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The real opportunity isn't simply giving engineers better AI tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's rethinking the entire Software Development Lifecycle around human–AI collaboration.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that's what we'll explore in this article—and how &lt;strong&gt;AWS can provide the foundation for making the AI Engineering Team a reality.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  From AI-Assisted Development to AI-Assisted Software Delivery
&lt;/h2&gt;

&lt;p&gt;For a while, the story of AI in software engineering was relatively simple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI helped developers write code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You gave it a prompt, it suggested a function. You pasted in an unfamiliar piece of code, it explained it. You asked for a unit test, it generated one.&lt;/p&gt;

&lt;p&gt;The developer was still firmly in the driver's seat.&lt;/p&gt;

&lt;p&gt;The workflow looked something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fao3olhniz2n3cmgncbwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fao3olhniz2n3cmgncbwg.png" alt="Workflow" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And honestly, that sounds pretty good from a developer's perspective, doesn't it?&lt;/p&gt;

&lt;p&gt;AI takes away some of the repetitive work. Developers move faster. Code gets generated in seconds instead of minutes or hours.&lt;/p&gt;

&lt;p&gt;But there's a bigger pattern emerging.&lt;/p&gt;

&lt;p&gt;Technology doesn't usually stop at making one step faster. It eventually starts changing the entire process and AI is no different. We're now moving from AI-assisted development towards something much bigger:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI-assisted software delivery.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine starting with nothing more than a business requirement:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Allow customers to select a flight, reserve the available seats, and hold the booking for a defined period before completing payment."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Traditionally, turning a simple requirement into working software takes a long journey.&lt;/p&gt;

&lt;p&gt;A requirement lands. An engineer explores the architecture, identifies impacted services and APIs, designs the solution, writes infrastructure and application code, creates tests, troubleshoots failures, raises a pull request, passes security and quality checks, deploys, and finally validates the result.&lt;/p&gt;

&lt;p&gt;That's a lot of engineering effort between &lt;strong&gt;"we need this capability"&lt;/strong&gt; and &lt;strong&gt;"it's working."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now imagine AI joining us throughout that journey.&lt;/p&gt;

&lt;p&gt;The requirement becomes the starting point.&lt;/p&gt;

&lt;p&gt;AI analyses it, understands the architecture and APIs, proposes the solution, generates the infrastructure, code and tests, runs them, investigates failures, fixes issues, creates the pull request, performs security and quality checks, deploys to development, validates the behaviour, and summarises the outcome for the engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The engineer sets the intent. AI helps turn that intent into working software.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's where the idea of an &lt;strong&gt;AI Engineering Team&lt;/strong&gt; starts to become real.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3f1y7doa50um0hy2q2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3f1y7doa50um0hy2q2v.png" alt="AI Engineering Team" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's a fundamental shift. We're no longer talking about &lt;strong&gt;AI helping a developer write code&lt;/strong&gt;. We're talking about &lt;strong&gt;AI participating in the software delivery lifecycle&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And this is where things get really interesting.&lt;/p&gt;

&lt;p&gt;The human engineer doesn't disappear. The engineer moves up the abstraction level. Instead of spending most of their time asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How do I implement this?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the engineer increasingly focuses on:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What should the system do, why should it do it, and how do we know it is doing the right thing?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a very different engineering role.&lt;/p&gt;

&lt;p&gt;It requires a broader perspective—understanding &lt;strong&gt;architecture, business context, domain knowledge, security, reliability, trade-offs, governance and outcomes&lt;/strong&gt;, rather than focusing primarily on writing code.&lt;/p&gt;

&lt;p&gt;In other words, the future engineer may need to become less of a code producer and more of a &lt;strong&gt;system thinker, decision maker and AI orchestrator&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And that brings us to an important question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If AI can participate in the entire software delivery lifecycle, what should the AI engineering team actually look like?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's where the idea of &lt;strong&gt;The AI Engineering Team&lt;/strong&gt; starts to become much more interesting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmufggciy1wrq8fdd1fhg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmufggciy1wrq8fdd1fhg.jpeg" alt="AI Engineering Team" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This isn't necessarily a literal architecture that every organisation should implement. It's a way of thinking about how the responsibilities of software engineering could evolve.&lt;/p&gt;




&lt;h2&gt;
  
  
  The New Software Development Lifecycle
&lt;/h2&gt;

&lt;p&gt;Traditionally, we think about the SDLC as:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7uq3n8281g7ndasp8bty.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7uq3n8281g7ndasp8bty.jpeg" alt="SDLC" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI doesn't remove these stages. Instead, it changes &lt;strong&gt;who performs the work inside each stage&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let's look at each one.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Requirements → AI Product Analyst
&lt;/h2&gt;

&lt;p&gt;The first challenge in software development isn't writing code. It's understanding what needs to be built.&lt;/p&gt;

&lt;p&gt;Imagine a requirement as simple as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Customers should be able to use a discount coupon while booking an air ticket."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds easy, right?&lt;/p&gt;

&lt;p&gt;An experienced engineer immediately sees the hidden questions: What type of coupon? Who is eligible? Where is it defined? What happens when it's invalid? What if the coupon service is unavailable? How does it affect payments, refunds and reporting?&lt;/p&gt;

&lt;p&gt;This is where an &lt;strong&gt;AI Product Analyst&lt;/strong&gt; can step in.&lt;/p&gt;

&lt;p&gt;Instead of starting with a vague requirement, the AI can analyse existing documentation, APIs, architecture, Jira history, code, configurations and even past incidents to uncover the missing context, identify ambiguities and turn the business idea into a clear, structured engineering specification with acceptance criteria.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From “what do we want?” to “here's exactly what we need to build.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fefsl0kdznrm2l45cy86m.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fefsl0kdznrm2l45cy86m.jpeg" alt="AI Product Analyst" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Architecture → AI Architect
&lt;/h2&gt;

&lt;p&gt;This is where the &lt;strong&gt;AI Engineering Team&lt;/strong&gt; starts to get really interesting.&lt;/p&gt;

&lt;p&gt;AI can already turn a requirement into an architecture diagram in seconds. But let's be honest—&lt;strong&gt;drawing boxes and arrows isn't architecture.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A real architect has to think about scalability, availability, security, cost, performance, failure modes, existing systems, organisational constraints, and how the solution will evolve over time.&lt;/p&gt;

&lt;p&gt;So imagine giving an AI architecture assistant an existing AWS environment and a new business requirement.&lt;/p&gt;

&lt;p&gt;Instead of simply producing one diagram, it could propose several options:&lt;/p&gt;

&lt;p&gt;Option A: API Gateway → Lambda → DynamoDB&lt;br&gt;
Option B: API Gateway → ECS → Aurora&lt;br&gt;
Option C: EventBridge → Step Functions → Lambda → DynamoDB&lt;/p&gt;

&lt;p&gt;But the real magic isn't the diagrams.&lt;/p&gt;

&lt;p&gt;It's what comes next:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Here are the trade-offs, risks, costs and operational implications of each option—and here's why I recommend this one."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI becomes the architecture analyst, exploring possibilities and surfacing trade-offs across the enterprise and domain context.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frdvr8yafiqlgzao60koi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frdvr8yafiqlgzao60koi.jpeg" alt="AI Architect" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The architect still owns the decision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI doesn't replace the architect. It gives the architect a much more powerful thinking partner.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Development → AI Software Engineer
&lt;/h2&gt;

&lt;p&gt;This is where AI has already begun changing the game.&lt;/p&gt;

&lt;p&gt;It started with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Write this function."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Build this feature."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now we're moving towards something far more powerful:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Implement this capability within the constraints of this architecture."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a completely different level of intelligence.&lt;/p&gt;

&lt;p&gt;Imagine an AI that understands your &lt;strong&gt;codebase, architecture, APIs, infrastructure, database schemas, coding standards, tests, security policies and observability data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It no longer needs to answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How do I write this code?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It can start answering:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How should this change be implemented in this system?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the shift from an &lt;strong&gt;AI coding assistant to an AI Software Engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And as AI agents become better at understanding repositories, using developer tools, running tests and iterating on their own work, engineers will increasingly move from writing every line of code to &lt;strong&gt;orchestrating AI to solve larger engineering problems.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Testing → AI Test Analyst/ Engineer
&lt;/h2&gt;

&lt;p&gt;Now imagine that same AI reviewing your pull request.&lt;/p&gt;

&lt;p&gt;Today, it might tell you that your variable name could be better or that your code can be simplified.&lt;/p&gt;

&lt;p&gt;Useful—but what if it understood the &lt;strong&gt;requirement, architecture, security policies and operational context&lt;/strong&gt; behind the change?&lt;/p&gt;

&lt;p&gt;It could ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does it meet the requirement?&lt;/li&gt;
&lt;li&gt;Does it violate our architecture?&lt;/li&gt;
&lt;li&gt;Does it introduce security risks?&lt;/li&gt;
&lt;li&gt;What happens when a dependency fails or times out?&lt;/li&gt;
&lt;li&gt;Could it unexpectedly increase AWS costs?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Consider a simple example: a Lambda function performs a high-frequency DynamoDB scan. The code works. The tests pass. The PR looks perfectly fine.&lt;/p&gt;

&lt;p&gt;But architecturally, it could be a disaster.&lt;/p&gt;

&lt;p&gt;An AI reviewer with knowledge of the system could catch that before it reaches production.&lt;/p&gt;

&lt;p&gt;That's when AI code review becomes something much more powerful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It stops reviewing code and starts reviewing engineering decisions.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Deployment → AI Release Engineer
&lt;/h2&gt;

&lt;p&gt;Deployment pipelines have become increasingly automated, but releasing software safely still involves a surprising number of decisions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6b93b859esujdfocxgx3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6b93b859esujdfocxgx3.jpeg" alt="AI Release Engineer" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is another area where an AI release agent could become part of the engineering team.&lt;/p&gt;

&lt;p&gt;Before making a release decision, the AI Release Engineer could bring together a much broader picture—understanding the scope of the change, analysing test results and deployment history, identifying affected services, checking current production health, evaluating feature flags and potential customer impact, learning from previous incidents, and assessing known risks—to determine how safely and confidently the change can be released.&lt;/p&gt;

&lt;p&gt;And instead of simply saying &lt;strong&gt;"deployment successful"&lt;/strong&gt;, it could provide an engineering recommendation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"The change affects three services and introduces a new dependency. Automated tests have passed, but the affected service has experienced elevated latency in the previous two releases. Recommend a canary deployment to 10% of traffic with a 30-minute observation window."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a very different type of automation. The AI isn't simply executing a pipeline. It's helping engineers make release decisions and this leads to an important principle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI-assisted release governance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI can analyse the evidence, identify risks and make recommendations—and, where appropriate, even execute predefined actions.&lt;/p&gt;

&lt;p&gt;But the organisation still defines the boundaries.&lt;/p&gt;

&lt;p&gt;Humans decide what AI is allowed to do, under what conditions, and when human approval is required. Because ultimately, the goal isn't to remove humans from the release process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's to give engineers a much better understanding of the release before they make the decision.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Operations → AI Site Reliability Engineer
&lt;/h2&gt;

&lt;p&gt;If there’s one area where I believe AI could fundamentally reshape engineering teams, it’s production operations.&lt;/p&gt;

&lt;p&gt;Imagine this: a deployment finishes at 9:02 AM. A few minutes later, latency starts creeping up. Error rates spike. An alarm fires. An engineer gets paged.&lt;/p&gt;

&lt;p&gt;Then the investigation begins.&lt;/p&gt;

&lt;p&gt;Someone opens CloudWatch. Someone checks the deployment. Another digs through logs. The team starts connecting clues across metrics, traces, alarms, events and telemetry—all trying to answer three questions:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What happened? Why did it happen? And what should we do next?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now imagine something different.&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;AI SRE&lt;/strong&gt; is already watching.&lt;/p&gt;

&lt;p&gt;It sees the deployment, correlates it with the sudden change in latency and errors, investigates the relevant telemetry, identifies the likely root cause and recommends the next action—all before the human engineer starts investigating.&lt;/p&gt;

&lt;p&gt;For well-defined, low-risk scenarios, it could even remediate the issue automatically within predefined guardrails. For everything else, it stops and asks a human.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI won't replace the SRE. It will become an always-on engineering partner—watching, investigating, learning and assisting while humans remain accountable for the decisions that matter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmvddi13hzsqu6up4yr9b.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmvddi13hzsqu6up4yr9b.jpeg" alt="AI SRE" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The future isn't just about building smarter AI agents.&lt;/p&gt;

&lt;p&gt;It’s about building trusted agents that know when to act, when to ask, and when to stop.&lt;/p&gt;




&lt;h2&gt;
  
  
  AWS as the Foundation for the AI Engineering Team
&lt;/h2&gt;

&lt;p&gt;If we accept the idea that AI is becoming an active member of the software engineering team, the next question naturally follows:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Where does this AI engineering team actually live?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is where AWS becomes particularly interesting.&lt;/p&gt;

&lt;p&gt;AWS already provides many of the building blocks needed to turn this idea into a real, production-ready engineering system.&lt;/p&gt;

&lt;p&gt;Imagine an engineer starting with a requirement. Instead of jumping straight into an IDE and manually working through every step, they interact with an &lt;strong&gt;AI Engineering Hub&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That hub becomes the orchestrator.&lt;/p&gt;

&lt;p&gt;It understands the engineer's intent and brings together the right AI agents, organisational knowledge, engineering policies and technical tools to get the job done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F74s35w58uqpaztlx4wjh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F74s35w58uqpaztlx4wjh.jpeg" alt="AI Engineering Hub" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the heart of this architecture sits &lt;strong&gt;Amazon Bedrock&lt;/strong&gt;, providing access to powerful foundation models. Around it, &lt;strong&gt;Amazon Bedrock AgentCore&lt;/strong&gt; gives AI agents the capabilities they need to operate in production—tools, identity, memory, observability and evaluation.&lt;/p&gt;

&lt;p&gt;These agents can take on real engineering work: analysing requirements, reviewing architecture, generating code and infrastructure, running tests, troubleshooting failures, and interacting with AWS and enterprise systems.&lt;/p&gt;

&lt;p&gt;But here's the important part: &lt;strong&gt;the real value isn't any single AWS service. It's how everything comes together.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI agents connect with organisational knowledge, engineering tools and policies to become part of the delivery lifecycle. The engineer stays in control—making architectural decisions, applying judgement, governing the process and owning the outcome—while AI takes on more of the execution.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;We're not simply adding an AI coding assistant to the existing SDLC anymore. We're starting to redesign the SDLC around AI.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  AI Engineering Needs Guardrails
&lt;/h2&gt;

&lt;p&gt;The moment AI moves beyond generating code and starts touching real systems, everything changes.&lt;/p&gt;

&lt;p&gt;Imagine an AI agent that can read customer data, call APIs, modify infrastructure, deploy software, and access production systems.&lt;/p&gt;

&lt;p&gt;At that point, it's no longer just an assistant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's a workload with power.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And power needs guardrails.&lt;/p&gt;

&lt;p&gt;We need the same foundations we've always relied on in distributed systems—&lt;strong&gt;least privilege, identity, authentication, authorisation, auditability, isolation and observability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But AI adds a new layer of questions:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What can the agent do? What can it see? Which tools can it use? Can it change its own permissions? And what happens when it makes the wrong decision?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That's why the AI Engineering Team isn't simply an AI problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's an architecture, security and governance problem.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The SDLC of the Future
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ilt6qx216glc7il0znv.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ilt6qx216glc7il0znv.jpeg" alt="The SDLC of the Future" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is not about eliminating humans from the loop.&lt;/p&gt;

&lt;p&gt;It is about putting humans where &lt;strong&gt;human judgement creates the most value&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Real Shift: From Coding to Intent
&lt;/h1&gt;

&lt;p&gt;It’s easy to think the biggest change coming to software engineering is simply better AI models.&lt;/p&gt;

&lt;p&gt;I don't think it is.&lt;/p&gt;

&lt;p&gt;The bigger change is &lt;strong&gt;the level at which engineers will work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For decades, we've been moving further away from the machine:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Machine Code → Assembly → High-Level Languages → Frameworks → Cloud → Infrastructure as Code → AI-Assisted Development → Intent-Driven Engineering&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At every step, we've removed more of the mechanical work from engineers. AI is simply taking that journey one step further.&lt;/p&gt;

&lt;p&gt;Instead of saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"I need to write a Lambda function."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An engineer might increasingly say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"I need a secure, reliable and cost-effective way to process these events."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The intent comes first.&lt;/strong&gt; The implementation becomes a consequence.&lt;/p&gt;

&lt;p&gt;That's also where I see the future of engineering teams heading. I don't see ten developers being replaced by ten AI agents. I see &lt;strong&gt;small, highly capable teams of engineers working alongside specialised AI agents&lt;/strong&gt;, with humans focusing on architecture, decisions, domain knowledge, governance and outcomes, while AI takes on more of the analysis, coding, testing, reviewing, deployment and operational work.&lt;/p&gt;

&lt;p&gt;The winners won't necessarily be the organisations with the most AI. They'll be the ones that figure out how to combine &lt;strong&gt;humans, AI, architecture and governance&lt;/strong&gt; effectively.&lt;/p&gt;

&lt;p&gt;And that's the real shift.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI isn't just becoming another developer tool. It's becoming part of the software engineering operating model.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The next generation of engineering organisations won't simply be &lt;strong&gt;cloud-native—they'll increasingly be AI-native&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The future of software engineering isn't humans versus AI. It's what becomes possible when humans and AI engineer together.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>aws</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AWS AI-DLC: Rethinking the SDLC in the Age of AI</title>
      <dc:creator>Lilupa Karu</dc:creator>
      <pubDate>Wed, 04 Feb 2026 09:54:19 +0000</pubDate>
      <link>https://dev.to/lilupa/aws-ai-dlc-rethinking-the-sdlc-in-the-age-of-ai-4hln</link>
      <guid>https://dev.to/lilupa/aws-ai-dlc-rethinking-the-sdlc-in-the-age-of-ai-4hln</guid>
      <description>&lt;p&gt;Lately, my day-to-day world in software engineering has shifted more toward architecture and leadership than hands-on delivery. But over the Christmas break, I had the chance to get closer to the ground again—offering some friendly guidance to help build a SaaS product from scratch. No legacy systems, no existing processes—just a blank canvas and a big idea.&lt;/p&gt;

&lt;p&gt;A former colleague of mine, Edwin, who was deep in the build, asked a familiar question: “Where should I start? Do we do this the same way we always have—Agile, sprints, ceremonies?” I paused, thought it through, and said, “Honestly, no mate. You should try AI-DLC.” He laughed and replied, “I know it has something to do with AI… but what exactly is it?”&lt;/p&gt;

&lt;p&gt;That question led to several long conversations, mapping AI-DLC onto his project and rethinking what modern software development could look like when AI isn’t just a supporting tool, but a first-class participant in how software is designed, built, and operated. This article is my attempt to share that thinking—for anyone ready to step outside the old playbook and explore what’s next.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is AWS AI-DLC?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AWS AI-DLC (AI-Driven Development Lifecycle)&lt;/strong&gt; is an AI-native approach to software development that fundamentally rethinks how systems are designed, built, and operated. Instead of treating AI as a supporting tool used at isolated stages, AI-DLC embeds intelligence across the entire lifecycle—from ideation and requirements to implementation, testing, deployment, and operations. AI becomes an active participant in delivery, continuously assisting with decisions, execution, and optimisation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsc9ag0g3v8lcbyacnica.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsc9ag0g3v8lcbyacnica.png" alt="SDLC vs AI-DLC" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Crucially, AI-DLC preserves a strong human-in-the-loop model. Engineers and architects define intent, apply domain context, validate outcomes, and retain ownership of production systems, while AI accelerates execution, reduces manual effort, and enforces consistency at scale. The result is a development lifecycle where humans focus on strategy and judgment, and AI handles orchestration—enabling teams to deliver faster, with higher quality and confidence.&lt;/p&gt;

&lt;p&gt;AI-DLC deliberately keeps humans in the driver’s seat, with explicit approval gates for critical decisions, while AI accelerates the work that happens in between.&lt;br&gt;
That’s why &lt;strong&gt;AI-DLC isn’t vibe coding. It delivers speed without sacrificing control&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  How do we use AI-DLC?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fidfkplu3v5vyzoldx1oq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fidfkplu3v5vyzoldx1oq.png" alt="How do we use AI-DLC" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just as you interact with ChatGPT by asking a question, you can initiate an AI-DLC workflow by simply stating your intent. AI-DLC follows a simple yet powerful pattern—one that consistently repeats across every phase of the development lifecycle.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I want to start an AI-DLC project for an event management application.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From there, the AI takes over the orchestration. It automatically identifies whether the project is greenfield (new) or brownfield (existing), guides you through the appropriate lifecycle phases, asks clarifying questions to refine requirements, seeks explicit approval before advancing, and continuously tracks progress throughout the journey.&lt;/p&gt;




&lt;h2&gt;
  
  
  AI-DLC Core Framework
&lt;/h2&gt;

&lt;p&gt;AWS has formally introduced the AI-DLC methodology and its core philosophy &lt;a href="https://prod.d13rzhkk8cj2z0.amplifyapp.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Let’s explore the key components that define it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpemvlads18e8y2rwgrb6.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpemvlads18e8y2rwgrb6.webp" alt="AI-DLC Core Framework" width="720" height="621"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Inception Phase
&lt;/h3&gt;

&lt;p&gt;This is the planning and definition stage where the project kicks off.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Roles&lt;/strong&gt;: Product Owner, Developers, and AI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Key Ritual: Mob Elaboration&lt;/strong&gt; (Collaborative defining of requirements).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Process&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Starts with a high-level Intent (Goal).&lt;/li&gt;
&lt;li&gt;Breaks down the intent into smaller working pieces (labeled Unit 1, Unit 2... Unit n).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Artefacts (Outputs)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PRFAQs (Press Release / Frequently Asked Questions)&lt;/li&gt;
&lt;li&gt;User Stories&lt;/li&gt;
&lt;li&gt;NFRs (Non-Functional Requirements).&lt;/li&gt;
&lt;li&gt;Risks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Construction Phase
&lt;/h3&gt;

&lt;p&gt;This is the building and testing stage where the "Units" are turned into functional software components.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Roles:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For Construction: Developers and AI.&lt;/li&gt;
&lt;li&gt;For Testing: Product Owner, Developers, and AI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Key Rituals: Mob Construction and Mob Testing&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Process:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Involves iterative design and coding cycles.&lt;/li&gt;
&lt;li&gt;Transforms "Units" into "Bolts" (Bolt 1, Bolt 2... Bolt n).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Artefacts (Outputs):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain Design, Logical Design, and Codes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment Units&lt;/strong&gt; that are: Secured, Instrumented, De-Risked, Tested, and Packaged.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Operation Phase
&lt;/h3&gt;

&lt;p&gt;This is the deployment stage where the software goes live.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Roles:&lt;/strong&gt; Product Owner, Developers, and AI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Process:&lt;/strong&gt; The finalized "Bolts" are moved into the production environment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Artefacts (Outputs):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deployment Units active in the Production Environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Five Critical Artefacts of AI-DLC
&lt;/h2&gt;

&lt;p&gt;Imagine you’re building a modern event management platform—one that allows organisers to create events, sell tickets, manage capacity in real time, and control entry seamlessly on event day. This is how AI-DLC’s five core artefacts come together in practice.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intent: The North Star
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it is&lt;/strong&gt;&lt;br&gt;
Intent captures the why—the business goal or outcome that anchors everything that follows. It is the single source of truth that AI uses to guide decomposition, prioritisation, and decision-making.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Intent&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Build a scalable event management application that enables organisers to create and manage events, sell tickets securely, control venue capacity, and handle fast, fraud-free entry on event day.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This Intent becomes the guiding compass for AI throughout the lifecycle, ensuring every feature, design choice, and deployment decision traces back to this core objective.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unit: The Self-Contained Value Block
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it is&lt;/strong&gt;&lt;br&gt;
A Unit is a cohesive, independently valuable slice of functionality. AI decomposes the Intent into Units that deliver measurable outcomes and can be built, tested, and deployed in isolation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Units&lt;/strong&gt;&lt;br&gt;
From the event management Intent, AI may derive Units such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Event Creation &amp;amp; Configuration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ticket Sales &amp;amp; Payments&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Capacity &amp;amp; Availability Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Event Day Entry &amp;amp; Check-In&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reporting &amp;amp; Analytics&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each Unit is loosely coupled, allowing teams to move fast without waiting on other components—perfect for parallel development and incremental releases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bolt: The High-Velocity Execution Cycle
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it is&lt;/strong&gt;&lt;br&gt;
Bolts represent the smallest execution loop in AI-DLC. They focus on rapid, tangible progress—measured in hours or days rather than traditional multi-week sprints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Bolts&lt;/strong&gt; (for the “Event Day Entry &amp;amp; Check-In” Unit)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Day 1: Implement QR code–based ticket validation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Day 2: Add offline check-in support for poor connectivity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Day 3: Introduce real-time entry count and capacity alerts&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI plans these Bolts to maximise delivery speed while keeping scope sharply focused, with humans validating quality and user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Domain Design: The Business Logic Blueprint
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it is&lt;/strong&gt;&lt;br&gt;
Domain Design captures the heart of your business logic using domain-driven design principles—independent of infrastructure or deployment concerns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Domain Model&lt;/strong&gt; (Event Management)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Entities: Event, Ticket, Attendee, Venue&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Value Objects: TicketType, CapacityLimit, EntryStatus&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Aggregates: EventSession (enforcing capacity rules)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Domain Events: TicketPurchased, CapacityReached, AttendeeCheckedIn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Repositories: EventRepository, TicketRepository&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI then extends this into Logical Design, recommending architectural patterns (for example, event-driven processing for entry scans) and documenting decisions in Architecture Decision Records (ADRs) for human review and approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deployment Units: Ready-to-Ship Deliverables
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it is&lt;/strong&gt;&lt;br&gt;
Deployment Units are fully operational, production-ready packages—combining application code, configuration, infrastructure definitions, and automated tests.&lt;/p&gt;

&lt;p&gt;For the event platform, this could include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ticketing and payment services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Entry scanning APIs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time capacity monitoring components&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CI/CD pipelines and infrastructure templates&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each Deployment Unit is validated for scalability, reliability, and security—ensuring the system performs flawlessly even during peak event-day traffic.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;Edwin and I caught up again on a warm midsummer evening, beers in hand, somewhere in town. By then, his project was already past the halfway mark. What stood out wasn’t just the progress, but how smoothly it was moving. No long pauses, no painful rework—just steady momentum. Choosing AI-DLC over the usual Waterfall or even Agile approach paid off. Features were landing fast, working software was in users’ hands, and milestone after milestone quietly ticked itself off.&lt;/p&gt;

&lt;p&gt;If I were starting a new software product today, I wouldn’t think twice—I’d use AI-DLC. Not because it’s trendy, but because it matches where the industry is clearly heading. Humans still set the vision, apply judgment, and take ownership of outcomes. AI simply accelerates the journey from idea to reality. To me, AI-DLC feels like the natural evolution of SDLC—one that leans into the future instead of trying to hold it back.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Enterprise Bedrock Agent for Retail Customer Success</title>
      <dc:creator>Lilupa Karu</dc:creator>
      <pubDate>Fri, 18 Jul 2025 06:01:58 +0000</pubDate>
      <link>https://dev.to/lilupa/enterprise-bedrock-agent-for-retail-customer-success-p56</link>
      <guid>https://dev.to/lilupa/enterprise-bedrock-agent-for-retail-customer-success-p56</guid>
      <description>&lt;p&gt;Amazon Bedrock has quickly become one of the most talked-about platforms in the software world—a buzzword echoing across boardrooms, tech meetups, and cloud architecture discussions alike. Given its growing popularity, there’s little need to cover the basics here. Instead, let me take you into a real-world conversation that brought this technology into a sharp, business-focused context.&lt;/p&gt;

&lt;p&gt;Just a few months ago, I caught up with a friend of mine—a successful retail business owner—who casually brought up his curiosity about integrating generative AI into his operations.&lt;/p&gt;

&lt;p&gt;“What an incredible time to embrace it,” I responded, sensing the potential spark.&lt;/p&gt;

&lt;p&gt;He leaned in and shared his vision:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I want a smart solution, something like a conversational agent that can understand a customer’s buying needs, streamline the sales process, and—most importantly—if the exact product isn’t available, it should intelligently recommend alternatives based on intent, price, and market trends.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s when it hit me: this wasn’t just a chatbot—this called for an agentic AI system. A solution powered by GenAI that could reason, adapt, and take action with business context in mind.&lt;/p&gt;

&lt;p&gt;We ended up spending the afternoon diving deep into possibilities over two strong black coffees. By the time the mugs were empty, we had mapped out a high-level solution tailored to his business needs—bridging customer intent, product intelligence, and market awareness in one streamlined flow.&lt;/p&gt;

&lt;p&gt;Later that evening, I realized the conversation was worth documenting—not just from a solution standpoint, but through the lens of business value and architectural thinking. This article is the result—a walk through that thought process, focusing on how agentic GenAI systems with AWS Bedrock can unlock real, transformative outcomes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Business Problem
&lt;/h2&gt;

&lt;p&gt;A premium bags and shoes retailer, operating across both physical stores and online channels, faces a recurring challenge: the inability to meet customer expectations when a specific product is unavailable. Whether it's an item that's out of stock or a product that doesn't quite match the customer's style or preferences, the result is the same—missed sales opportunities and (and I guess) disappointed shoppers.&lt;/p&gt;

&lt;p&gt;This issue arises frequently at the store level and in the digital storefront. Customers often walk away or abandon their carts simply because no suitable alternatives are presented in real time. The lack of intelligent, personalized recommendations at the moment of decision-making is leading to lost revenue and a decline in customer satisfaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Agentic AI Solve This Problem
&lt;/h2&gt;

&lt;p&gt;Enter Generative AI and Agentic AI—transformative technologies that can revolutionize how retailers respond to product availability challenges.&lt;/p&gt;

&lt;p&gt;By leveraging Amazon Bedrock, businesses can deploy GenAI-powered agents capable of deeply understanding customer intent, context, and preferences in real time. When a specific product is unavailable, the agent doesn’t simply show generic alternatives—it intelligently curates suggestions that align with the customer’s style, color preferences, price range, and even previous purchase history.&lt;/p&gt;

&lt;p&gt;These agents go beyond basic chatbot interactions. They think and act like digital sales associates, capable of reasoning across a product catalog, identifying patterns, and making personalized recommendations that feel human and thoughtful. They can explain why an alternative product is a good match, handle follow-up questions naturally, and even suggest complementary items—just like an expert salesperson would.&lt;/p&gt;

&lt;p&gt;For example, if a customer is searching for a specific designer handbag that’s out of stock, the agent can dynamically recommend visually similar models, limited-edition pieces, or items trending with similar customer profiles—all within the same conversation.&lt;/p&gt;

&lt;p&gt;This approach not only salvages potentially lost sales but also elevates the customer experience, making shoppers feel understood and supported. The result: increased conversion rates, stronger brand loyalty, and a modern retail experience that meets the expectations of today’s digitally-savvy consumers.&lt;/p&gt;

&lt;h2&gt;
  
  
  High-level Flow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cm5hlv0a8y8j0xqwz5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cm5hlv0a8y8j0xqwz5i.png" alt=" " width="800" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To bring the GenAI-powered agent to life, during the thought process of the architecture I decided to utilise a combination of AWS Bedrock, Amazon OpenSearch, AWS API Gateway, Lambda and a few other  key AWS services to enable a scalable, secure, and intelligent experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnk0f4gfy093fvmxm9le2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnk0f4gfy093fvmxm9le2.png" alt=" " width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Components
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Customer Interaction Layer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k4oqo960xpag979ejgi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k4oqo960xpag979ejgi.png" alt=" " width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Customer Chat Interface
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: This is the front-end application (web, mobile, smart kiosk) where customers send their queries. I have not focused in detail on these front-end applications in this context, as our primary focus must center on the Agentic AI solution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Provides the user experience for interaction with the AI agent.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon API Gateway
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Acts as the single entry point for all customer queries. It handles request routing, authorization, rate limiting, and acts as a proxy to the back-end Lambda functions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security: Integrates with Amazon Cognito for user authentication and authorization.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Query Handler Lambda Function
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A serverless compute service that executes code in response to events.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Receives the raw customer query from API Gateway. It can perform initial validation or pre-processing of the query before passing it to the next stage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scalability: Automatically scales with the number of incoming requests.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Core AI &amp;amp; Data Processing Layer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzs0ghtomc115dsc9aag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzs0ghtomc115dsc9aag.png" alt=" " width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Query Ingestion SQS Queue
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A fully managed message queuing service that enables us to decouple and scale microservices, distributed systems, and serverless applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Provides asynchronous processing of customer queries. This prevents the API Gateway from timing out for longer processing queries and decouples the ingestion from the processing, improving resilience.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Product Availability Check Lambda Function
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Role: Consumes messages from the SQS queue. It queries the &lt;code&gt;DynamoDB: Product Catalog/Inventory&lt;/code&gt; to check if the requested product is available. If unavailable, it extracts relevant keywords or product identifiers to initiate the search for alternatives.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Product Catalog/Inventory DynamoDB
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A fast and flexible NoSQL database service for single-digit millisecond performance at any scale.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Stores the real-time product catalog and inventory information. This allows for quick lookup of product availability.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  OpenSearch Query Handler Lambda
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Role: If a product is unavailable, this function constructs a query for Amazon OpenSearch Service. It uses the extracted keywords and potentially context from the initial query to perform both semantic and vector searches.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon OpenSearch Service
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A managed service that makes it easy to deploy, operate, and scale OpenSearch clusters. It supports both keyword-based search (semantic) and vector search (for similarity).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Stores vectorized product descriptions, attributes, and potentially customer reviews. It's crucial for identifying relevant product alternatives based on semantic similarity to the unavailable product or the customer's desired attributes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scalability: Easily scales to handle large product catalogs and high query volumes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security: Deployed within a VPC for network isolation, and access controlled via IAM policies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon Bedrock Knowledge Base
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A fully managed capability in Amazon Bedrock that enables you to connect foundation models (FMs) to your company data sources for Retrieval Augmented Generation (RAG).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: This acts as the external knowledge source for the Bedrock Agent. The prepared contextual product data is ingested here. When the Bedrock Agent receives a request, it can query this Knowledge Base to retrieve relevant product information to augment its response. This is crucial for grounding the GenAI model's responses in factual, up-to-date product data, reducing hallucinations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon Bedrock Agent
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A new capability within Amazon Bedrock that allows you to create generative AI applications that can automate multi-step tasks by seamlessly connecting with company systems, APIs, and data sources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Role: This is the core orchestrator of the GenAI solution.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It receives the user query (potentially enhanced by initial processing).&lt;/li&gt;
&lt;li&gt;It understands the intent ("product unavailability, find alternatives").&lt;/li&gt;
&lt;li&gt;It orchestrates calls to the Bedrock Knowledge Base (via RAG) to get relevant product alternatives.&lt;/li&gt;
&lt;li&gt;It uses a Foundation Model (FM) (e.g., Anthropic Claude, Amazon Titan) to craft a natural, personalised, and persuasive response incorporating the retrieved product recommendations.&lt;/li&gt;
&lt;li&gt;Memory Retention: Bedrock Agents can maintain conversational context across interactions, leading to more human-like and continuous dialogues.&lt;/li&gt;
&lt;li&gt;Code Interpretation: Can be used for complex analytical queries or dynamic content generation if needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Response Formatter Lambda Function
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Role: Receives the generated response from the Bedrock Agent. It can perform post-processing such as formatting the response for the chat interface, adding specific links, or integrating with other downstream systems. It then sends the final response back to the customer via API Gateway.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Data Storage &amp;amp; Pre-processing
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7otp190dq3pvrgfg9uyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7otp190dq3pvrgfg9uyg.png" alt=" " width="800" height="181"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Data Source Bucket
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Object storage built to retrieve any amount of data from anywhere.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Serves as a data lake for storing raw product data, images, descriptions, and other unstructured or semi-structured information that will be used to generate embeddings for OpenSearch. It can also store chat logs for analytics.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security, Monitoring &amp;amp; Management
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec08mal7znlulnozgfew.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec08mal7znlulnozgfew.png" alt=" " width="799" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Amazon Cognito
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A service that provides authentication, authorization, and user management for web and mobile apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Manages user identities and provides secure authentication for the chat interface, integrating with API Gateway for authorization.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  AWS IAM
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Enables us to securely control access to AWS services and resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Defines granular permissions for all AWS services and resources. Each Lambda function, Bedrock Agent, and other services will operate under IAM roles with the principle of least privilege, ensuring they only have access to the resources they need.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  AWS KMS
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Makes it easy for us to create and manage cryptographic keys and control their use across a wide range of AWS services and in the applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Used for encryption at rest for sensitive data stored in DynamoDB, S3, and OpenSearch Service, ensuring data confidentiality.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon VPC
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Enables us to launch AWS resources into a virtual network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Provides network isolation for services like OpenSearch Service and potentially Lambda functions connecting to internal resources, enhancing security.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon CloudWatch
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A monitoring and observability service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Role: Collects logs, metrics, and events from all AWS services in the architecture (Lambda, API Gateway, Bedrock, OpenSearch, DynamoDB). This is critical for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Traceability: End-to-end logging of requests and responses helps trace the flow of information and debug issues.&lt;/li&gt;
&lt;li&gt;Monitoring: Real-time metrics for performance, errors, and usage.&lt;/li&gt;
&lt;li&gt;Alerting: Setting up alarms for anomalies (e.g. increased error rates, high latency) via Amazon SNS.&lt;/li&gt;
&lt;li&gt;CloudWatch Logs Insights: For interactive analysis of log data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon Bedrock Guardrails
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A feature within Amazon Bedrock that allows us to implement safety policies and filters for generative AI applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Ensures that the GenAI model's responses are safe, on-topic, and do not contain harmful, offensive, or off-brand content. It's crucial for maintaining brand reputation and compliance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  DevOps &amp;amp; MLOps
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4sqq3x2mbsbzbvzapbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4sqq3x2mbsbzbvzapbi.png" alt=" " width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  GitHub and GitHub Actions
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Services for Continuous Integration and Continuous Delivery (CI/CD).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Automate the build, test, and deployment of the Lambda functions, Bedrock Agent configurations, and other infrastructure changes. This ensures rapid, consistent, and reliable deployments.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon SNS
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: A fully managed messaging service for application-to-application (A2A) and application-to-person (A2P) communication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Sends alerts based on CloudWatch alarms, notifying relevant teams of operational issues or security incidents.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Amazon CloudWatch Dashboards/Logs Insights
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Description: Visualisation and query tools within CloudWatch.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role: Provides centralised dashboards for monitoring the health and performance of the entire solution, and allows for deep dives into logs for troubleshooting and analysis.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Enterprise Grade Considerations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Scalability: All chosen AWS services (Lambda, API Gateway, SQS, DynamoDB, OpenSearch, Bedrock) are inherently scalable and managed by AWS, eliminating the need for manual server provisioning or scaling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Security&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication &amp;amp; Authorization: Amazon Cognito and IAM roles with least privilege.&lt;/li&gt;
&lt;li&gt;Data Encryption: AWS KMS for encryption at rest and SSL/TLS for encryption in transit.&lt;/li&gt;
&lt;li&gt;Network Isolation: VPC for internal services like OpenSearch.&lt;/li&gt;
&lt;li&gt;Content Moderation: Amazon Bedrock Guardrails to prevent harmful or off-brand content.&lt;/li&gt;
&lt;li&gt;PII Handling: Implementation of PII redaction or masking if sensitive customer data is processed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Traceability: Comprehensive logging with CloudWatch Logs and metrics, allowing for detailed auditing and debugging. Chat history persistence in DynamoDB also aids in traceability and understanding user interactions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reliability &amp;amp; High Availability: Services are designed for high availability by default (e.g. multi-AZ deployments for DynamoDB, OpenSearch, and Bedrock). SQS provides decoupling for resilience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cost Optimisation: Pay-as-you-go model for most services, and serverless compute (Lambda) means you only pay when code runs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Observability: Integrated monitoring through CloudWatch and its various features.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are countless enhancements that can be made to this solution, unlocking endless business possibilities. On a recent call, my friend mentioned that his development team had just delivered the first version of what they called an "intelligent agent" for their e-commerce website. I was thrilled to hear that and immediately said, "Mate, don’t just call it an intelligent agent—give it a name! I truly believe these AI applications will soon become part of human society, and just like us, they deserve names!"&lt;/p&gt;

</description>
      <category>ai</category>
      <category>bedrock</category>
      <category>aws</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Effortless API Scaling: Unlock the Power of AWS AppSync</title>
      <dc:creator>Lilupa Karu</dc:creator>
      <pubDate>Thu, 26 Dec 2024 10:25:21 +0000</pubDate>
      <link>https://dev.to/lilupa/effortless-api-scaling-unlock-the-power-of-aws-appsync-3mhl</link>
      <guid>https://dev.to/lilupa/effortless-api-scaling-unlock-the-power-of-aws-appsync-3mhl</guid>
      <description>&lt;h2&gt;
  
  
  AWS AppSync Journey
&lt;/h2&gt;

&lt;p&gt;During the challenging times of the COVID-19 pandemic in 2020, I embarked on architecting my first AWS AppSync enterprise solution with GraphQL APIs. The project involved integrating several data sources, including a legacy system. After completing the architecture design and undergoing a thorough peer review, our engineering teams began building the solution, with AWS AppSync as the core component. The project was a success, delivering a robust solution that brought smiles to everyone involved. At the time, I had the intention of writing an article about the experience, but, much like the pandemic itself, that plan faded into the background.&lt;/p&gt;

&lt;p&gt;Fast forward to a few months ago, I had a coffee catch up with Brett, an ex-colleague who had been part of that AppSync project. As we reminisced about the incredible time we spent on the project, I was inspired to revisit AWS AppSync and finally write this article. Reflecting on the challenges we overcame and the happy outcomes we achieved, I owe it to Brett's recollection of those moments to share this journey.&lt;/p&gt;

&lt;p&gt;Since AWS AppSync is a serverless implementation of GraphQL, a brief overview of GraphQL is necessary before proceeding.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GraphQL
&lt;/h2&gt;

&lt;p&gt;The fundamental concept of a GraphQL API is that all API functionality is accessed through a unified query language (GQL) via a single endpoint. Instead of making multiple requests to different endpoints to retrieve various data needed for building a software application, a single request can be issued to a GraphQL API, returning all the necessary data at once. This approach reduces the complexity of modern applications and enhances user experience by enabling faster load times.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuyj961cdgho4lhw6066.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuyj961cdgho4lhw6066.png" alt=" " width="771" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The system providing data to a GraphQL API is rarely just a single application. In my experience, I’ve worked with nearly a dozen applications where GraphQL played a key role, but only one of those had a single data source. Typically, the backend consists of multiple microservices or data sources, with the GraphQL API layer responsible for aggregating data from various applications and delivering a unified response to the API requester. This GraphQL layer must efficiently parse the incoming requests, identify the appropriate data sources for each part, and seamlessly combine the results to generate the final response.&lt;/p&gt;

&lt;h3&gt;
  
  
  Components in GraphQL
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GraphQL Types&lt;/strong&gt;&lt;br&gt;
GraphQL Types define the structure of entities by specifying their fields and attributes. Below is a list of the various types available.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scalar Type&lt;/li&gt;
&lt;li&gt;Object Type
[In the &lt;code&gt;Object&lt;/code&gt; type, there are three special root operation types: &lt;code&gt;Query&lt;/code&gt;, &lt;code&gt;Mutation&lt;/code&gt;, and &lt;code&gt;Subscription&lt;/code&gt;]&lt;/li&gt;
&lt;li&gt;Input Types&lt;/li&gt;
&lt;li&gt;Enumeration Type&lt;/li&gt;
&lt;li&gt;Union and Interface Type&lt;/li&gt;
&lt;li&gt;Lists and Non-Null&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Schema&lt;/strong&gt;&lt;br&gt;
The schema is treated as a contract between the server and the client. It consists of a collection of types and fields, along with a defined set of operations available for interacting with the data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type Project {
    id: ID!
    name: String!
    client: String!
    tasks: [Task!]
  }

type Task {
    title: String!
    description: String
    duration: Int
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Query&lt;/strong&gt;&lt;br&gt;
Queries serve as entry points on a GraphQL server, providing read access to data sources.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  query {
    project (id: 1) {
      name
      client
    }
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mutations&lt;/strong&gt;&lt;br&gt;
GraphQL Mutations function as entry points on a GraphQL server, allowing write access to data sources. Whenever data needs to be modified—whether creating, updating, or deleting—it is done through GraphQL mutations.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type Mutation {
  addProject(name: String, client: String): Project
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resolvers&lt;/strong&gt;&lt;br&gt;
Resolvers are built-in functions in GraphQL that connect types or fields defined in the schema to the corresponding data in the data sources.&lt;/p&gt;

&lt;h2&gt;
  
  
  AppSync Deep Dive
&lt;/h2&gt;

&lt;p&gt;With a basic understanding of GraphQL, attention can now be turned to AWS’s serverless offering of GraphQL. AWS AppSync, a fully managed serverless service, facilitates real-time data queries, synchronisation, and communication. Through AppSync, AWS provides a GraphQL-as-a-Service solution, enabling the seamless creation of scalable and resilient GraphQL APIs in the cloud. Request parsing and resolution, as well as integration with other AWS services such as AWS Lambda, NoSQL and SQL data stores, and HTTP APIs, are all handled to retrieve backend data for the API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview and Architecture
&lt;/h2&gt;

&lt;p&gt;Developers are granted access to their data via this managed GraphQL service, which offers several advantages over traditional gateways. GraphQL promotes declarative coding and integrates effectively with modern tools and frameworks such as React, React Native, iOS, and Android. Subscriptions can be utilised to implement live updates, push notifications, and other features.&lt;/p&gt;

&lt;p&gt;When GraphQL subscription operations are invoked, AWS AppSync automatically establishes and maintains a secure WebSocket connection. Data can then be distributed in real-time to subscribers from a data source, while connection and scaling requirements are managed.&lt;/p&gt;

&lt;p&gt;With AWS AppSync, serverless GraphQL and Pub/Sub APIs allow secure querying, modification, or publication of data using a single endpoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  GraphQL APIs
&lt;/h3&gt;

&lt;p&gt;AWS AppSync-built GraphQL APIs empower frontend developers to seamlessly query multiple databases, microservices, and APIs through a single GraphQL endpoint. This simplifies data interaction and accelerates application development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ezuk9mt681culpa5m5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ezuk9mt681culpa5m5a.png" alt=" " width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pub/ Sub APIs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0uzwc3a8g7hzrbwaaql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0uzwc3a8g7hzrbwaaql.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AppSync Use Cases
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gateway for microservices&lt;/strong&gt;&lt;br&gt;
AppSync serves as a powerful gateway for microservices, allowing you to access and aggregate data from various sources with ease.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real Time Collaboration&lt;/strong&gt;&lt;br&gt;
AppSync enables scalable, real-time collaboration by broadcasting data from the backend to all connected clients (one-to-many) or facilitating communication between clients (many-to-many). This is ideal for chat applications, shared documents, or live dashboards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Polyglot data access&lt;/strong&gt;&lt;br&gt;
With AppSync, you can interact with diverse data sources—including SQL databases in Amazon Aurora Serverless, NoSQL tables in Amazon DynamoDB, search indexes in Amazon OpenSearch Service, REST endpoints via Amazon API Gateway, and serverless backends using AWS Lambda—using a single GraphQL call.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline Delta Sync&lt;/strong&gt;&lt;br&gt;
AppSync integrates with Amplify DataStore, an on-device persistent storage engine, to enable offline-first capabilities. Data is automatically synchronised between mobile/web apps and the cloud using GraphQL, ensuring a seamless experience even in limited connectivity scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s Build Something Together
&lt;/h2&gt;

&lt;p&gt;Why just read when you can build? Let’s dive into a practical example to explore how AWS AppSync works in action.&lt;/p&gt;

&lt;p&gt;For this demo, we’ll build a simple coffee ordering app—a favorite theme of mine because, let’s face it, life without coffee isn’t life at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building the Coffee Order App
&lt;/h3&gt;

&lt;p&gt;Here’s what the app does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GraphQL Schema for Orders
Customers can place coffee orders by providing their name, mobile number, and preferred coffee type. Orders are submitted through the &lt;code&gt;createOrder&lt;/code&gt; mutation and stored in a DynamoDB table via a Lambda function.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fh2vutbwxrcs66gmffw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fh2vutbwxrcs66gmffw.png" alt=" " width="799" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ghwro8qqch6js727aa9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ghwro8qqch6js727aa9.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Querying Orders&lt;br&gt;
Coffee shop owners can retrieve new orders from the database using the &lt;code&gt;listOrders&lt;/code&gt; GraphQL query. This query also utilises the same Lambda function for data retrieval.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infrastructure and Frontend&lt;br&gt;
The backend is built entirely with AWS CDK, ensuring it adheres to Infrastructure as Code (IaC) best practices. On the frontend, I’ve created a simple React application that fetches new coffee orders via AppSync’s GraphQL API.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rhiwlwkjb07ibycgcw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rhiwlwkjb07ibycgcw4.png" alt=" " width="799" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete application is available on GitHub for you to explore and adapt.&lt;/p&gt;

&lt;p&gt;AWS CDK-based AppSync APIs: &lt;a href="https://github.com/karu-lk/vitinya-cdk" rel="noopener noreferrer"&gt;Vitinya CDK&lt;/a&gt;&lt;br&gt;
React Front-end web app: &lt;a href="https://github.com/karu-lk/vitinya-web" rel="noopener noreferrer"&gt;Vitinya Web&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As for the app’s name, Vitinya, it’s inspired by the Vitinya Pass in Bulgaria’s Balkan Mountains—a place I’ve yet to visit but remains high on my bucket list. By naming the app after this scenic destination, I’ve given myself a constant reminder to plan my Eastern European holiday soon!&lt;/p&gt;

&lt;h2&gt;
  
  
  Until Next Time
&lt;/h2&gt;

&lt;p&gt;That’s all for now. Stay tuned for more articles and hands-on examples in the beautiful AWS ecosystem. Until then, happy AWSing!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>appsync</category>
      <category>graphql</category>
      <category>serverless</category>
    </item>
    <item>
      <title>Event-Driven Magic: Exploring AWS EventBridge</title>
      <dc:creator>Lilupa Karu</dc:creator>
      <pubDate>Sat, 20 Jul 2024 11:36:46 +0000</pubDate>
      <link>https://dev.to/aws-builders/event-driven-magic-exploring-aws-eventbridge-1hoa</link>
      <guid>https://dev.to/aws-builders/event-driven-magic-exploring-aws-eventbridge-1hoa</guid>
      <description>&lt;p&gt;I kept thinking about what Werner Vogels said in his speech at AWS re:Invent in December 2022,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;the world is event-driven&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even though I’ve involved on a few event-driven architectures before, his words made me reconsider how we use event-driven architectures.&lt;/p&gt;

&lt;p&gt;The result? I’ve developed some impressive reference architectures utilising modern cloud-based tools and services. Let’s begin by reviewing the fundamentals.&lt;/p&gt;

&lt;p&gt;Event-driven architecture is all about events. Simply put, an event is a change in state. Picture it like this: swiping a credit card at a payment machine is an event. Our world is full of these actions and events, and they play a big role in how everything functions. Think of events as signals that indicate when something changes in a system, like saving information to a database, uploading a file into storage, or a sensor being triggered on an IoT device.&lt;/p&gt;

&lt;p&gt;A key point to remember about events is their immutability; once they occur, they cannot be altered. This concept mirrors everyday life — once a moment passes, it is unchangeable. For instance, I wished for the All Blacks to win RWC 2023. Regardless of how much I wanted it, there was no way to go back and change the outcome once the event had taken place and was recorded in history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Event Driven Architecture Components
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6r58upvng59bjqpbzhuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6r58upvng59bjqpbzhuo.png" alt="Event Driven Architecture Components" width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event Producer:&lt;/strong&gt; These entities generate events based on specific actions or triggers within the system and are solely aware of the event router, not the event consumers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event Broker:&lt;/strong&gt; The event broker is responsible for receiving and filtering events, ensuring that each event is directed to the correct consumer. It serves as a mediator, enabling the smooth transmission of events throughout the architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event Consumer:&lt;/strong&gt; Event consumers either subscribe to particular events or monitor event streams, reacting to events based on their individual needs or initiating further actions within the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Event-Driven Architecture Patterns
&lt;/h2&gt;

&lt;p&gt;There’s much discussion surrounding event-driven architecture patterns across various categories. Below are some of the most popular patterns:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication Patterns:&lt;/strong&gt; publish/subscribe, point-to-point, event streaming, request/reply&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consumption Patterns:&lt;/strong&gt; guaranteed delivery, hierarchical topics, event filtering, backpressure, and push&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event Generation Patterns:&lt;/strong&gt; ECST, event sourcing, CQRS, CDC&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Governance Patterns:&lt;/strong&gt; event catalog, event APIs, intermediated, disintermediated, access control, and authorization&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s talk about EventBridge
&lt;/h2&gt;

&lt;p&gt;Let's keep our attention on the main topic. We should delve into what EventBridge is and explore the reasons behind its growing popularity.&lt;/p&gt;

&lt;p&gt;EventBridge, introduced in July 2019, is a serverless service that leverages events to seamlessly connect components of software applications. This facilitates the creation of modern, scalable, and loosely coupled event-driven applications.&lt;/p&gt;

&lt;p&gt;Its robust positioning within this architectural domain stems from its seamless integration capabilities with numerous other AWS services, including Step Functions, SQS, SNS, and Lambda functions, all of which inherently complement event-driven architectures.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pnm1q0w3w8c83i98jrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pnm1q0w3w8c83i98jrt.png" alt="How EventBridge works with its components" width="799" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the middle of the illustration, we have AWS EventBridge, a serverless event bus. EventBridge is designed with a pub-sub architecture pattern in mind, allowing external sources to ingest events as ‘publishers.’ These sources can range from bespoke applications and various SaaS applications to a wide array of AWS services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;p&gt;An event is a real-time change in a system, data, or environment. This change can occur in your application, an AWS service, or a SaaS partner service. While events can have similar structures, they must all include the top-level fields: detail, source, and detail-type. Custom events must, at a minimum, contain these fields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Custom Event Sample
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "version": "0",
    "id": "665f15b9-bbbb-ffff-0000-ee92777062fb",
    "detail-type": "product.update",
    "source": "your source app",
    "account": "123456789012",
    "time": "2024-07-16T05:24:42Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "action": "product update"
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Rules
&lt;/h2&gt;

&lt;p&gt;Once the events are ingested into EventBridge, rules redirect the events to appropriate targets based on their content. EventBridge has a soft limit of 300 rules, which can be increased via a support ticket. These rules can be connected to multiple targets, such as AWS services like Lambda functions, Step Functions, or SQS queues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Event Schema
&lt;/h2&gt;

&lt;p&gt;EventBridge is capable of handling event schemas, which represent the structure of events. A schema typically includes details such as the title and type of each data element. For example, on an online survey website, a schema might include fields for the survey name, description, reviewer’s name, user ID, and reviewer’s comments and ratings. These attributes are defined with specific types, such as the name being a string and the user ID being a GUID, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Schema Registry
&lt;/h2&gt;

&lt;p&gt;A schema registry serves as a centralised repository for managing a collection of schemas. It allows you to search, locate, and track various schemas utilised and generated by your applications, ensuring consistency and compatibility across your data infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Schema Discovery
&lt;/h2&gt;

&lt;p&gt;Schema discovery automates the identification and registration of schemas, streamlining their integration into your registry. When enabled for an EventBridge event bus, schema discovery automatically records the schema of each event sent to the bus in the registry. If an event’s schema changes, schema discovery promptly creates a new version in the registry. After a schema is registered, you can generate a code binding for it, facilitating seamless interaction with the schema.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pipes
&lt;/h2&gt;

&lt;p&gt;EventBridge buses facilitate the routing and distribution of events to services using the publish/subscribe pattern, while EventBridge Pipes manage direct integrations between services through the point-to-point pattern. Both patterns are essential for constructing event-driven architectures. EventBridge Pipes allow for direct integrations without needing specialised knowledge. These pipes consist of a Source and a Target, and an enrichment step can be employed to enhance the payload data before it is sent to the target.&lt;/p&gt;

&lt;h2&gt;
  
  
  EventBridge Use Cases
&lt;/h2&gt;

&lt;p&gt;There are numerous use cases for event-driven architecture where we can effectively apply AWS EventBridge. Let’s explore some of these use cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  SaaS Product Integration
&lt;/h3&gt;

&lt;p&gt;Imagine your organisation has a CRM system that is a SaaS partner with AWS EventBridge. The architecture below can be used to integrate this CRM with other business activities. The CRM system can send events to the EventBridge whenever there are changes in the system, data, or environment. Based on the rules defined in the EventBridge, messages are distributed to the appropriate tasks. For example, when a new customer registers in the CRM, the customer banking integration Step Function subscribes to the event and performs the relevant tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltvlgwyonhmk7l9445gj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltvlgwyonhmk7l9445gj.png" alt="SaaS Product Integration using EventBridge" width="791" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bespoke System Integration
&lt;/h3&gt;

&lt;p&gt;When developing a bespoke software application that requires integration with external entities in an event-driven manner, the following architecture would be ideal.&lt;/p&gt;

&lt;p&gt;Consider a scenario where a customer requests custom-made furniture. The request is received by the company’s sales system, which then communicates the specifications to the factory. Throughout the various phases, the customer needs to be kept informed, and once the furniture is ready, the designated courier company must be notified for pickup and delivery. This integration can be handled more reliably and efficiently using an event-driven architecture with AWS EventBridge, rather than a polling architecture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffo26w8ri6mck1ys6oqmz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffo26w8ri6mck1ys6oqmz.png" alt="Bespoke System Integration with EventBridge" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After diving into a multitude of theories, it’s great to get some hands-on experience. Part two of this article, featuring a near real-world EventBridge integration, will be released soon. Stay tuned!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eventbridge</category>
      <category>eventdriven</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
