<?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: Lydia Dely</title>
    <description>The latest articles on DEV Community by Lydia Dely (@lydiadely).</description>
    <link>https://dev.to/lydiadely</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1237381%2Facf62bd8-69ca-4b9d-b797-53b08cb33ffe.jpg</url>
      <title>DEV Community: Lydia Dely</title>
      <link>https://dev.to/lydiadely</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lydiadely"/>
    <language>en</language>
    <item>
      <title>The Known and Unknown of Amazon Q Developer</title>
      <dc:creator>Lydia Dely</dc:creator>
      <pubDate>Tue, 03 Sep 2024 16:25:57 +0000</pubDate>
      <link>https://dev.to/aws-builders/the-known-and-unknown-of-amazon-q-developer-3mof</link>
      <guid>https://dev.to/aws-builders/the-known-and-unknown-of-amazon-q-developer-3mof</guid>
      <description>&lt;p&gt;When Amazon Q Developer was first announced at the re:Invent 2023 in Las Vegas, NV, I felt like I had finally found what I had been looking for throughout my entire career as a DevOps Engineer in SRE. I couldn't wait to get my hands dirty and meet this amazing best friend of mine "in person" as I immediately knew this buddy (available 24/7 only for me) will save me hours of a day's work. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon Q Developer&lt;/strong&gt; is part of Amazon Q family which is generative AI powered assistant for software development (Amazon Q Developer) and company knowledge (Amazon Q Business), and in this blog, I'll dive deep into Amazon Q Developer. &lt;br&gt;
By the way, did you know why it's called Q? Q is short for 'Question,' but it also calls to mind fictional characters from both Star Trek and James Bond who are known for their power, resourcefulness, and expertise.&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%2Ffcm8slkikwhn6vl89vi2.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%2Ffcm8slkikwhn6vl89vi2.png" alt="Q personas" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Statistics and Facts&lt;/strong&gt;&lt;br&gt;
Organizations want to enable employees with generative AI as productivity improves more than 30% on average.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;More than 80% of enterprises will have used generative AI APIs or deployed generative AI-enabled apps by 2026. &lt;br&gt;
*According to Gartner, October 2023&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;How much time do developers spend coding? &lt;br&gt;
Software.com analyzed data from more than 250 000 developers worldwide over a 3 month period, and they found that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;the median time that developers spend writing or editing code in their IDE is less than an hour per day (&lt;strong&gt;52 minutes&lt;/strong&gt;),  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;per work week, developers spend less than &lt;strong&gt;4 1/2 hours&lt;/strong&gt; writing code,  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;only 10 % of developers spend more than &lt;strong&gt;2 hours per day&lt;/strong&gt; coding. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Amazon Q Developer vs. Amazon CodeWhisperer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maybe you think now: "OK, but isn't it the same as Amazon CodeWhisperer?" &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CodeWhisperer is where we got started [with code generation], but we really wanted to have a brand - and name - that fit a wider set of use cases. &lt;br&gt;
(Doug Seven, Director, GM @ AWS| AWS AI Developer Experiences)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All of the features of CodeWhisperer were moved to Amazon Q Developer in April 2024, that means CodeWhisperer is now Amazon Q Developer. In addition, there are some more features of Amazon Q Developer that weren't available in CodeWhisperer, such as: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;diagnosing console errors (with &lt;strong&gt;Amazon Q&lt;/strong&gt;),&lt;/li&gt;
&lt;li&gt;transforming your code with &lt;strong&gt;Amazon Q Developer agents for transformation&lt;/strong&gt;, &lt;/li&gt;
&lt;li&gt;developing software with &lt;strong&gt;Amazon Q Developer agents for software development&lt;/strong&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%2Fqmxltm7y0s4kug1mirfp.png" alt="Q Developer agentic capabilities" width="582" height="1001"&gt;
&lt;/li&gt;
&lt;li&gt;chatting about your costs (retrieve and analyze cost data from AWS Cost Explorer),&lt;/li&gt;
&lt;li&gt;chatting about your resources (list, describe, and get guidance based on resources in your AWS account). &lt;/li&gt;
&lt;/ul&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%2Fmo0uky1ff807mux4v0wq.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%2Fmo0uky1ff807mux4v0wq.png" alt="worskpace" width="571" height="999"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;By including &lt;a class="mentioned-user" href="https://dev.to/workspace"&gt;@workspace&lt;/a&gt; in yur prompt, Amazon Q Developer will automaticaly ingest and index all code files, configurations and project structure&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Why to use Amazon Q Developer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q Developer is your assistant for the entire software development lifecycle (SDLC): &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;helps developers and IT profesionals with all of their tasks - from coding, testing and upgrading to troubleshooting, performing security scanning and fixes, optimizing AWS resources and creating data engineering pipelines, &lt;/li&gt;
&lt;li&gt;helps developers build faster and more securely by generating code suggestions and recommendations in near real time, &lt;/li&gt;
&lt;li&gt;converses with developers to explore new AWS capabilities, learn unfamiliar technologies, and architect solutions. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Core Use Cases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Retire tech debt at scale&lt;br&gt;
Modernize projects and upgrade language version and dependencies &lt;br&gt;
with Amazon Q Developer Agent for code transformation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Drive developer productivity&lt;br&gt;
Get inline coding recommendations, summarize and document code, &lt;br&gt;
scan for security issues, diagnose and troubleshoot bugs, and write &lt;br&gt;
unit tests. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improve security and code quality&lt;br&gt;
Ship more secure code with less effort with code scanning and automated code recommendation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Subsription and Pricing&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Amazon Q Developer comes in two different tiers of use: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;a &lt;strong&gt;Free tier&lt;/strong&gt; (has limitation how much you interact with the service, for example user can have only 50 chat interaction per month) , &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a &lt;strong&gt;Professional tier&lt;/strong&gt; called Q Developer Pro (has no limitation or much higher limits and costs $19 a month per user).&lt;br&gt;
&lt;em&gt;While this might sound high, you might find that the efficiency and productivity boost from using the service is worth the cost.&lt;/em&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main features, such as chat, code completions, security scans, and reference tracking are available in both. &lt;/p&gt;

