Jets로 2분 만에 서버리스 Ruby 앱 구축

4813 단어 rubytutorialaws
표지 이미지: Man Holding Ice Cream Cone Under Cloud by Rakicevic Nenad

"서버리스"애플리케이션, 즉 서버 구성이 다른 사람의 문제인 애플리케이션을 구축하기 위한 여러 가지 도구가 있습니다. 개발자는 비즈니스 로직을 작성하기만 하면 AWS, Netlify 또는 Google의 엔지니어가 지루한 인프라 관련 작업에 대해 걱정할 수 있습니다.

적어도 그것은 아이디어입니다.

오늘날 서버리스 애플리케이션을 구축하기 위한 가장 인기 있는 도구는 아마도 서버리스 프레임워크일 것입니다. JavaScript로 애플리케이션을 빌드하려는 경우 훌륭한 도구입니다.

그러나 최근에는 다른 언어로도 서버리스 애플리케이션을 작성하는 것이 더 쉬워졌습니다!

특히 Ruby로 소프트웨어를 구축하는 데 관심이 있어서 Jets 프레임워크를 주시하고 있습니다. Jets의 약 98%는 Tung Nguyen이라는 내 친구의 작업입니다(그는 훌륭합니다).

Tung은 Ruby를 사랑하는 AWS 전문가입니다. 그는 Ruby를 사용하여 AWS로 구동되는 서버리스 애플리케이션을 구축하기 위한 인터페이스로 Jets를 구축하기로 결정했습니다. 그것이 당신을 위해 얼마나 많은 일을 할 수 있는지는 꽤 멋집니다.

If you want to know more about Tung, he talked about his career on my podcast 🎙



이 튜토리얼에서는 가장 기본적인 앱을 빌드할 것입니다. 글쎄, "Hello, world!"하지만 아주 간단한 것.

이 자습서에서는 RubyBundler이 설치되어 있다고 가정합니다.

이것은 Jets의 자동화에 대한 깊이 있는 탐구이며 완성된 제품은 집에 쓸 것이 없지만 Jets가 Rails와 같은 코드 생성으로 프로토타입을 얼마나 쉽게 도울 수 있는지에 대한 아이디어를 제공할 것입니다.

첫 번째 단계는 쉽습니다. 제트기 설치:

gem install jets

터미널에 Successfully installed jets-2.0.4 또는 이와 유사한 항목이 표시되기를 바랍니다.

이제 Jets에 애플리케이션 생성을 요청합니다!

jets new example_app

이것은 상용구 코드가 있는 디렉토리를 뱉어내야 합니다.

cd example_app
ls -A



.babelrc         .git             .rspec           README.md        config           package.json
.env             .gitignore       Gemfile          Rakefile         config.ru        public
.env.development .jetskeep        Gemfile.lock     app              db               spec
.env.test        .postcssrc.yml   Procfile         bin              node_modules     yarn.lock

이제 Jets에 애플리케이션용 코드를 생성하도록 요청할 수 있습니다.

jets generate scaffold post title:string

다음과 같은 내용이 표시되어야 합니다.

INFO: You're missing AWS credentials. Only local services are currently available
      invoke  active_record
      create    db/migrate/20190814012442_create_posts.rb
      create    app/models/post.rb
      invoke  resource_route
       route    resources :posts
      invoke  scaffold_controller
      create    app/controllers/posts_controller.rb
      invoke    erb
      create      app/views/posts
      create      app/views/posts/index.html.erb
      create      app/views/posts/edit.html.erb
      create      app/views/posts/show.html.erb
      create      app/views/posts/new.html.erb
      create      app/views/posts/_form.html.erb
      invoke    helper
      create      app/helpers/posts_helper.rb

AWS 자격 증명에 대해 너무 걱정하지 마십시오. 이 장난감 앱을 AWS에 배포하지 않을 것입니다(AWS 설정을 수행하려는 경우 이 앱을 배포하는 것은 전적으로 가능합니다).

이제 Jets에 데이터베이스를 가동하도록 요청해야 합니다.

jets db:create db:migrate

이렇게 하면 데이터베이스가 생성되고 스캐폴드에서 생성된 마이그레이션이 실행됩니다.

이 시점에서 서버를 시작하면 posts 리소스와 상호 작용할 수 있어야 합니다.

jets server
localhost:8888/posts로 이동하면 다음 UI가 표시됩니다.


New Post 링크를 클릭하면 새 Post 리소스를 생성할 수 있습니다.

이 시점에서 해당 리소스에 대해 기본 CRUD 작업을 수행할 수 있습니다.



이것이 로컬 Jets 애플리케이션을 구축하는 데 필요한 전부입니다. 향후 자습서에서는 각 Ruby 파일이 AWS 기능에 매핑되는 방법과 진정한 서버리스 Ruby 애플리케이션을 위해 애플리케이션을 AWS에 배포하는 방법에 대해 설명하겠습니다.

그 동안 project on GitHub을 확인하고 몇 가지 PR로 Tung out을 도와주세요. 🤠

좋은 웹페이지 즐겨찾기