Google Cloud에서 Rails 실행

Google Cloud에서 실행되는 Ruby on Rails 앱 개발을 간편하게 시작할 수 있습니다. 개발한 앱은 모든 Google 제품과 동일한 인프라에서 실행되기 때문에 사용자 수에 관계없이 모든 사용자에게 서비스를 제공하도록 확장할 수 있습니다.

호스팅 플랫폼

다음 3가지 기본 옵션으로 Rails를 Google Cloud에 배포할 수 있습니다.

Rails 배포 옵션 원하는 경우 사용 필요한 경우 사용 안 함 시작하기
App Engine 가변형 환경
  • 거의 모든 App Engine 이점 제공
  • 시스템 라이브러리와 이를 사용하는 RubyGems
  • 커스텀 Docker 런타임
기본 가상 머신을 완벽하게 제어 App Engine 가변형 환경의 Rails
Google Kubernetes Engine(GKE)
  • 마이크로서비스 환경의 Rails 컨테이너
  • 자체 컨테이너 기반 플랫폼 설계용 도구
모든 기능을 갖춘 Platform as a Service(PaaS). 컨테이너 기반 PaaS의 경우 App Engine 가변형 환경을 사용합니다. GKE의 Rails
Compute Engine
  • VM을 사용하는 익숙한 Infrastructure as a Service(IaaS)
  • Windows 및 Linux VM 모두 지원
자체 인프라를 구성할 필요가 없는 서버리스 환경 Compute Engine의 Rails

데이터베이스

관계형 데이터베이스

Rails Active Record는 기존 SQL Database에서 가장 잘 작동합니다. 새 프로젝트를 시작하는 경우 Cloud SQL을 선택하는 것이 좋습니다. 직접 관리하지 않아도 클릭 몇 번만으로 Google이 완전 관리 및 확장해주는 MySQL 또는 PostgreSQL 데이터베이스를 만들 수 있습니다. Rails 5로 MySQL용 Cloud SQL 사용 가이드 또는 Rails 5로 PostgreSQL용 Cloud SQL 사용 가이드를 참조하세요.

NoSQL 데이터베이스

대부분의 경우 데이터 모델의 확장성 또는 적합성과 같은 이유로 인해 NoSQL 데이터베이스를 사용합니다. Rails 모델을 NoSQL 데이터베이스와 함께 사용하는 것은 어려울 수 있지만 몇 가지 제한사항을 두면 가능합니다. 예를 들어 Rails에는 다양한 유형의 데이터베이스 조인을 표시할 수 있지만 Datastore나 기타 NoSQL 데이터베이스(예: MongoDB)에서는 지원되지 않습니다. Datastore를 비관계형 데이터베이스로 사용하는 Datastore를 사용한 Rails Bookshelf 가이드에서 자세히 알아보세요. 확장성이 뛰어난 관리형 NoSQL 솔루션의 경우, SQL 솔루션보다 확장성이 우수한 비관계형 데이터베이스인 Datastore를 사용하세요.

MongoDB를 사용하려는 경우 Google Cloud Marketplace를 사용하여 배포한 후 직접 관리하거나 mLab에서 제공되는 관리형 MongoDB 호스팅 서비스를 사용할 수 있습니다.

캐시

Google Cloud Marketplace를 사용하여 Compute Engine에 Memcached를 설치할 수 있습니다. Memcached Docker 이미지를 사용하여 Compute Engine 또는 GKE에 Memcached를 설치할 수 있습니다. 이와 마찬가지로 Google Cloud Marketplace 또는 Redis Docker 이미지를 사용하여 Redis를 설치할 수도 있습니다.