&lt;p&gt;You can find official Amazon Q Developer pricing page &lt;a href="https://aws.amazon.com/q/developer/pricing/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;You can also find some key differences between tiers below:&lt;br&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%2Fi4h607nj12flwxg60tcn.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%2Fi4h607nj12flwxg60tcn.png" alt="Key differences between tiers" width="800" height="371"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;*LOC is lines of code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon Q Developer Integration and Setup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q lives where you work, right inside your IDEs (JetBrains, IntelliJ IDEA, VS and VSCode), Slack and Teams (through AWS Chatbot), AWS consoles or even in the CLI (on Mac). &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Now Also support for an Eclipse and GitLab Duo.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Workflow is as follows: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In your IDE download the extension for Amazon Q. It’s available as an extension or plugin for JetBrains IDEs and VSCode and as the AWS Toolkit extension in Visual Studio. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Authenticate yourself. You can do this in two ways: &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;the first way, if you want to use the service for free, is to 
 authenticate yourself through your &lt;strong&gt;Builder ID&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&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%2Fnasfr5wusgjwz2az2626.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%2Fnasfr5wusgjwz2az2626.png" alt="sign-in" width="302" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the second way is through the Amazon Q Developer Pro plan, that 
 requires your administrator to set up an identity for you in 
 &lt;strong&gt;IAM Identity Center&lt;/strong&gt; (AWS SSO): &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Your Administration needs to provide you Start URL and Region:&lt;/p&gt;
&lt;/blockquote&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%2Fic9ii4ya5gqm252qy89k.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%2Fic9ii4ya5gqm252qy89k.png" alt="Pro sign-in" width="300" height="392"&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%2F6b4zjrgqu1czlqb720mk.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%2F6b4zjrgqu1czlqb720mk.png" alt="authenticating" width="303" height="223"&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%2Fd24cth2jqudxfpwhhy6x.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%2Fd24cth2jqudxfpwhhy6x.png" alt="extension access " width="301" height="125"&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%2F2cms1rl7uc7arhei4vli.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%2F2cms1rl7uc7arhei4vli.png" alt="access given" width="240" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Integrate Q Developer into your organization and gain organization-wide capabilities to control what your accounts, users, and groups do with the service.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Now AWS account administrators can create subscriptions for standalone or AWS Organizations member accounts.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Amazon Q Developer is available as a feature in several other AWS services: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon Q in Amazon SageMaker Studio,&lt;/li&gt;
&lt;li&gt;Amazon Q Business, &lt;/li&gt;
&lt;li&gt;Amazon Q in Amazon CodeCatalyst, &lt;/li&gt;
&lt;li&gt;Amazon Q in Amazon Connect, &lt;/li&gt;
&lt;li&gt;Amazon Q in AWS Glue,&lt;/li&gt;
&lt;li&gt;Amazon Q in Lambda, &lt;/li&gt;
&lt;li&gt;Amazon Q in Amazon QuickSight,&lt;/li&gt;
&lt;li&gt;Amazon Q in VPC Reachability Analyzer,&lt;/li&gt;
&lt;li&gt;Amazon Q in Amazon EC2,&lt;/li&gt;
&lt;li&gt;Amazon Q in AWS Chatbot, &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;- Amazon Q in AWS CloudFormation&lt;/em&gt;,&lt;br&gt;
&lt;em&gt;- Amazon Q in Amazon Cloudwatch&lt;/em&gt;,&lt;br&gt;
&lt;em&gt;- Amazon Q in Amazon SageMaker Canvas,&lt;/em&gt;&lt;br&gt;
&lt;em&gt;- Amazon Q in GitLab Duo (preview)&lt;/em&gt;.&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&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%2Fzslerk7al3iqiealn434.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%2Fzslerk7al3iqiealn434.png" alt="GitLab Duo" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;(Separate Article about GitLab Duo in progress..)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Amazon Q Developer "Magic"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that we are already familiar with Q Developer, I'll show the features I like the most. &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%2Frzjhf4owl1bpaqkzxw31.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%2Frzjhf4owl1bpaqkzxw31.png" alt="Q Developoer in nut shell" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboard for user activity&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Amazon Q Developer Pro tier now provides a detailed usage activity dashboard that gives administrators greater visibility into how their subscribed users are leveraging Amazon Q Developer features and improving their productivity.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&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%2F0zf11dgfxm539wsdauhd.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%2F0zf11dgfxm539wsdauhd.png" alt="User dashboard" width="800" height="522"&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%2Fiqdoegbz3nxvp2jtki9m.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%2Fiqdoegbz3nxvp2jtki9m.png" alt="Image dashboard1" width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;New customers will have this usage dashboard enabled by default. Existing Amazon Q Developer administrators can activate the dashboard through the AWS Management Console to start tracking detailed usage metrics. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3rd party Plugins&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.amazonaws.com%2Fuploads%2Farticles%2F8blw2lwe982refxs306j.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%2F8blw2lwe982refxs306j.png" alt="Image plugins" width="800" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Amazon Q Developer Agent for code transformation&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With Code Transform feature you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;complete language upgrades in a fraction of the time (currently supports upgrades from Java 8 or 11 to Java 17), &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;and enhanced Java upgrages to Java 21.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;transform embedded SQL from Oracle to PostgreSQL.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;also added transformation capabilities for:&lt;/em&gt;&lt;br&gt;
&lt;em&gt;.NET application porting from Windows to Linux,&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Mainframe application modernization,&lt;/em&gt; &lt;br&gt;
&lt;em&gt;VMware workload migration to AWS.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;How does /transform work?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Open Amazon Q chat in your IDE and type /transform. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Amazon Q Developer code transformation recieved new CLI tool (public preview).&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;It will automatically prompt to upgrade Java as follows (example for upgrade to Java17): &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%2Fgfhjs995i2detujme0qr.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%2Fgfhjs995i2detujme0qr.png" alt="transform" width="435" height="418"&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%2F4kzyyz1y5q8xcczq6h0f.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%2F4kzyyz1y5q8xcczq6h0f.png" alt="transf2" width="398" height="713"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then you need to add path to your Java code and your transformation starts. It takes usually up to 30 mins.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/dev Looking at this project, can  you tell me which version of java this project is using?
/usr/libexec/java_home -V #Current java varsion
/usr/libexec/java_home -v 1.8 #Path to java8 (need to update ~/.zshrc or ~/.bash_profile #depends what you are using in your IDE terminal)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#if MAC:
brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk8
brew install maven
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below you can see newly generated Code Transformation plan by Amazon Q and Code Transformation Summary by Amazon Q. &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%2Fkhmy0d8a5pgfo1ed4r9x.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%2Fkhmy0d8a5pgfo1ed4r9x.png" alt="Image plan" width="800" height="562"&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%2Flsb1ue7wr5wwcaush07g.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%2Flsb1ue7wr5wwcaush07g.png" alt="Image plan2" width="800" height="442"&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%2F3y1q28oao7np5cszqwv9.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%2F3y1q28oao7np5cszqwv9.png" alt="Image summary" width="800" height="812"&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%2F1s3pacyqz3a4wb38gy2d.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%2F1s3pacyqz3a4wb38gy2d.png" alt="Image summary2" width="800" height="499"&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%2F78r769k12rohk5hoa3dw.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%2F78r769k12rohk5hoa3dw.png" alt="done" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java has been successfully upgraded even you can see some red flags. &lt;br&gt;
The reason why upgrade succeeded is that during the process Gen AI fixed errors itself. &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%2Ffwg4nhgkfapl70qj9jw0.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%2Ffwg4nhgkfapl70qj9jw0.png" alt="Amazon Q Developer Agent for code transformation" width="681" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the end we can review our pom.xml file before and after upgrade. &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%2Fihlobt5w7y249imvalnm.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%2Fihlobt5w7y249imvalnm.png" alt="Image pom.xml" width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Amazon has migrated tens of thousands of production applications from Java 8 or 11 to Java 17 with assistance from Amazon Q Developer. This represents a savings of over 4,000 years of development work for over a thousand developers (when compared to manual upgrades) and performance improvements worth $260 million dollars in annual cost savings.&lt;/p&gt;

&lt;p&gt;Don't forget to verify your new created tests by following command: &lt;br&gt;
&lt;code&gt;mvn verify -f "PATH to pom.xml file"&lt;/code&gt; or as follows&lt;/p&gt;
&lt;/blockquote&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%2Fwaugecuw4h0m9cwnr0a1.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%2Fwaugecuw4h0m9cwnr0a1.png" alt="Image mvn" width="359" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It will automatically prompt to upgrade Java as follows (example for upgrade to Java21): &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%2Fogp25maz7e2r493rnq5q.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%2Fogp25maz7e2r493rnq5q.png" alt="Image Java21" width="436" height="877"&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%2F0o19aumjikwp5lrdbfy5.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%2F0o19aumjikwp5lrdbfy5.png" alt="Procedure Java 21" width="800" height="391"&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%2Fw6m5j9zroao1r9t7x947.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%2Fw6m5j9zroao1r9t7x947.png" alt="Procedure1 Java21" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Amazon Q Developer Agent for software development&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q Developer has an agent for software development (type &lt;strong&gt;&lt;em&gt;/dev&lt;/em&gt;&lt;/strong&gt; in chat window) that can autonomously perform a range of tasks–everything from writing and implementing entire application features in minutes right from a simple natural language prompt in your IDE. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This agent got new capabilities, such:&lt;/em&gt;&lt;br&gt;
&lt;em&gt;- enhanced documentation in codebases (type &lt;strong&gt;&lt;em&gt;/doc&lt;/em&gt;&lt;/strong&gt; in chat window)&lt;/em&gt;,&lt;br&gt;
&lt;em&gt;- supporting code reviews to detect and resolve security and code quality issues (type &lt;strong&gt;&lt;em&gt;/review&lt;/em&gt;&lt;/strong&gt; in chat window)&lt;/em&gt;,&lt;br&gt;
&lt;em&gt;- generating unit tests automatically and improving test coverage (type &lt;strong&gt;&lt;em&gt;/test&lt;/em&gt;&lt;/strong&gt; in chat window)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Developers can collaborate with the agent to review and iterate on the plan before the agent implements it, connecting multiple steps together and applying updates across source files, code blocks, and test suites. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does /doc work?&lt;/em&gt;&lt;br&gt;
Type /doc in IDE Q chat window and choose if you want to create new README or update an existing README. &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%2Fr9em14vftba8ai6c34o1.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%2Fr9em14vftba8ai6c34o1.png" alt="Image readme" width="384" height="865"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you choose an existing README, you can select from update README to reflect code or make a specific change. &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%2Fb5q8qn1gp4kbnscaelzj.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%2Fb5q8qn1gp4kbnscaelzj.png" alt=" " width="388" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then approve project by clicking on YES button or write specific change. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does /test work?&lt;/em&gt;&lt;br&gt;
Type /test in IDE Q chat window and write your description. This agent support only tests (Java and Python) for selected code. &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%2F2myrxlifg3byrj8qnrdd.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%2F2myrxlifg3byrj8qnrdd.png" alt="Image test" width="718" height="1048"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does /review work?&lt;/em&gt;&lt;br&gt;
Type /review in IDE Q chat window to identify and fix code issues before committing. Then you can choose if you want to scan whole project (workspace) or active file only. &lt;/p&gt;

&lt;p&gt;Scan detects security vulnerabilities, scans for secrets, and assesses the security of your infrastructure as code files.  You can scan an entire codebase or you can analyze your code as you write it using automatic scans. &lt;br&gt;
For example, it might detect resource leaks, SQL injection, hardcoded database connection strings, infrastructure as code misconfiguration, and more.  &lt;/p&gt;

&lt;p&gt;After it scans your code it will provide you with a list of security issues found in your files. &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%2Fubgq9rye1099p305lvzm.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%2Fubgq9rye1099p305lvzm.png" alt="Image scan" width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can then select each problem detected in the list of issues. It will take you to the line in your code where it found the issue. You can then hover over the line and see more details about the problem. &lt;/p&gt;

&lt;p&gt;Sometimes you can see fix your issue button that is only available for certain issues. This option is an automatic code fix. The description will show that there’s a code fix available, and you can select this fix and it will directly update your code for you. &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%2Fyaq08ft1qhu7h2wmpfkm.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%2Fyaq08ft1qhu7h2wmpfkm.png" alt="Image fix" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does /dev work?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Type /dev in IDE Q chat window and describe your task or feature in as much detail as possible. &lt;/p&gt;

&lt;p&gt;Once the /dev command is entered in the IDE, the agent packages the project and securely uploads it to Amazon Q, initiating project-specific code generation. The Amazon Q Developer agent not only focuses on code generation, but also maintains a real-time connection with the developer, providing updates throughout the process and delivering a polished patch or implementation for the requested feature.&lt;/p&gt;

&lt;p&gt;This real-time execution is powered by a Devfile, which defines the development environment and commands the agent can use. If a project doesn’t already have a Devfile, Amazon Q Developer will prompt users to create one after their first run of /dev. Without a Devfile, the agent will develop solutions without the additional feedback provided by running builds or unit tests, limiting developers’ ability to receive real-time feedback during the development process.&lt;/p&gt;

&lt;p&gt;The Devfile must conform to the Devfile 2.2.0 schema. Currently, Amazon Q Developer supports the install, build, and test commands.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Core enhancements in the latest Amazon Q Developer update&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customizable Commands: Developers can specify commands in a Devfile to control which commands the AI agent runs, reducing unnecessary steps and improving accuracy.&lt;/li&gt;
&lt;li&gt;Flexible Environment Setup: Developers can use custom Docker images preloaded with dependencies for faster startup times, providing the agent has all necessary tools.&lt;/li&gt;
&lt;li&gt;Sandboxed Security: Amazon Q Developer secures the execution within isolated environments, offering comprehensive logging and robust permission controls to safeguard any changes made.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this setup, Amazon Q Developer can execute tests, apply migrations, and run installation commands directly within a sandbox, providing feedback to the agent for iterative improvements.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Customers have reported efficiency improvements of 25% faster initial development and up to a 40% increase in developer productivity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Explain code with conversational coding&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is especially useful for new developers who may have just inherited a legacy code base and who may have questions about what some of the various code modules do. &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%2F9rs17of6jwc5fp0eu2go.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%2F9rs17of6jwc5fp0eu2go.png" alt="Q Explain" width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, there is much more you can do, such as: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refactor Code for Code Readability: Improve the readability of a specific code module by refactoring it. Break down complex functions into smaller, more manageable units, and apply meaningful variable and function names for better clarity. &lt;/li&gt;
&lt;li&gt;Optimising your code can help you towards cost and sustainability goals, and so may provide you with some good options.&lt;/li&gt;
&lt;li&gt;and many more...&lt;/li&gt;
&lt;/ul&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%2Fzhti49dnuh0zomhlk9vi.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%2Fzhti49dnuh0zomhlk9vi.png" alt="Q Explain generated answer" width="800" height="1569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon Q Developer in the AWS Management Console&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Ask questions and get guidance from 17 years of AWS knowledge, best practices, well-architected advice (best practices, AWS WAF, Amazon EC2 instance optimization). &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%2Fx9gc4j1xff5di5sghp26.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%2Fx9gc4j1xff5di5sghp26.png" alt="chat" width="557" height="877"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also tetrieve and analyze cost data from AWS Cost Explorer (in preview). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Inline coding companion in IDE and CLI&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does this kind of coding work?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;based on your natural language prompt, &lt;/li&gt;
&lt;/ul&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%2Fz1a2kl3anvopbbbcpm02.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%2Fz1a2kl3anvopbbbcpm02.png" alt="Image prompt" width="642" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate up to 5 suggestions (Tab for accept, Arrows for moving between suggestions), &lt;/li&gt;
&lt;/ul&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%2Frxwtlk6l3zaziheug010.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%2Frxwtlk6l3zaziheug010.png" alt="Image a" width="500" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;by pressing Enter Q Developer generates code for you based on your private repositories. &lt;/li&gt;
&lt;/ul&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%2Fip2xc0jnl2wlrc8j5pn4.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%2Fip2xc0jnl2wlrc8j5pn4.png" alt="Image 1" width="722" height="414"&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%2Fsnp6s4f9bgw0fdm89w9h.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%2Fsnp6s4f9bgw0fdm89w9h.png" alt="Image 2" width="735" height="436"&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%2Fikoyks3sv09oswl5r5e4.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%2Fikoyks3sv09oswl5r5e4.png" alt="Image 3" width="737" height="429"&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%2Fy9o45v6e6aps0kjqc5zv.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%2Fy9o45v6e6aps0kjqc5zv.png" alt="Image 4" width="734" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Plus&lt;/em&gt;&lt;br&gt;
I find this very helpful because if I were to write the code manually, I would have had to look up some of the exact wording and syntax, which would have taken me much longer and potentially could have been less accurate. &lt;br&gt;
Even though the generated code need some manual fixes to meet IaC best practices, it still can save developers a lot of time.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cons&lt;/em&gt;&lt;br&gt;
You really need to know where your code is going for Q Developer to be helpful, though. Sometimes, Q Developer might get it wrong, suggest something you're not looking for, or not follow common coding best practices, so you need to stay focused. This tool isn't a replacement for a programmer and to get the most out of it, you need to know what you want your code to look like so you can pick the right suggestions from Q Developer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;EC2 instance type suggestion&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q can help you with choosing right instance type while creating EC2 instance. &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%2Fq8hh7k1v7h867sf73vgb.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%2Fq8hh7k1v7h867sf73vgb.png" alt="Image advice" width="620" height="397"&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%2Fhqg6w94iqp58uflcz5ri.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%2Fhqg6w94iqp58uflcz5ri.png" alt="Image b" width="595" height="878"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Amazon Q Developer has expanded its AWS Console error coverage from US East (N. Virginia) and US West (Oregon) to AWS Commercial regions. Users can now troubleshoot AWS Console errors using Amazon Q Developer regardless of their console region, including locations like Europe (Frankfurt).&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Announced on February 2024&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Troubleshoot errors from the following services - Amazon S3, AWS Lambda, Amazon EC2, Amazon Elastic Container Service and
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;also Amazon CloudFormation.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Troubleshoots IAM Permission and Athena console errors across all AWS Console pages.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;AWS announced a new capability to investigate and remediation operational issues, which seamlessly integrated into Amazon CloudWatch and AWS Systems Manager&lt;/em&gt; 
&lt;strong&gt;UPDATE&lt;/strong&gt; Recently announced &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&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%2F8qeiby6s3ou8pic9s1wj.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%2F8qeiby6s3ou8pic9s1wj.png" alt="Cloudwatch operation issue" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lambda troubleshooting example
This is my fave! 
I have written basic lambda for creating object in S3 bucket with some text. While testing it I've got an error. What now?&lt;/li&gt;
&lt;/ul&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%2Ftvq0i64khohcgyo3a0yz.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%2Ftvq0i64khohcgyo3a0yz.png" alt="Image l1" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just click on Diagnose with Q and Q will help to troubleshoot. &lt;br&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%2F2qylqz3jfwy31r5zb1gj.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%2F2qylqz3jfwy31r5zb1gj.png" alt="Image l2" width="800" height="910"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I was missing inline policy, fixed it and rerun test and test succeeded. &lt;br&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%2Fi4mtiww35cqtagayi4ts.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%2Fi4mtiww35cqtagayi4ts.png" alt="Image l3" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VPC Reachability Analyzer troubleshooting example&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In case you are experiencing a network problem, you can ask in AWS Management Console for help. It will forward you to network troubleshooting chat. &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%2Fn4hfw52av9okz0y82lva.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%2Fn4hfw52av9okz0y82lva.png" alt="Image ra" width="323" height="84"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Q will help you identify and fix the issue. &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%2Fkz3budri30okjoz85ed1.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%2Fkz3budri30okjoz85ed1.png" alt="Image fix" width="596" height="441"&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%2F7ze3l8sf1v7qpgjleq74.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%2F7ze3l8sf1v7qpgjleq74.png" alt="Image w" width="351" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion and Findings
&lt;/h3&gt;

