[2023 AWS re:Invent] Build without limits: The next-generation developer experience at AWS

세션명

Build without limits: The next-generation developer experience at AWS
(제한 없는 구축: AWS의 차세대 개발자 경험)

강연자

Doug Clauson, Ali Spittel, Cynthya Peranandam, Adam Seligman, Massimo Re Ferre

핵심 내용 요약
  • Amazon CodeWhisperer의 맞춤형 코드 제안, CLI 자동 완성, 자연 언어를 통한 코드 생성 등의 기능을 통해 개발 속도 향상
  • Amazon Q를 Console, IDE, CodeWhisperer, CodeCatalyst 등 다양한 플랫폼 및 서비스와 통합하여 설계, 코드 작성, 테스트, 배포 및 운영, 유지 보수, 고도화 등 개발 주기 전체에 걸쳐 모범 사례 기반 가이드를 제공받고 업무를 자동화하여 개발 효율성 향상
  • Amazon CodeCatalyst를 통해 모범 사례가 내장되어 있는 사전 통합된 개발 환경을 제공 받아 소프트웨어를 빠르게 구축하여 개발 프로세스 간소화 및 효율화 가능
  • AWS Amplify를 통해 프론트엔드 개발자가 친숙한 코드를 베이스로 백엔드, 인프라 등을 쉽고 빠르게 구성 후 프론트엔드 및 비즈니스 로직에 집중할 수 있어 풀 스택 웹 및 앱을 빠르게 구축 가능
세션 키워드
  1. Amazon CodeWhisperer
  2. Amazon Q
  3. AWS Application Composer in VS Code
  4. Amazon CodeCatalyst
  5. AWS Amplify
세션 요약자

베스핀글로벌 MSP본부 DevOps실 이규민 님

PartyRock : an Amazon Bedrock Playground

  • Generative AI 애플리케이션 구축 및 기술을 체험
  • no code로 앱을 구축하고 바로 publish하여 공유 가능

Amazon CodeWhisperer

  • 인라인 프롬프트를 기반으로 실시간 코딩 제안 생성
  • 17년 간의 Amazon 모범 사례 및 문서 학습으로 인해 AWS 리소스와 관련된 높은 품질의 코드 제안 생성
  • 개인 개발자에게는 무료로 제공

Amazon CodeWhisperer customization capability

  • SDK, API, 라이브러리, 패키지를 포함하여 개발하고 있는 코드에 대한 맞춤형 제안 가능
  • 사용자 정의를 활용하면 약 28% 정도 개발 속도 향상

Amazon CodeWhisperer for command-line

  • CLI는 소프트웨어 개발에서 필수적이나, 사용법이 어려워 많은 시간이 소요됨
  • CLI 자동 완성 및 AI를 통해 자연언어를 CLI로 변환하는 기능으로 개발 속도 향상
  • 기존의 CLI툴에 통합하여 사용 가능

Amazon Q

  • 코드를 작성하는 것 뿐만이 아닌, 개발 주기 전체에 걸쳐 가이드를 제공할 수 있는 생성형 AI
  • 회사 내부 데이터 및 코드를 활용한 개인화된 가이드 제공 가능
  • AWS Console, document, IDE 등 다양한 곳에서 사용 가능

Amazon Q in the AWS Console

  • Console에서 바로 채팅을 통해 질문할 수 있음
  • 아키텍처 솔루션 설계, 리소스에 대한 참고 링크, Well-Architected 지침 등에 대한 도움을 받을 수 있음
  • 특정 상황에서 수행해야하는 작업에 대한 지침을 바로 받아 볼 수 있어, 방대한 AWS 인프라에 대해 사전 학습에 필요한 시간을 단축 가능

Amazon Q in IDE with CodeWhisperer

  • 코드베이스에 대한 질문이 가능해 방대한 양의 코드를 빠르게 분석하고 이해하는데 도움
  • AWS API, 모범 사례, 테스트 생성 등과 같은 다양한 작업이 가능

Amazon Q feature development capability

  • 기능에 대한 분석, 계획, 다수의 파일, 많은 코드 수정 등 새로운 기능을 개발 할 때 발생할 수 있는 많은 문제를 해결하고자 함
  • 자연언어로 지시하여 몇 분만에 새로운 애플리케이션 기능을 생성 가능
  • 현재는 Code catalyst에서 preview로 제공, 추후 IDE에서도 preview로 제공 예정

