AWS Lambda, Ruby 언어 공식 지원
프로그래밍 언어 루비(Ruby) 공식 지원을 발표

AWS 람다AWS Lambda는 아마존 웹 서비스에서 제공하는 서버리스 애플리케이션 실행 환경입니다. 현재까지 람다에서는 공식적으로 C#, 파워셸PowerShell, 고Go, 자바Java, 자바스크립트JavaScript, 파이썬Python 언어를 지원했습니다. 그리고 re:Invent 2018에서 루비Ruby 언어 지원이 공식적으로 추가되었습니다. 루비 사용자로서 더없이 반가운 소식합니다. 😎

공식적으로 2018년 11월 29일 릴리즈되었으며 서울 리전에서도 지금 바로 사용해볼 수 있습니다. 여기서는 간단한 루비 코드 예제를 람다 함수로 만들고 실행하는 방법을 소개하겠습니다.*

* 아래 에제를 실행하려면 IAM 액세스 키를 발급하고 AWS CLI 설정을 할 필요가 있습니다. 자세한 내용은 44bits의 아마존 웹 서비스 IAM 사용자의 액세스 키 발급 및 관리아마존 웹서비스 커맨드라인 인터페이스(AWS CLI) 기초 글을 참고해주세요.

먼저 작업 디렉터리를 하나 만들고 그 아래에 hello_world.rb 함수를 작성합니다.

람다에서는 greeting 함수를 실행합니다. 단순히 "Hello, world" 문자열을 반환하는 함수입니다. 이 코드를 hello_world.zip 파일로 압축합니다.

$ zip hello_world.zip hello_world.rb

lambda create-function 명령어로 람다 함수를 생성합니다.

$ aws lambda create-function \
  --function-name hello_ruby \
  --runtime ruby2.5 \
  --memory-size 128 \
  --handler hello_world.greeting \
  --role <ROLE_ARN> \
  --zip-file fileb://hello_world.zip

이걸로 루비로 작성한 람다 함수 준비를 모두 마쳤습니다. 곧바로 invoke 명령어를 통해 이 람다 함수를 실행해보겠습니다. 실행 결과는 output.txt에 저장됩니다.

$ aws lambda invoke --function-name hello_ruby output.txt
{
    "StatusCode": 200,
    "ExecutedVersion": "$LATEST"
}

output.txt의 내용을 출력해보면, greeting 함수의 반환값이 기록된 것을 확인할 수 있습니다.

$ cat output.txt
"Hello, world!"

좀 더 상세한 루비 코드 실행 예제는 AWS 공식 블로그의 글을 참고해주세요.

루비 공식 지원과 함께 커스텀 런터임 지원에 대한 발표도 있었습니다. 현재 awslabs 아래에 러스트RustC++ 런타임이 공개되어있고, 이를 사용하는 것이 가능합니다.

'AWS ECS로 시작하는 컨테이너 오케스트레이션' 대표 이미지

AWS ECS로 시작하는 컨테이너 오케스트레이션

🗒 기사, 2018-07-18 - 컨테이너는 격리된 환경에서 애플리케이션을 실행할 수 있도록 도와줍니다. 컨테이너를 프로덕션 환경에서 사용하기 위해서는 적절한 스케줄링과 관리를 위한 도구가 필요합니다. 이 글에서는 AWS에서 제공하는 매니지드 컨테이너 오케스트레이션 서비스인 ECS를 소개합니다.

AWS 몽고DB(MongoDB) 호환 아마존 도큐먼트DB(Amazon DocumentDB) 발표

🗞 새소식, 2019-01-10 - AWS에서는 RDS, 엘라스틱캐시, 다이나모DB, 넵튠, 레드시프트 등 다양한 데이터베이스를 서비스하고 있습니다. 다양한 데이터베이스를 지원하지만 아쉽게도 도큐먼트 데이터베이스가 없었는데, 1월 9일 몽고DB 호환 문서 데이터베이스인 아마존 도큐먼트DB를 발표했습니다.

개발자라면 탐나는 .dev 최상위 도메인 등록 시작

🗞 새소식, 2019-02-25 - 구글(Google)에서는 닷데브(.dev) 최상위 도메인을 공개했습니다. .dev 도메인은 개발과 관련된 사이트에서 많이 활용될 것으로 보이며, 2019년 2월 28일까지 사전 등록을 받고 있습니다.