Tech News

AWS wants Amazon Q to be your companion for the entire software development lifecycle

At its re:Invent conference, AWS today announced a series of updates to Q Developer, its assistant coding platform that competes with the likes of GitHub Copilot. Here the focus is on going beyond code completion and helping developers with a wide range of routine tasks involved in the end-to-end software life cycle.

The service, which you may remember under its previous name of ‘CodeWhisperer,’ is part of AWS’s Amazon Q generative AI platform, which also includes Q Business (and is getting a bunch of updates today).

“What developers need is that they want Q to be a companion to solving some of the heavy lifting so they have more freedom to innovate,” Swaminathan ‘Swami’ Sivasubramanian, AWS’ VP of AI and Data, told me. . “That’s why having an assistant – or a friend – to help them do things quickly, in an organized way, is very important, and that’s why we focus on it.”

End-to-end software life cycle management

Sivasubramanian told me that he believes what sets Q Developer apart from competing platforms is its focus on the entire software development lifecycle. Until now that meant helping developers troubleshoot and perform multi-step tasks to fix them (or build new apps entirely), as well as scanning code for security vulnerabilities.

In this re:Invent, the company takes this step further. Q now, for example, can automatically generate unit tests, for example. But perhaps more importantly, it can now do the one thing most developers hate: write and maintain documentation of that code. To complete this cycle, Q can now generate initial code reviews when developers test their code.

“At Amazon, we have this rule that no code is ever tested without a code review,” Sivasubramanian said. “So if you don’t do code reviews, you can’t test the code. But not many businesses have enough senior engineers to update or the senior engineer says: ‘I can’t handle so many updates. Can someone start a review before we do that?’ Q will simplify the code review process by being the first line of review and take care of automatically testing code quality, security vulnerabilities and more.”

Then, when code is generated, Q’s new operational agent can now automatically pull data from AWS CloudWatch, the company’s monitoring service, and immediately start investigating when an alarm goes off. “It uses the [knowlege it has about an] organization’s AWS services and then filter hundreds of data points across the services that reside in CloudWatch. Then, after analyzing it, Q comes up with possible ideas for the cause and guides users on how to fix it,” explains Sivasubramanian.

What you wanted for Christmas was help with your Cobol and .NET migration, right?

For those businesses with legacy code, transitioning to the cloud often involves rewriting much of their existing code. One of the first distinguishing features of Amazon Q Developer was its code conversion agent. At that time, the purpose of this agent was to moderate old Java applications. Today, the team is expanding this by helping developers upgrade their legacy .NET-based applications from Windows to Linux.

And while this may at first seem like a curiosity, AWS is also introducing an agent to modernize COBOL mainframe applications. Many large enterprises still rely on this old code, after all, few developers know how to work with it today. This is a very complex migration, Sivasubramanian emphasized, so the goal here is not to simply translate existing code 1:1.

“Our goal is not just to love the COBOL project fully, to release the code,” he said. “The truth is, these projects are extremely complex. You need to have someone who can implement it, but I’ve heard clients say, ‘Hey, this is taking years and clients have clearly told us that this is a game changer and they’re going to give up that timeline a lot.

Sivasubramanian noted that while there is little COBOL code to train the models to automate code migration, the team was able to use AWS’s extensive experience in modernizing mainframe applications, as well as traditional code translation methods.

“Taking code from one language to another is arguably the easy part,” he said. “But the hard part is: how do you know you got it right? And how do you know what the code is doing? Then there is a challenge in these [codebases] are often poorly written and dependencies are poorly understood. So what we’ve built is extremely innovative, too [the system] and you understand, at the project level, what the goals of each module are, then plan and create a timeline for planning the migration to generate the code, then generate the test – and bring people into the loop to see how you’re doing and verify.”


Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button