DEV Community

Nao San for AWS Community Builders

Posted on • Edited on

[AWS] Efficiency in everything! Community Builder shares the appeal of AWS Developer Tools [DevTools]

This article is a machine translation of the contents of the following URL, which I wrote in Japanese:
https://qiita.com/Nana_777/items/cec4d2163e12f826fecd

Introduction

Since being selected as an AWS Community Builder in 2025, I have been continuing to output my work, hoping to let more people know about the appeal of DevTools.
In this article, I will introduce the representative DevTools used in each process of system construction.

I gave a talk at the Community Stage of AWS Summit Japan 2025

I gave a talk on the first day of the Community Stage of AWS Summit Japan 2025 on the same content as this blog post.
I will also post a link to the materials from that time.
I would like to express my gratitude to AWS for giving me this valuable opportunity.

https://speakerdeck.com/naonana777/nandemoxiao-lu-hua-community-buildergachuan-eru-aws-developer-toolsnomei-li

↓ AWS Summit Japan 2025 AWS User Community - I spoke at the Community Stage
image.png

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Summit-Japan-2025-EXPO-Guide.pdf

What are DevTools?

AWS Product Description Page

The AWS product description page describes them as follows:

  • They enable faster and more efficient development tasks, such as building, testing, and deploying.
  • They are used to improve security, speed, code quality, etc.

↓ AWS Product Description Page

https://aws.amazon.com/jp/what-is/developer-tools/

Types of DevTools Services

The list of AWS services classified as DevTools varies slightly depending on the source, but the AWS whitepaper lists the following services as DevTools:

  • AWS Infrastructure Composer
  • AWS Cloud9
  • AWS CloudShell
  • AWS CodeArtifact
  • AWS CodeBuild
  • Amazon CodeCatalyst
  • AWS CodeCommit
  • AWS CodeDeploy
  • AWS CodePipeline
  • Amazon Corretto
  • AWS Fault Injection Service
  • Amazon Q Developer
  • AWS X-Ray

↓ AWS Whitepaper

https://aws.amazon.com/jp/what-is/developer-tools/

Software Development Life Cycle (SDLC)

The software development life cycle (SDLC) describes the flow of system development. It divides the software development process into steps such as planning, design, implementation, testing, deployment, and operation.
Various AWS DevTools can be used at each step of the SDLC.
While it's not necessary to use all tools,
using the right tools at the right time can improve work efficiency.

↓ SDLC Phases and DevTools
image.png

DevTools for the Implementation Phase

Implementation on AWS involves, for example, writing Lambda function code and changing resource settings in the AWS Management Console.
Using DevTools for these implementation tasks can improve efficiency.

IaC Tools

Change History Management by Codifying Infrastructure Configuration

IaC tools allow you to manage infrastructure configuration as code.
Since it's managed as code, using it in conjunction with a change history management tool such as Git allows you to track changes, including when, who, and how they were made.
Additionally, because multiple AWS resources can be defined in a single template, you can easily view the configuration and definitions of each resource by simply viewing the IaC code, eliminating the need to open the console screen for each AWS service.

Codifying infrastructure configuration reduces manual workload

Infrastructure configuration defined in IaC code can be applied to your AWS account in one go.
When defining the same configuration for multiple AWS environments, manually defining resources in the AWS console requires repeated tasks for each resource. Repeating the same tasks can lead to operational errors.
By defining AWS configuration using IaC code, the necessary definitions are already included in the IaC code, and you simply apply them all at once, reducing the likelihood of operational errors.

AWS CloudFormation

AWS IaC Tool Basics

AWS CloudFormation is the first AWS IaC tool many people learn.
You create a file called a CloudFormation template in YAML or JSON format and apply it to your AWS account.
Using AWS CloudFormation, you can define resource configurations in detail. Unlike the AWS CDK, AWS Infrastructure Composer lacks abstraction, resulting in redundant definitions. However, this lack of abstraction allows for resource definitions tailored to your needs. It also offers a wide range of related tools, including CloudFormationGuard and Rain.

AWS Infrastructure Composer

Addressing the Decline in CloudFormation Template Readability

CloudFormation templates allow for detailed definitions, but they also require a large amount of code. This reduces readability and makes it difficult to intuitively understand the configuration defined in the template.
AWS Infrastructure Composer allows you to visually understand the contents of CloudFormation templates using diagrams showing resource connections.

Intuitively Define SAM Templates with a GUI

AWS Infrastructure Composer allows you to define infrastructure configurations using a GUI.
By placing cards with AWS service definitions on the GUI canvas, linking cards, and configuring card details, the content is converted into IaC code.

Specific Use Cases of AWS Infrastructure Composer