&lt;p&gt;I believe that Q will become part of every aspect of how developers complete development tasks. Across Research, Design, Test and Maintain. From how developers find the information they need and how they understand code, to writing the actual code and figuring out bugs, all the way to doing the code reviews. Q will even brainstorm with developers how to improve applications. With Q, developers can spend more time building, innovating and experimenting. &lt;/p&gt;

&lt;p&gt;Like all new tools, we need to learn how to get the best of them. &lt;/p&gt;

&lt;p&gt;PS: If you're looking for information on Amazon Q Developer Security and couldn't find it, it's because I wrote a separate article on the topic. Check it out here.&lt;br&gt;
&lt;a href="https://dev.to/lydiadely/the-security-of-amazon-q-developer-50g"&gt;https://dev.to/lydiadely/the-security-of-amazon-q-developer-50g&lt;/a&gt;&lt;/p&gt;

</description>
      <category>amazonqdeveloper</category>
      <category>code</category>
      <category>sdlc</category>
      <category>aws</category>
    </item>
    <item>
      <title>Is Amazon Q Developer Secure?</title>
      <dc:creator>Lydia Dely</dc:creator>
      <pubDate>Tue, 20 Aug 2024 19:54:46 +0000</pubDate>
      <link>https://dev.to/aws-builders/the-security-of-amazon-q-developer-50g</link>
      <guid>https://dev.to/aws-builders/the-security-of-amazon-q-developer-50g</guid>
      <description>&lt;p&gt;Amazon Q is built with security and privacy in mind from the start, making it easier for organizations to use generative AI safely. &lt;/p&gt;

&lt;p&gt;In this blog, I'll compile all the information regarding the security of data you send to Amazon Q Developer in one place.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Data Protection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;AWS shared responsibility model&lt;/strong&gt; applies to data protection in Amazon Q Developer. AWS is responsible for protecting the global infrastructure that runs all of the AWS Cloud. You are responsible for maintaining control over your content that is hosted on this infrastructure. You are also responsible for the security configuration and management tasks for the AWS services that you use.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Regardless of where you use Amazon Q Developer, data is sent to and stored in an AWS Region in the US. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your conversations with Amazon Q are stored in the US East (N. Virginia) Region even if the AWS Management Console is set to a different AWS Region. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data processed during troubleshooting console error sessions is stored in the US West (Oregon) Region. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data processed during interactions with Amazon Q in integrated development environments (IDEs) is stored in the US East (N. Virginia) Region. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Service Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you’re using the Pro version, it will &lt;strong&gt;not store&lt;/strong&gt; or use any of your codebase to maintain or improve the service. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you’re using the free version of Q Developer, this input/output combination, which includes the snippets Q Developer generates and the customer file contents, as well as chat conversations, &lt;strong&gt;may be stored&lt;/strong&gt; in the Q Developer service and used for service improvement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is that Q Developer can use this data to improve the performance of the service over time. However, if privacy is a concern, you can choose to turn off this default behaviour to ensure that Q Developer does not use your information to maintain the service. &lt;br&gt;
You can turn it off manually in your IDE, as you can see at the picture below (VSCode). &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%2Frntkth3cohk6s8tcy2wr.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%2Frntkth3cohk6s8tcy2wr.png" alt="content share" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Data Encryption&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3.1 Encryption in transit&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All communication between customers and Amazon Q and between Amazon Q and its downstream dependencies is protected using TLS 1.2 or higher connections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3.2 Encryption at rest&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q stores data at rest using Amazon DynamoDB and Amazon Simple Storage Service (Amazon S3). The data at rest is encrypted using AWS encryption solutions by default. Amazon Q encrypts your data using AWS owned encryption keys from AWS Key Management Service (AWS KMS). You don’t have to take any action to protect the AWS managed keys that encrypt your data. &lt;/p&gt;

