미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트
The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...
AWS Lambda는 Amazon 웹 서비스의 일부로 Amazon에서 제공하는 이벤트 중심의 서버리스 컴퓨팅 플랫폼으로, 이벤트에 응답하여 코드를 실행하고 필요한 모든 컴퓨팅 리소스를 자동으로 관리합니다. 2014년 11월에 도입되었습니다.
멋지게 들리나요? 루비 개발자에게는 그렇지 않았습니다. 2018년 11월 29일까지만 해도 루비는 서버리스 혁명을 시작하기 위해 지원되지 않았습니다. 하지만 Jets가 등장하면서 모든 것이 바뀌었습니다.
루비 온 제트 공식 웹사이트의 자랑스러운 문구처럼 말입니다:
"루비 온 제트를 사용하면 서버리스 서비스를 쉽게 생성 및 배포하고, 가장 아름다운 동적 언어를 사용하여 AWS 서비스를 원활하게 결합할 수 있습니다: 루비입니다. 여기에는 API를 빌드하고 AWS Lambda에 배포하는 데 필요한 모든 것이 포함되어 있습니다. Jets는 루비의 강력한 기능을 활용하여 모두에게 서버리스의 즐거움을 선사합니다."
실제로, 특히 레일즈나 시나트라를 사용해 본 경험이 있는 사람이라면 Jets로 작업하는 것이 비교적 쉽고 즐겁습니다.
이를 증명하기 위해 이 글에서는 간단한 서버리스 애플리케이션을 구축해 보겠습니다.
준비되셨나요?
이제 아주 간단한 Jets 앱을 만들어 보겠습니다. 이렇게 하면 경로, 컨트롤러, 액션을 생성하는 방법과 AWS Lambda에 배포하는 방법에 대한 몇 가지 기본 정보를 얻을 수 있습니다. 간단하고 쉽게 만들기 위해 임의의 척 노리스 농담을 반환하는 엔드포인트 하나만 사용하겠습니다.
먼저 Jets gem을 전 세계에 설치해 보겠습니다. 콘솔에서 다음과 같이 입력합니다:
그런 다음 새 제트기를 만듭니다. 프로젝트 와 함께:
(-mode api 및 -no-database 옵션은 필요하지 않으며, 여기서는 데이터베이스나 뷰가 필요하지 않으므로 설치 속도를 조금 높일 뿐입니다.)
이제 척 노리스-조크 디렉터리에서 실행합니다:
입력 localhost:8888
브라우저에 다음과 같은 내용이 표시될 것입니다:
이렇게 표시된다면 모든 작업을 올바르게 수행한 것입니다!
이제 첫 번째 Jets 컨트롤러를 만들려고 합니다.
콘솔 유형에서:
이렇게 하면 하나의 액션인 create가 포함된 JokesController가 생성됩니다. 기본적으로 Jets는 액션에 대해 "get" 유형 경로를 생성하므로 이를 수정해야 합니다.
In routes.rb 파일 변경 "농담/창작" 받기 에 '농담'을 게시합니다: "jokes#create".
척 노리스에 대한 정보를 가져오려면 신원 미상 API에 전화를 걸어야 합니다. 그런 다음 가져온 농담이 포함된 json으로 응답합니다.
이 작업을 로컬에서 실행하여 예상한 응답을 받는지 테스트할 수 있습니다. 이제 로컬 서버에 POST 요청을 보내려면 curl
.
(주의: 서버가 계속 실행 중인지 확인하세요).
적절한 정책이 적용되는 AWS 계정이 있다면(공식 Jets 문서에서 찾을 수 있음), 마지막으로 실행하기만 하면 됩니다:
이렇게 하면 애플리케이션이 AWS에 업로드됩니다.
배포가 완료되면 API 게이트웨이 엔드포인트가 제공됩니다(대부분 콘솔의 마지막 줄에 위치할 가능성이 높습니다).
이제 드디어 배포한 앱을 테스트할 차례입니다!
curl을 다시 사용하여 이 작업을 수행할 수 있지만, 이제 로컬호스트를 API 게이트웨이 엔드포인트로 대체할 수 있습니다.
여기까지입니다! 루비 온 제트와 서버리스 월드에 대해 간략하게 살펴보는 시간이 즐거우셨기를 바랍니다.
자세히 읽어보세요: