자바스크립트와 Zeit로 서버리스 함수 만들기

서버리스 아키텍처는 최근에 많은 인기를 얻고 있는 개발 패러다임입니다. 이러한 아키텍처는 서버를 유지하고 관리하는 번거로움을 줄여주며, 코드 실행에 필요한 리소스를 자동으로 확장해줍니다. 자바스크립트와 Zeit를 함께 사용하여 서버리스 함수를 만들어보는 방법을 알아보겠습니다.

Zeit란?

Zeit는 서버리스 애플리케이션을 배포하고 관리하는 데 사용되는 플랫폼입니다. Zeit를 사용하여 자바스크립트로 작성된 코드를 실행하는 서버리스 함수를 배포할 수 있습니다. Zeit은 코드의 변경 사항을 자동으로 감지하고 새로운 버전으로 업데이트해줍니다.

서버리스 함수 작성하기

먼저 Zeit CLI(Command Line Interface)를 설치해야 합니다. CLI를 사용하여 프로젝트를 설정하고 함수를 배포할 수 있습니다. 아래의 명령어를 사용하여 CLI를 설치합니다.

npm install -g now

이제 다음과 같은 자바스크립트 함수를 작성해보겠습니다.

module.exports = async (req, res) => {
  const name = req.query.name || 'World';
  res.status(200).send(`Hello, ${name}!`);
};

위의 코드는 요청 쿼리 파라미터에서 이름을 가져와서 “Hello, {name}!” 메시지를 반환하는 간단한 함수입니다.

함수 배포하기

이제 작성한 함수를 Zeit로 배포해보겠습니다. 다음과 같이 CLI를 사용하여 함수를 배포할 수 있습니다.

now

위의 명령어를 실행하면 CLI가 작성한 함수를 패키징하고 Zeit 플랫폼에 배포합니다. 배포가 완료되면 CLI는 배포된 함수의 URL을 표시해줍니다.

함수 테스트하기

작성한 함수가 정상적으로 배포되었다면, 해당 URL로 요청을 보내서 함수가 제대로 작동하는지 테스트해볼 수 있습니다. 웹 브라우저나 curl 명령어 등을 사용하여 요청을 보낼 수 있습니다.

예를 들어, 함수가 “Hello, World!”라는 메시지를 반환하도록 작성되었고, 함수가 배포된 URL이 https://my-function.now.sh라고 가정하면 웹 브라우저에서 https://my-function.now.sh?name=John을 열면 “Hello, John!”라는 메시지가 표시됩니다.

결론

이제 자바스크립트와 Zeit를 함께 사용하여 간단한 서버리스 함수를 만들고 배포하는 방법을 알아보았습니다. 서버리스 아키텍처를 사용하면 개발자는 서버 관리에 신경 쓰지 않고도 코드를 실행할 수 있습니다. 자세한 내용은 Zeit 공식 문서를 참조하시기 바랍니다.

#javascript #serverless