&lt;p&gt;For data stored by Amazon Q in IDEs, you can create your own customer managed AWS KMS key to encrypt your data at rest. Customer managed keys are KMS keys in your AWS account that you create, own, and manage to directly control access to your data by controlling access to the KMS key. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;3.3 Encryption with the Amazon Q Developer Agent for code transformation&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you begin a transformation with the Amazon Q Developer Agent for code transformation, your code is sent to a service-owned Amazon S3 bucket over an encrypted TLS connection. Your code is encrypted at rest with a customer managed key if you provide one, and otherwise with an AWS-owned key. During the transformation, your code is stored in memory in a secure build environment. After the transformation has completed, the build environment is deleted and any artifacts are flushed from memory. Your encrypted code remains in the service-owned Amazon S3 bucket for up to 24 hours, and then is permanently deleted.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;3.4 Encryption with Customizations&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you create a customization, Amazon Q uploads your files to a service-owned Amazon S3 bucket. Your files are encrypted in transit with HTTPS and TLS. They are encrypted at rest with a customer managed key if you provide one, and otherwise with an AWS-owned key. Once your customization has been created, AWS permanently deletes your data from the bucket, and purges it from memory.&lt;/p&gt;

&lt;p&gt;Your customizations are fully isolated from each other within your account. They are also isolated from the data of other customers. Only users specified by a Amazon Q Developer administrator have access to any specific customization. Before a Amazon Q administrator can specify which users can access which customizations, you must authorize that administrator permission to do so. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Reference tracker&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Q Developer was trained using open source and Amazon-specific code in order to generate these code snippets based on your contextual data. &lt;br&gt;
Technically, if you accept a suggestion from Q Developer, you still own that code plus any code you create yourself. However, there may be times when Q Developer generates code that closely matches code that it was trained on. &lt;/p&gt;

&lt;p&gt;If Q Developer detects that this is the case, and they’re giving you essentially plagiarized code, then the reference tracker kicks in. The reference tracker is &lt;strong&gt;built-in&lt;/strong&gt; to the Q Developer service to notify you when code snippets match publicly available data. It does this by providing a reference to the license information and to the URL of the open-source training data. That way you can review the code and save yourself from a murky legal situation if needed.&lt;/p&gt;

&lt;p&gt;If you don’t want any code snippets that match publicly available data, then you can turn off a setting to “Include Suggestions With Code References”. This is &lt;strong&gt;turned on by default&lt;/strong&gt;, but you can toggle it to ensure that you don’t have any code snippet suggestions that have references.&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%2Fvshumgrw1w1b8k5gzhir.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%2Fvshumgrw1w1b8k5gzhir.png" alt="Reference tracker" width="800" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;In wrapping up, I believe the security features offered by Amazon Q Developer are truly impressive and set a high standard in the industry. The commitment to data protection, through sophisticated encryption and ongoing service enhancements, reflects a deep understanding of the challenges developers face today. &lt;/p&gt;

&lt;p&gt;The inclusion of reference tracking is a particularly thoughtful touch, showing that Amazon is not just focused on keeping your data secure, but also on streamlining your workflow. &lt;/p&gt;

&lt;p&gt;Personally, I find these features reassuring, knowing that Amazon Q Developer is not just about powerful tools, but also about ensuring that the integrity and security of my work are maintained at all times. It’s clear that Amazon has taken the necessary steps to make sure we can focus on creating, without worrying about the security of our data.&lt;/p&gt;

</description>
      <category>amazonq</category>
      <category>amazonqdeveloper</category>
      <category>security</category>
      <category>aws</category>
    </item>
    <item>
      <title>Navigating the World of Streamlit and AWS GenAI services: An Introduction</title>
      <dc:creator>Lydia Dely</dc:creator>
      <pubDate>Fri, 22 Dec 2023 11:29:52 +0000</pubDate>
      <link>https://dev.to/aws-builders/streamlit-380f</link>
      <guid>https://dev.to/aws-builders/streamlit-380f</guid>
      <description>&lt;p&gt;Hey everyone! &lt;/p&gt;

&lt;p&gt;So, I recently got hands-on with Streamlit during a GenAI project, and it brought a whole new vibe to my coding game.&lt;/p&gt;

&lt;p&gt;This blog is crafted for the curious minds, the aspiring developers, and the seasoned data scientists who seek a bridge between their code and the interactive web. We'll dissect the elements that make Streamlit an attractive option for building data-driven applications and demystify how it integrates seamlessly with advanced services like AWS GenAI.&lt;/p&gt;

&lt;p&gt;Before we delve into the nuts and bolts of Streamlit in subsequent posts, let's set the theoretical foundation. Understanding the 'why' and 'how' will equip you with the knowledge to appreciate the 'what' that Streamlit can do for you.&lt;/p&gt;

&lt;p&gt;So, whether you're new to web development or looking to streamline your data visualization processes, join me on this journey through the Streamlit landscape. &lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction to Streamlit
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is Streamlit and why is it a preferred choice for building web applications in data science and machine learning?
&lt;/h3&gt;

&lt;p&gt;Streamlit is an open-source Python library that allows you to create a stunning-looking web applications for data science and machine learning with only a few lines of code. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no front-end (html, js, css) experience or knowledge is required,&lt;/li&gt;
&lt;li&gt;you don't need to spend days or months to create a web app, you can create a really beautiful machine learning or data science app in only a few hours or even minutes,&lt;/li&gt;
&lt;li&gt;compatible with the majority of Python libraries (e.g. pandas, matplotlib, seaborn, plotly, Keras, PyTorch, SymPy(latex)),&lt;/li&gt;
&lt;li&gt;less code is needed to create amazing web apps,&lt;/li&gt;
&lt;li&gt;data caching simplifies and speeds up computation pipelines.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What are some common use cases of Streamlit in combination with AWS GenAI Services?
&lt;/h3&gt;