For specific use cases of AWS Infrastructure Composer, please refer to a separate article.

↓ [AWS] DevTools Evangelism: Infrastructure Composer Edition [Ad College 2025]

https://qiita.com/Nana_777/items/c7ebc842c4557f8d811d

AWS CDK

Define infrastructure configuration with less code through abstractions

Using the AWS CDK allows for efficient resource definition with less code through abstractions such as L2 constructors.

↓ Illustration of each IaC tool
image.png

Specific Steps for Using the AWS CDK

For specific steps for using the AWS CDK, please refer to my other article.

↓ [AWS] DevTools Evangelism: CDK Edition [Ad College 2025]

https://qiita.com/Nana_777/items/f5c2366d092226179477

Code Development with Amazon Q Developer

Using Amazon Q Developer, you can generate code simply by submitting a request to Amazon Q Developer in natural language. When using AI to generate code, you may be concerned about whether it will be able to generate code that follows your team's unique rules. However, by preparing a document that describes the rules and requesting code generation based on that document, it is possible to generate code that follows those rules.
In the example screenshot below, the CDK construct design guidelines were placed in the docs folder, and a request was made to Amazon Q Developer to create a new L2 construct based on that. As a result, code for a new L2 construct that complies with the guidelines was generated, along with a description of the implemented guideline compliance elements.

↓ Creating a new L2 construct using Amazon Q Developer, referencing the CDK Construct Design Guidelines.
image.png

No-Code Development with Amazon Q Developer in GitHub

Not Just Change Management: Automatic Issue Response with Amazon Q Developer

GitHub is known for its asset change management service, and on May 6, 2025 (Japan time), a new service utilizing Amazon Q Developer became available.
With Amazon Q Developer in GitHub, you can assign an Amazon Q Developer to an issue on GitHub. Amazon Q Developer will then implement a solution based on the issue's content and existing artifacts and create a pull request.
Humans can comment on the created implementation, interacting with Amazon Q Developer to build systems and address issues without coding.

Before submitting a pull request, Amazon Q Developer will also perform self-reviews and security checks.

Assign issues to Amazon Q Developer as if you were a part of the team.

Previously, AI-powered development relied on so-called vibe coding or coding assistance, where humans interacted with the AI ​​and worked together to implement code tailored to the issue.

With a service like Amazon Q Developer in GitHub, humans can simply create issues and leave the majority of the implementation to the AI, while reviewing the results.

↓ Image of development using Amazon Q Developer in GitHub
image.png

Previous article on Amazon Q Developer in GitHub

For more detailed instructions on using Amazon Q Developer in GitHub, please refer to my previous article below.

↓ [AWS] GitHub and AmazonQDeveloper are now integrated, so I tried it out [AmazonQ]

https://qiita.com/Nana_777/items/b1339d765c18fc6a0fb4

Change Management with AWS CodeCommit ★ Added after AWS SUMMIT! ★

:::note warn
Content added after AWS SUMMIT
This Kiro-related information was added after AWS SUMMIT.
At the time of AWS SUMMIT, AWS CodeCommit was scheduled for deprecation, so it was not included in the presentation.
:::

AWS CodeCommit, whose phase-out was announced in July 2024, was canceled on November 24, 2025, and it became generally available again.
Although this is post-AWS SUMMIT information, I've added it to this article.

Asset Change Management

Reverting to a Stable Version When Problematic Changes That Cannot Be Fixed Manually

Without using a change history management tool like AWS CodeCommit, managing changes can be a time-consuming task, requiring manual backups of files every day, for example.
Using a change history management tool makes it easier to manage change history and easily revert to a stable version that has been verified to work at any time.

Tracking the history of who made what changes and when

Using a change history management tool like AWS CodeCommit allows you to add additional information, such as the name of the person who made the change and a message, when creating a change history.

This allows you to see not only the change date and comments in the code, but also the changes made to the entire set of assets, making change history clear and easy to track.

Implementing notification features and other functions integrated with other services

AWS CodeCommit makes it easy to integrate with other AWS services.
For example, when creating a pull request, you can send notifications to Slack via Amazon SNS.

If you don't use the service, you would probably need to contact the person responsible for merging as part of the pull request creation process. By integrating AWS CodeCommit with other services, you can automate this process, reducing workload and the risk of forgetting to contact them.

Specific ways to use AWS CodeCommit

The following article explains specific ways to use AWS CodeCommit. Please refer to it.

↓ [AWS] DevTools Evangelism: CodeCommit Edition [Ad College 2025]

https://qiita.com/Nana_777/items/a8be2eee9ee9d81326cb

DevTools that can be used in the test/review phase