AWS Application Composer in VS Code

  • Visual Serverless 코드 작성기로 Drag&Drop을 통해 코드를 연결하고 업데이트하여 전체 기능을 구성 가능
  • Amazon Q를 통해 제안 받은 모범 사례를 코드에 바로 삽입하여 적용 가능
  • 서버리스 어플리케이션을 작성하고 구축하는 혁신적인 방법

Amazon Q trouble-shooting capability

  • 서비스를 운영하고 테스트하는데 도움을 줄 수 있는 도구
  • AWS에서 발생하는 다양한 오류를 진단하고 맞춤형 단계별 지침을 제공하여 문제를 빠르게 해결하도록 도움

Amazon Q Code Transformation

  • 라이브러리, 프레임워크 업데이트 및 마이그레이션 등 의존성과 위험성이 높은 작업을 자동으로 분석 및 변환하여 짧은 시간 안에 수행할 수 있도록 도움
  • 애플리케이션 언어 업데이트 등 레거시 코드를 최신 코드로 변환 가능 
  • 1,000개의 Java 프로덕션 애플리케이션을 이틀 안에 성공적으로 업데이트 할 정도로 빠르고 안정적임

Amazon CodeCatalyst

  • DevOps 개발자가 사일로 없는 최적의 환경에서 작업할 수 있도록 모범사례가 내장되어 있는 사전 통합된 환경을 제공
  • AWS 애플리케이션 구축을 위한 소프트웨어 개발 프로세스를 간소화 할 수 있는 통합 플랫폼
  • 코드 관리, 프로젝트 협업, 빌드 및 테스트, 배포 등 개발 프로세스의 모든 부분에 대한 사전 통합된 도구를 제공
  • 모범 사례를 기반으로 빠르게 전체 프로세스를 파악하고 구성할 수 있어 개발 시간 단축

Amazon CodeCatalyst Custom Blueprints

  • 구축을 원하는 애플리케이션 유형을 선택하면 미리 정의되어 있는 Blueprint를 통해 계획, 테스트, 구축에 필요한 모든 것을 자동으로 생성
  • 개인 및 사용자 지정 Blueprint는 물론, Blueprint를 변경할 때 프로젝트를 동기화하는 기능도 제공
  • Blueprint는 정적인 템플릿이 아닌 TypeScript 어플리케이션으로 강력한 기능과 유연성을 제공합니다.

Amazon Q in CodeCatalyst

  • Catalyst 코드에서 Amazon Q에 작업을 할당하여 자동으로 작업을 분석 및 실행 가능
  • Q를 활용하여 Pull Request의 코멘트를 요약하고, 기존 Pull Request의 모든 코멘트를 요약하여 모든 활동을 볼 수 있음
  • Q는 코드와 요청자의 의도를 분석하여 새로운 기능을 구축할 방법을 제시하고 요청자와의 상호작용을 통해 요청 받은 일을 자동으로 수행

AWS Amplify

  • 프론트엔드 개발자가 백엔드 및 AWS 서비스의 기능을 활용하면서 프론트엔드 개발에 집중 할 수 있도록 풀 스택 웹 및 모바일 앱을 구축하는데 필요한 모든 기능을 제공
  • 클라우드 연결 UI 기능, 푸시 알림, 호스팅, CI/CD 파이프라인 등 다양한 기능을 제공하여 프론트엔드 및 비즈니스 로직에 집중 가능

  • 프론트엔드 개발자가 풀 스택 개발을 가속화 할 수 있도록 Typescript와 Javascript로 구성
  • 개발자는 인프라가 아닌 코드에 집중 가능
  • 코드 작업 만으로 클라우드 리소스를 구성하여 프로비저닝, 구성 및 배포를 간편하게 수행
  • CodeWhisperer와 Q를 함께 사용하면 자연언어를 통해 백엔드 기능을 구성 가능
  • 코드 수정을 통해 앱과 백엔드, 인프라를 즉시 업데이트 가능

Bespin’s Comment

  1. Generative AI를 기반으로하는 Amazon Q를 다양한 서비스와 통합하여 자동화 및 효율화를 할 수 있음을 알 수 있었습니다.
  2. CodeCatalyst를 통해 모범사례를 기반으로 하는 사전 통합된 환경에서 프로젝트를 시작하면 개발 및 DevOps 운영에 많은 안정성과 효율화를 가져 올 수 있음을 알게 되었습니다.
  3. Amplify를 통해 프론트엔드 개발자도 백엔드와 인프라 구성에 대한 부담감 없이 빠르게 풀스택 웹 및 앱을 런칭할 수 있게 되었습니다.

Written by 이 규민 / Gyumin Lee

Cloud Engineer