&lt;p&gt;Combining Streamlit with AWS GenAI Services opens up a range of powerful and innovative use cases, particularly in the realms of data science, machine learning, and AI-driven applications. Some common use cases include.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Image recognition and classification:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Medical image analysis&lt;/strong&gt;&lt;br&gt;
Streamlit applications can be built for medical professionals to upload and analyze medical images (e.g., X-rays, MRIs) using AWS services like Amazon Rekognition Custom Labels or Amazon Comprehend Medical.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Content moderation&lt;/strong&gt;&lt;br&gt;
Create a content moderation tool that allows users to upload images, and AWS Rekognition can automatically detect and filter out inappropriate content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Natural language processing (NLP)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sentiment Analysis Dashboard&lt;/strong&gt;&lt;br&gt;
Build a sentiment analysis dashboard using Streamlit and AWS Comprehend to analyze and visualize sentiment in social media posts or product reviews.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Text Summarization&lt;/strong&gt; &lt;br&gt;
Create a tool that summarizes lengthy documents or articles using AWS Textract or Amazon Comprehend's summarization capabilities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data Visualization and Enhancement:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Augmentation&lt;/strong&gt; &lt;br&gt;
Streamlit can be used to visualize datasets, and AWS GenAI Services like Amazon Data Augmentation can automatically generate variations of your data to enhance model training.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Transformation&lt;/strong&gt;&lt;br&gt;
Use Streamlit to display data transformation processes, especially when preparing data for machine learning models using AWS Glue, SageMaker Data Wrangler, or Athena.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Voice and Speech Processing:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Voice Assistant&lt;/strong&gt;
Build a voice-controlled Streamlit app with AWS Polly for text-to-speech conversion and Lex for natural language understanding. This can be used in customer support applications or for creating voice-guided tutorials.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Chatbots and Conversational Interfaces:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI-Powered Chatbots&lt;/strong&gt;
Create a conversational interface using Streamlit with AWS Lex for chatbot interaction, making it easy for users to get information or perform actions via chat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Custom Machine Learning Models:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Custom Models with SageMaker&lt;/strong&gt;
Develop Streamlit applications that leverage custom machine learning models trained on AWS SageMaker and allow users to input data for predictions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Integration of Streamlit with AWS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How can you set up a Streamlit application on an AWS server, such as EC2 or an container?
&lt;/h3&gt;

&lt;p&gt;Deploying a Streamlit application on an AWS server is a strategic choice for ensuring your data-driven web app is accessible, scalable, and performant. Amazon Web Services (AWS) offers a range of services, including EC2 instances and container solutions, that provide a robust foundation for hosting applications. &lt;/p&gt;

&lt;h4&gt;
  
  
  Streamlit on EC2 instance
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;install streamlit on the EC2 instance:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install streamlit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;run your streamlit app on the EC2 instance:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;streamlit run your_app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;access your streamlit app: 
Open your web browser and navigate to the public IP address or DNS of your EC2 instance, specifying the appropriate port (e.g., &lt;a href="http://your-ec2-ip:8501" rel="noopener noreferrer"&gt;http://your-ec2-ip:8501&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Streamlit on Docker
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;build a docker image from a dockerfile:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker build -t streamlit . 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; The -t flag is used to tag the image. Here, we have tagged the image streamlit. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;run the docker container:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -p 8501:8501 streamlit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; The -p flag publishes the container’s port 8501 to your server’s 8501 port. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If all went well, you should see an output similar to the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -p 8501:8501 streamlit

  You can now view your Streamlit app in your browser.

  URL: http://0.0.0.0:8501
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What are the steps to integrate AWS services with a Streamlit application?
&lt;/h3&gt;

&lt;p&gt;Integrating AWS services with a Streamlit application involves several steps, and the specific steps may vary depending on the AWS services you want to use and the requirements of your application. Here's a general guide to get you started:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;set up AWS account&lt;/strong&gt;, &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;install required libraries&lt;/strong&gt; (make sure you have the necessary Python libraries installed like boto3 for AWS SDK and other libraries based on your application's requirements)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install streamlit boto3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS SDK configuration&lt;/strong&gt; (set up AWS SDK (boto3) with your credentials. You can either configure it with environment variables or using the AWS CLI.)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import boto3

# Configure AWS SDK
aws_access_key_id = 'your_access_key_id'
aws_secret_access_key = 'your_secret_access_key'
aws_region = 'your_region'

