Amazon Web Services 한국 블로그
AWS Cloud9 정식 출시 – 클라우드 기반 통합 개발 환경(IDE)
프로그래밍을 시작할 때 무엇보다 개발 도구가 중요합니다. 단순히 메모장으로는 할 수 없고, 다양한 기능을 가진 코드 편집기와 테스트 파이프라인이 개발 생산성을 높입니다. 처음에 Vim을 배우고 시스템과 복잡한 프로그램을 번갈아 사용할 수 있었던 것이 아직도 기억납니다. 당시 새 PC에 컴파일러와 종속 라이브러리를 설치하는 데, 얼마나 많은 시간이 걸렸는지 기억합니다. 각각 버전을 맞추고, 신규 개발자가 프로젝트에 합류하도록 문서를 작성하는 데 많은 노력을 쏟기도 합니다.
이런 문제를 해결하기 위해, 오늘 웹 브라우저에서 코드 작성, 실행 및 디버깅 모두를 가능케 하는 통합 개발 환경(IDE)인 AWS Cloud9을 출시합니다. Cloud9은 주요 프로그래밍 언어(Javascript, Python, PHP, etc.)에 대한 필수 개발 도구을 미리 배포됩니다. 따라서, 다양한 컴파일러와 도구 체인을 직접 다룰 필요가 없습니다.
Cloud9은 또한 서버리스 애플리케이션 작업을 위한 완벽한 환경을 제공하므로 로컬 및 원격 테스팅 또는 디버깅을 빠르게 전환할 수 있습니다. 인기 오픈 소스인 Ace Editor와 c9.io IDE(작년에 도입)를 기반으로 하는 AWS Cloud9은 매우 강력한 페어 프로그래밍 기능을 통해 협업 클라우드 개발을 손쉽게 하도록 설계되었습니다. 이 글에서 다루기에는 기능이 너무나 많지만, IDE에서 필요한 3가지 요소인 코드 편집, AWS 통합, 그리고 협업 기능에 대해 소개합니다.
코드 편집
Cloud9 기능의 핵심인 Ace Editor를 통해 코드를 빠르고 쉽게 작성할 수 있습니다. 한 가지를 잘하자는 UNIX의 철학을 따르는데, 바로 소스 코드 작성입니다.
여러분이 예상하는 일반적인 IDE 기능을 모두 갖추고 있습니다. 실시간 구문 확인, 자동 들여쓰기, 자동 완료, 코드 폴딩, 분할 창, 버전 제어 통합, 다중 커서 및 선택 등입니다. 특히, 대규모 파일(10만 개 이상 행) 로딩도 빠릅니다. 입력 시 랙이나 다른 문제가 없습니다. 20개 이상의 테마가 내장되어 있어 Sublime Text나 TextMate에서 좋아하는 모든 테마를 가져올 수 있습니다. 40개 이상의 언어 모드와 프로젝트에 대해 사용자 지정이 가능한 실행 구성이 내장되어 있습니다. 그리고, 무엇보다 중요한 것은 Vim 모드가 있다는 것으로 (또는 손가락만 잘 움직인다면 emacs 가용 가능) 원하는 대로 편집기를 움직이도록 하는 키 결합 편집기도 있습니다.
편집기는 강력한 키보드 탐색과 명령을 지원합니다(Sublime Text 또는 ctrlp와 같은 vim 플러그인과 유사). Mac에서 ⌘+P를 통해
퍼지 검색을 사용하여 환경에서 모든 파일을 열 수 있습니다. 포함 ⌘+.
이름 입력을 통해 모든 편집기 명령을 호출하도록 할 수 있는 명령 창을 열 수 있습니다. 창에서 명령에 대한 키 결합이 표시되어 유용합니다. 예를 들어 다음을 누르면 터미널을 열 수 있습니다. ⌥+T
. 참, 터미널이 있다는 얘기를 했나요? 리소스 액세스에 대한 AWS CLI 사전 구성에 포함되어 있습니다.
또한 환경에는 자주 사용되는 여러 언어에 대한 사전 설치된 디버깅 도구가 포함됩니다. 하지만 이미 설치된 것만 사용하도록 제한된 것은 아닙니다. 새 프로그램을 추가하고 새로운 실행 구성을 정의하기 쉽습니다.
AWS 서비스와의 통합
AWS Cloud9 IDE는 최초의 IDE로 진정한 “클라우드 네이티브”입니다. 서비스는 추가 요금 없이 제공되며, 기본 컴퓨팅 및 스토리지 리소스에 대한 요금만 지불하면 됩니다. 개발 환경을 생성하면, 인스턴스 유형 및 자동 최대 절전 시간, 또는 선택하는 머신에 대한 SSH 액세스에 대한 설정 정보가 표시됩니다.
AWS에서 실행 중인 경우, 자동 최대 절전 기능을 통해 IDE 사용을 중단하는 즉시 인스턴스를 중단합니다. 개발자 데스크탑을 실행하는 데 비해 비용 절감이 매우 클 수 있습니다. 또한, VPC 내에서 이를 시작하여 클라우드 내부 개발 리소스에 대한 안전한 접근을 제공할 수 있습니다. AWS 외부 또는 기존 인스턴스에서 Cloud9을 실행하고자 하는 경우 서비스에 대한 SSH 액세스를 제공하여 외부 머신에 환경을 생성할 수 있습니다. AWS 계정에 대한 안전한 자동 액세스를 통해 환경이 프로비저닝되므로 자격 증명 (키페어) 복사 문제를 걱정할 필요가 없습니다. 다시 한 번 말씀 드리지만 어디서나 개발 환경을 실행할 수 있습니다.
AWS Cloud9을 통한 서버리스 개발
그동안 Twitch에서 서버리스 애플리케이션 개발에 대한 라이브 코딩을 많이 진행했는데, 배포한 Lambda 함수와 API가 수백 개는 됩니다. Cloud9은 이러한 모든 함수를 통한 작업을 정말 유쾌하게 만듭니다. 어떻게 그렇게 되는지 보여드리겠습니다.
편집기의 오른쪽 상단을 보면 [AWS Resources] 탭이 보입니다. 이를 열면 리전의 모든 Lambda 함수를 볼 수 있습니다(AWS 기본 설정 창에서 리전 기본 설정을 조정하면 다른 리전의 함수를 볼 수 있습니다).
두 번 클릭하면 이러한 원격 함수를 로컬 작업 영역으로 가져올 수 있습니다. 이를 통해 서버리스 애플리케이션의 편집, 테스트 및 디버그를 모두 로컬에서 수행할 수 있습니다.
새로운 애플리케이션 및 함수 또한 손쉽게 만들 수 있습니다. 창 오른쪽 상단에 있는 Lambda 아이콘을 클릭하면 새로운 Lambda 함수를 생성하라는 메시지가 표시되고, Cloud9이 자동으로 Serverless Application Model 템플릿을 생성합니다.
IDE에는 사전 설치된 인기 SAM 로컬 도구에 대한 지원이 포함됩니다. 제 로컬 테스팅 및 서버리스 개발에서 가장 많이 사용하는 것입니다. 터미널이 있기 때문에 추가 도구를 설치하고 기타 서버리스 프레임워크를 사용하기 쉽습니다.
AWS CodeStar에서 환경 시작
AWS CodeStar를 통해 AWS 개발을 위한 엔드 포인트간 간 지속적 배포(CI/CD)을 프로비저닝할 수 있습니다. Codestar는 AWS CodeCommit, CodeBuild, CodePipeline 및 CodeDeploy 서비스 제품군을 사용한 애플리케이션 빌드, 테스팅, 배포 및 관리에 대한 통합 환경을 제공합니다.
이제 클릭 몇 번만으로 Cloud9 환경을 프로비저닝하여 애플리케이션을 개발할 수 있습니다. 환경은 이미 체크아웃된 CodeStar 애플리케이션과 이미 구성된 git 자격 증명에 대한 코드로 사전 구성됩니다.
동료들과 이 환경을 손쉽게 공유할 수 있고, 이를 통해 또 다른 유용한 기능 세트 사용으로도 이어집니다.
동료와 협업 기능
다른 편집기와 차별화되는 AWS Cloud9의 여러 특성 중 하나가 풍부한 협업 도구입니다. 클릭 몇 번만으로 IAM 사용자를 환경으로 초대할 수 있습니다.
어떤 파일을 작업 중인지, 커서가 어디에 있는지를 볼 수 있고, 터미널을 공유할 수도 있습니다. 채팅 기능 또한 유용합니다.
알아야 할 것들
- 기본 컴퓨팅 및 스토리지를 제외하고 이 서비스에 대한 추가 요금은 없습니다.
- c9.io는 계속해서 기존 사용자를 대상으로 실행됩니다. c9.io의 모든 기능을 계속 사용할 수 있고, 팀 계정이 있다면 새로운 팀 구성원을 추가할 수 있습니다. 향후에는 c9.io 작업 영역에서 AWS Cloud9로의 손쉬운 마이그레이션을 위한 도구를 제공할 예정입니다.
- AWS Cloud9은 미국 서부(오레곤), 미국 동부(오하이오), 미국 동부(버지니아 북부), EU(아일랜드), 아시아 태평양(싱가포르) 리전에서 사용할 수 있습니다.
AWS Cloud9을 사용하여 여러분이 개발한 것을 보고 싶습니다!
– Randall;
이 글은 AWS re:Invent 2017의 신규 서비스로서 AWS Cloud9 – Cloud Developer Environments 의 한국어 번역입니다.