PoC with AWS CloudFormation Guard

By using CloudFormation Guard (Cfn-guard), which realizes Policy as Code (PaC), which codes policies, it is possible to quickly verify whether the CloudFormation template you created complies with your team's unique rules. The following example capture shows an example of preparing policy code that defines Lambda timeout settings, memory settings, and runtime settings, and performing a pre-deployment check.

↓ Example of using cfn-guard

image.png

Amazon Q Developer (/test)

When creating unit test code for IaC code, simply enter /test in the Amazon Q Developer chat box, and Amazon Q Developer will scan the artifacts and generate the corresponding test code.

AI-based test code generation reduces the burden on humans, but adding perspectives based on human experience and knowledge to the code generated by AI should enable even higher quality testing.

↓ Image of test code generation by Amazon Q Developer (IDE)
image.png

Amazon Q Developer (/review)

You can also review deliverables by simply typing /review in the Amazon Q Developer chat field. In the example below, the review points out that there is no error handling implementation in the AWS Lambda function.

As with testing, reviews by AI should be of higher quality if you add perspectives based on human experience and knowledge in addition to the review content generated by AI.

↓ Image of review by Amazon Q Developer (IDE)
image.png

DevTools that can be used in the deployment phase

AWS CodePipeline

Deployment processes are not just about uploading programs, but also include checking changes, approving deployment, monitoring for abnormalities after deployment, and reverting to normal operations when abnormalities occur. Using AWS CodePipeline reduces the workload of people.
The following capture image shows an example of the deployment process, in which a developer uploads the IaC code with the modifications, creates a Cloud Formation change set, notifies the person in charge that the change set has been created, and the person in charge approves the deployment, thereby executing the deployment. By using AWS CodePipeline for these processes, the only tasks that humans perform are the developer uploading the IaC code and the person in charge approving it.

↓ Example of using AWS CodePipeline
image.png

AWS CodeDeploy

Deployment is not complete until the deployment is performed. In preparation for errors or other problems that may occur after the deployment, it is necessary to temporarily restrict access to the new version, monitor for problems for a certain period of time, and revert to the original stable version if a problem occurs. These tasks can be automated by using AWS CodeDeploy.
In the example capture below, when deploying a revised version of AWS Lambda, only 10% of traffic is allowed to access the new version. This allows you to limit the scope of impact to a very small area if a problem occurs with the new version. You can also set it to issue an alarm if a preset number of errors occur for a preset period of time, and if an alarm is issued, you can revert to the original version, and if no alarm is issued, all traffic can flow to the new version. This allows you to quickly revert to the original version when a problem occurs.

↓ Examples of using AWS CodeDeploy
image.png

DevTools that can be used in operations/monitoring

Operational investigation with Amazon Q Developer

When operational monitoring is done by humans, it is necessary to collect logs to check for problems, and if there are problems, to analyze the cause and consider solutions, which requires a lot of effort and skill from the worker.
By using AI operations available from the CloudWatch console, Amazon Q Developer can analyze the contents of the log insights, metrics, and alarms, and report the discovery of problems and hypotheses about the cause.
This makes it possible to reduce the burden of work that needs to be done by humans.
The following example capture image shows the sample contents.

↓ AI operation screen
image.png

↓ Audit results by AI operation
image.png

↓ Hypothesis by AI operation (reporting root cause)
image.png

DevTools that can be used in planning/design

Automatic document generation by Amazon Q Developer

By entering /doc in the Amazon Q Developer chat field, you can generate a README file from an already created artifact.

The README file is packed with content that not only describes the project and deployment method in text, but also includes data flow and configuration diagrams.

↓ Image of document generation in Amazon Q Developer (IDE)
image.png

The configuration diagram in the README file does not have AWS service icons and is difficult to understand intuitively, but it is possible to generate an architecture diagram using AWS service icons by using the MCP server. If you ask Amazon Q Developer to create an architecture diagram using aws diagram mcp server, which is an MCP server that creates architecture diagrams, you can generate an intuitive and easy-to-understand architecture diagram using AWS service icons.

↓ Creating an architecture diagram using aws diagram mcp server
image.png

Conclusion

There are many types of DevTools, and you don't necessarily need to use all of them. How you use them and how you combine them is up to you. Select the appropriate tool according to the characteristics of your project, process, and team.
DevTools are evolving every day, and new tools are appearing. Instead of getting hung up on how you've been working up until now, I hope you'll take a moment to look back and see if there are any areas you can improve.
I hope this article will make you interested in DevTools and make you feel their appeal. If you want to know more ways to use them, how to devise them, and how to learn them, try looking at the output of other engineers and getting in touch with the world of AWS Community.

Top comments (0)