boto3.setup_default_session(
    aws_access_key_id=aws_access_key_id,
    aws_secret_access_key=aws_secret_access_key,
    region_name=aws_region
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;integrate AWS services&lt;/strong&gt; (depending on your application's requirements, you might integrate services like Amazon S3 for storage or other AWS services)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import boto3
import streamlit as st

# Function to upload file to S3
uploaded_file = st.sidebar.file_uploader("Choose a file", type=["txt","jpg","png","pdf"])
def upload_to_s3(file_path, bucket_name, object_name):
        s3 = boto3.client('s3')
        try:
            s3.upload_file(file_path, bucket_name, object_name)
            return True
        except Exception as e:
            st.error(f"An error occurred: {e}")
            return False

st.info(f"Updating file '{filename}' to S3 bucket '{bucket_name}'...")
        if upload_to_s3(temp_file.name, bucket_name, object_name):
            st.success(f"File '{filename}' uploaded successfully to S3 bucket: s3://{bucket_name}/{object_name}")        
        else:
            st.error(f"Failed to upload '{filename}' to S3 bucket '{bucket_name}'")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; &lt;strong&gt;securely manage credentials&lt;/strong&gt; (avoid hardcoding credentials in your code, instead, employ &lt;em&gt;IAM roles&lt;/em&gt; and permissions for better security, leverage &lt;em&gt;AWS Secrets Manager _or _Parameter Store&lt;/em&gt; to securely store sensitive information)  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; &lt;strong&gt;streamlit application&lt;/strong&gt; (develop your Streamlit application as you normally would, utilizing &lt;em&gt;Streamlit widgets&lt;/em&gt; to interact with your application and display relevant information)  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; &lt;strong&gt;testing and deployment&lt;/strong&gt; (test your application locally to ensure everything is working as expected)  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;📝&lt;/code&gt; &lt;strong&gt;monitoring and logging&lt;/strong&gt; (use &lt;em&gt;CloudWatch&lt;/em&gt; or other relevant AWS services)  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Utilizing AWS GenAI Services in a Streamlit App
&lt;/h2&gt;

&lt;p&gt;Generative AI, a subset of artificial intelligence, empowers applications to create new content, such as images, text, or even entire narratives, by learning patterns from existing data. Integrating Generative AI services into a Streamlit app adds a creative and dynamic dimension to user interactions. Whether generating text, images, or other forms of content, these services open up innovative possibilities for enhancing user engagement.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can AWS GenAI Services be incorporated into a Streamlit app?
&lt;/h3&gt;

&lt;p&gt;Integrating GenAI services into your Streamlit applications can elevate user experiences and provide advanced functionality. Whether it's image recognition, natural language processing, data visualization, or voice interactions, GenAI services can empower your applications with intelligence and automation. As shown in the examples below, these services can help streamline processes, increase user engagement, and make your Streamlit apps more competitive in today's tech landscape.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Image Recognition with GenAI Vision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GenAI Vision is a powerful service that can recognize objects, scenes, and text in images. Let's say you're building an e-commerce application that allows users to upload product images. You can enhance this functionality by integrating GenAI Vision to automatically identify and tag objects within the images.&lt;/p&gt;

&lt;p&gt;In the example above, GenAI Vision has identified and tagged objects in an uploaded image, making it easier for users to categorize and search for products.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Natural Language Processing with GenAI Language&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GenAI Language can be a valuable addition to Streamlit applications that involve text analysis or generation. Imagine you're creating a sentiment analysis tool for social media posts. By incorporating GenAI Language, you can provide more accurate sentiment analysis and even generate suggestions for improving text.&lt;/p&gt;

&lt;p&gt;In this example, GenAI Language has analyzed a user's tweet and provided sentiment analysis along with suggestions for a more positive tone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhancing Data Visualization with GenAI Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your Streamlit application deals with data visualization, GenAI Data can help improve the quality and appeal of your charts and graphs. Whether it's generating realistic data for testing or enhancing visualizations with intelligent data transformation, GenAI Data can save time and make your app more engaging. GenAI Data has transformed raw data into a visually appealing chart, making it easier for users to grasp the information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice Commands and Responses with GenAI Voice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Adding voice commands and responses to your Streamlit application can greatly enhance accessibility and user interaction. GenAI Voice can help create conversational interfaces, making your app more user-friendly.&lt;/p&gt;

&lt;p&gt;In this example, a Streamlit application uses GenAI Voice to respond to voice commands, providing a hands-free and convenient experience for users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits and Limitations
&lt;/h2&gt;

&lt;p&gt;Using Streamlit in combination with AWS GenAI Services provides several benefits, particularly when compared to more comprehensive solutions like AWS Amplify. Here are some of the major advantages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ease of Use and Rapid Prototyping&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; It is incredibly user-friendly for data scientists and developers who are more comfortable with Python. Streamlit allows for rapid prototyping; you can create a working prototype with interactive features quickly.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; While Amplify provides a full-stack development environment, it has a steeper learning curve, especially for those who are not as familiar with JavaScript or full-stack development practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexibility and Customization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; It offers a high degree of flexibility, allowing developers to integrate various Python libraries and AWS services as needed. You can tailor your app specifically to your data visualization and processing needs.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; Amplify is opinionated in its approach and is designed to work well within the AWS ecosystem. This can sometimes limit customization options, particularly for complex or unique backend requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Efficiency&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; Running Streamlit on an AWS instance incurs the cost of the instance itself. However, there are no additional charges for the Streamlit framework, which can be a cost-efficient solution for lightweight applications.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; Amplify has a pricing model that includes costs for backend services, hosting, and other features. While it offers a free tier, costs can grow as your application scales or as you use more of the Amplify suite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python-Centric Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; Ideal for Python developers, Streamlit is a natural choice for teams that are already invested in Python for data science and analytics.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; Amplify is more focused on JavaScript/TypeScript and the broader AWS service ecosystem, which can be a barrier for Python-centric teams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration with AWS Services&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; While not as tightly integrated as Amplify, Streamlit can still easily connect to AWS services, including GenAI. This is especially powerful when leveraging AWS's machine learning services for data-intensive applications.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; Amplify is designed to work seamlessly with AWS services, offering built-in components and CLI tools to connect to AWS backends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community and Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; It has a growing community, especially among data scientists. The support for data-centric operations is strong, with many resources available.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; Amplify is backed by AWS and has extensive documentation and community support, including first-party support from AWS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment and Hosting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Streamlit:&lt;/em&gt;&lt;/strong&gt; Can be deployed on various AWS services such as EC2, Elastic Beanstalk, or even a container service like ECS or EKS, giving developers flexibility in their deployment strategy.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;AWS Amplify:&lt;/em&gt;&lt;/strong&gt; The deployment is tightly integrated with the AWS ecosystem, which might be more straightforward but also ties your deployment closely to AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While this blog has delved into the theory behind Streamlit, showcasing its benefits, and how it seamlessly integrates with services such as AWS GenAI, the true value of Streamlit is best appreciated through practical application. In my next blog post, I will guide you through a hands-on example that I’ve been crafting. Stay tuned for our next adventure, where we'll put theory into practice and witness the alchemy of Streamlit in action. Until then, may your data be insightful, and your coding journey be smooth.&lt;/p&gt;

</description>
      <category>streamlit</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
