AWS Lambda에서 Typescript를 쓰는 이유 처음 서버리스를 개발하게 되면 생소함에서 오는 어려움을 마주하게 된다. lambda 함수로 전달되는 이벤트나 반환 타입을 모르는데 어떻게 개발할 수 있을까? 이때 자바스크립트로 개발 시에는 함수 인자에 대한 아무런 정보를 받을 수 없다. 이래서 타입스크립트를 도입하는 편이 좋다. 타입스크립트로 lambda 함수를 작성하면 lambda 함수에 대한 타입 정보를 제공해준다. 여기에 더해 타입스크립트 기반으로 Serverless Framework를 사용하면 serverless.yml 파일 대신 serverless.ts를 사용할 수 있다. yml 파일의 경우 정적 파일이라 오타로 인해 시간을 낭비하거나 동적으로 값을 생성하기 어려운 반면 ts를 사용하면 이..
서버리스
포스팅에서 다룰 주제는 간단하게 'hello, [닉네임]' 을 출력하는 API를 작성하기입니다. 살펴보기 이번에는 지난번과 달리 sls create 명령어로 프로젝트를 생성해볼게요. aws-nodejs 템플릿을 hello-api-js라는 프로젝트명을 지정합니다. 이 프로젝트는 --path 에 적힌 디렉터리에 다운로드됩니다. 대화형으로 프로젝트를 만들 때와는 다른 점이 몇 가지 있습니다. 일단 README.md 파일이 없네요. serverless.yml 파일을 살펴보면 기본 스펙 외에도 주석처리로 다양한 내용이 적혀있습니다. 이를 참고해서 서버리스 스택을 생성할 때 참고하시면 됩니다. handler.js는 내용에 변화가 없어 보이네요. serverless.yml 수정 일단 serverless.yml 파일부..
서버리스 모델인 AWS lambda를 사용해보겠습니다. Hello World를 출력하는 예제를 만들어볼겁니다. 저는 편의상 Node.js를 사용했습니다. 그러나 AWS lambda는 프레임워크나 언어에 종속되지 않아요. 이 서비스를 사용해보겠다고 새로운 언어를 배울 필요가 없으니 편하신 방법대로 사용하시면 됩니다. 설치 Node.js 패키지 매니징 도구인 npm을 사용해서 serverless를 설치할 수 있습니다. npm install -g serverless 설치가 되었다면 serverless 명령으로 서버리스 프레임워크 도구를 제어할 수 있어요. serverless라고 풀네임 적기 어렵다면 축약된 sls로도 명령어가 먹힌다고 합니다. 프로젝트 생성 아무런 인자없이 serverless라고 입력해볼까요?..
서버리스(Serverless) , 서버가 없다고???!!! 미리 말하지만 서버리스는 서버가 없는게 아니다. 정확히는 서버를 신경쓸 필요가 없는 것이다. 사용자가 서버를 직접 관리하지 않아도 되는 모델이 바로 서버리스다. 클라우드 컴퓨팅이 들어오면서 IaaS/PaaS를 많이들 쓰고 있을 것이다. 물리적인 서버를 회사 한 구석에 몰아넣고 관리하는 것도 여간 힘든 일이 아니다. Amazon AWS를 활용하면 모니터링도 간편하지. 요금도 오히려 절감되고 여러 장점들이 많다. 기존 모델도 충분히 사용하기 괜찮지만 몇가지 단점이 존재한다. 첫째는 요금. 사용한 만큼만 낸다는게 장점인데 그것도 더 줄일 수 없을까?? 서버 3대를 빌리면 사용자가 적어도 그것에 대한 요금은 결제를 할 수 밖에 없다. 사용자가 없는 것도..