이번에는 KT Cloud 에서 제공하는 Serverless 상품인 Coderun 에 대해서 알아본다.
1. KT Cloud serverless CodeRun
2022년 11월 KT Cloud 상품으로 출시된 Code Run 은 FaaS 상품으로, 프로그램 개발 시 복잡한 하부구조 구축이나 유지보수 환경을 직접 만드지 않고, 제공되는 함수를 활용하여 간편히 개발할 수 있는 플랫폼 서비스다. (https://tech.ktcloud.com/121) 24년 2월 현재는 프로모션 단계로 별도 비용 없이 사용 가능하나, 예고없이 사용이 중지 될 수 있다고 안내하고 있다.
최초 콘솔(https://cloud.kt.com/console) 에 로그인 후에 왼쪽 상단에서 플랫폼을 선택할 수 있다. 기존 CloudStack을 사용하는 경우 G1,G2 플랫폼을 선택할 수 있으며, 오픈스택 기반의 플랫폼인 D1의 경우 월 별 비용을 지불하고 사용할 수 있다. 추후에 D1 플랫폼에 대해서도 확인해보기로 하고 여기서는 G1,G2 플랫폼을 선택했다.
왼쪽 메뉴 구성에서 Serverless 상품 군 하위에, CodeRun / AppRun 상품을 확인할 수 있다. AWS와 마찬가지로 KT Cloud 또한 Serverless 라는 별도의 상품 그룹으로 배치하여, 더 전문적으로 서버리스 상품을 분류하고 있다.
CodeRun / AppRun 서비스를 선택하면 오른쪽에 위와 같은 화면이 표시 된다. 상품에 대하여 프로젝트라는 관리 그룹 개념이 존재하며, 이 프로젝트 하위에 CodeRun 상품과 AppRun 상품을 함께 관리할 수 있다. 이 글에서는 CodeRun 상품만을 확인해본다.
'test01' 이라는 이름의 프로젝트를 생성한 후 프로젝트 내부로 들어가면 다음과 같이 App Run 서비스와 Code Run 함수를 볼 수 있다. Code Run 함수를 생성해본다. 함수의 생성은 기본 정보의 저장과 소스 코드 확인의 2가지 step 으로 구성된다.
2. Function 서비스 생성을 위한 기본정보 입력
먼저 함수를 생성하기 위해 입력해야 하는 기본 정보 탭의 화면을 확인해본다. 입력 가능한 항목은 아래와 같다.
- 함수 이름 : 영문 소문자로 구성되며, 함수 이름에 따라 자동으로 함수의 URL이 정해진다.
- 인증 여부
- 세부 정보 :
- 메모리 : 개별 함수에 할당할 수 있는 최대 메모리
- 제한 시간 : 개별 함수에 허용 가능한 최대 시간. 이 시간을 초과하는 작업은 수행될 수 없다.
- 최대 인스턴스 수 : 사용량에 따라 증가할 수 있는 최대 함수의 수.
- 환경 변수 :
- 런타임 환경 변수 : 함수의 런타임 시점에서 사용할 수 있는 환경 변수
- 빌드 환경 변수 : 함수의 빌드 시점에서 사용할 수 있는 환경 변수
3. Function 서비스 생성을 소스 코드 편집
다음으로 소스코드를 편집할 수 있는 화면은 위와 같다. 이 화면에서 사용자는 함수의 런타임을 지정할 수 있으며, 소스코드를 가져올 수 있는 방법을 정할 수 있다.
먼저 런타임의 경우는 다음과 같다.
- Node.js : 12 / 14 / 16
- Python : 3.8 / 3.9 / 3.10
- Java 8
- Go 1.13 / 1.16 / 1.17
Node.js, Python 이외에도 컴파일 언어인 Java와 Go 런타임을 지원한다. AWS 의 Lambda와 달리 KT Cloud Code Run 에서는 Java와 Go런타임의 소스코드 편집 기능을 제공한다. (AWS Lambad의 경우 Jar파일을 업로드 하는 방식을 통해서만 Java 런타임을 사용할 수 있다.) 이러한 부분 외에도, 함수를 생성할 때 빌드 환경 변수를 정할 수 있다는 점으로 미우러, 내부적으로 사용자가 편집한 소스 코드를 빌드 해주는 빌드 엔진을 포함하고 있는 것을 알 수 있다.
각 런타임을 선택한 경우, 소스 코드 편집을 위한 텍스트 에디터 왼쪽에 계층 구조로 파일을 관리할 수 있는 파일 탐색기를 지원하고 있다. 특히 KT Cloud Code Run 은 각 런타임에 대하여 README.md 파일을 이용하여, 해당 런타임의 작성 방법을 가이드 해주고 있어, 사용자가 쉽게 코드를 작성할 수 있다.
소스코드를 작성한 후에는, 하단 '배포' 버튼을 클릭하여 함수를 생성하고 배포한다.
댓글