Realm 오브젝트 서버 배포

어느 클라우드 서비스 제공 업체에서나 쉽게 Realm 오브젝트 서버를 시작할 수 있습니다. 단 몇 분만에 실시간 기능을 갖춘 강력하고 새로운 앱을 만들 수 있습니다.

Amazon EC2에 배포

Amazon EC2를 위한 Ubuntu 16.04 기반의 공개 AMI를 제공합니다. Paravirtual과 HVM의 차이점은 AWS 가이드에서 볼 수 있습니다.

  Paravirtual HVM
ap-northeast-1 (Tokyo) |  
eu-west-1 (Ireland) |  
us-east-1 (N. Virginia) |  

다른 Amazon EC2 AMI와 마찬가지로 이들 AMI를 시작할 수 있습니다. 22/TCP (ssh) 포트와 9080/TCP (대시보드와 클라이언트 액세스) 포트가 열려 있는지 확인하세요. 기본 SSH 사용자는 ubuntu 입니다.

Realm 오브젝트 서버를 설치했다면, RealmTasks 만들기를 진행하세요.

Digital Ocean에 배포

처음 시작하는 분이라면 Realm 오브젝트 서버를 설치하고 자신의 프로덕션 서버로 실행하기에 가장 빠른 방법이 아마 Digital Ocean을 선택하는 것일 겁니다. Digital Ocean을 이미 방문해서 계정을 만들었다는 가정 하에 다음 설명을 진행하겠습니다.

우상단의 Create droplet을 클릭해서 droplet을 만듭니다.

image distribution으로 Ubuntu를 선택합니다.

Digital Ocean select your image distribution section

프로젝트에 맞는 크기를 선택합니다. 가장 저렴한 droplet도 많은 수의 동시 사용자를 수용할 수 있고 개발이나 테스트에 적합합니다.

Digital Ocean choose a droplet size section

가장 가까운 데이터센터 지역을 선택하세요.

Digital Ocean choose a datacenter section

SSH를 추가합니다. Digital Ocean에서 SSH를 만들지 않았다면, 이 가이드를 따라서 설정하세요.

Digital Ocean add your SSH keys section

droplet을 식별할 수 있는 호스트 이름을 짓거나, 건너뛰고 “Create”를 클릭하세요.

Digital Ocean finalize and create section

droplet이 만들어질 때까지 기다립니다. 목록에 나타나면 사용할 준비가 다 됐습니다.

Digital Ocean droplets screen

IP 주소를 복사해서 저장해 두세요. Realm 오브젝트 서버와 앱을 통합할 때와 SSH로 서버와 통신하는데 필요합니다.

SSH를 통해 서버에 액세스하세요. 컴퓨터에서 터미널을 열고 ssh [email protected]<droplet-ip-address-here>를 입력합니다. 프롬프트에 yes를 입력하면 새 droplet에 로그인하게 됩니다.

Realm 오브젝트 서버를 설치합니다. root로 droplet에 로그인한 상태이므로 아래 Ubuntu 설치 명령어로 Realm 오브젝트 서버를 설치할 수 있습니다.

# Download the Realm Object Server repository from PackageCloud
curl -s https://packagecloud.io/install/repositories/realm/realm/script.deb.sh | sudo bash

# Update repositories
sudo apt-get update

# Install the Realm Object Server
sudo apt-get install realm-object-server-developer

# Enable and start the service
sudo systemctl enable realm-object-server
sudo systemctl start realm-object-server

설치가 잘 됐는지 확인해 보겠습니다. 웹 브라우저를 열고 http://<droplet-ip-address-here>:9080을 입력합니다. 잘 설치됐다면 아래와 같은 Realm 오브젝트 서버 설정 페이지를 볼 수 있습니다.

Realm Object Server setup page

관리자 계정을 설정합니다. 이제 Realm 오브젝트 서버를 모바일 앱에서 사용할 준비가 됐습니다. 웹 브라우저에 입력했던 URL을 참조하시면 됩니다.

Realm 오브젝트 서버를 설치했다면, RealmTasks 만들기를 진행하세요.

Microsoft Azure에 배포

Realm 플랫폼 개발자 에디션을 Microsoft의 Azure Marketplace에서 사용할 수 있습니다. Realm 플랫폼의 다른 에디션은 추후 사용 가능합니다.

Azure 계정으로 로그인하거나 새 계정을 만들거나 기존의 Microsoft 계정을 사용해서 로그인하세요. 로그인하면 Azure 대시보드가 보입니다.

연두색 “➕“를 눌러서 새로운 가상 머신을 생성하고 “Realm”을 검색합니다. “Realm Mobile Platform Developer Edition”을 선택하고 Create를 누릅니다. Click the green “➕” to create a new virtual machine, then search for “Realm.” You’ll find “Realm Mobile Platform Developer Edition.” Select it, then click Create. (기존 가상 네트워크와 통합하지 않는다면 배포 모델 세트를 Resource Manager 설정으로 놔두세요.) 이 시점에서 구독하지 않았다면 Microsoft Azure가 구독 추가 페이지를 보일 수도 있습니다. 무료 시험 버전을 사용하면 됩니다. (구독 가입을 하는 경우 Marketplace에서 Realm을 다시 추가하고 다음으로 진행해야 할 수도 있습니다.)

Azure New VM Dashboard

Realm을 배포하려면 Azure에서 다음 다섯 단계를 거쳐야 합니다.

  1. 기본 사항: 요구하는 필드에 따라 VM에 이름과 어드민 사용자를 부여합니다. (공개 SSH 키를 사용할 수도 있습니다.) “realm”과 같은 새 리소스 그룹을 생성하고 가까운 호스팅 위치를 선택하세요.
  2. 크기: 디스크 사이즈, CPU, 속도 등 VM을 위한 리소스를 선택합니다. Realm은 어떤 사이즈라도 사용할 수 있으나, 가장 작은 사이즈는 테스트나 부하가 작은 작업에 적합합니다.
  3. 설정: 이 곳의 기본 값을 모두 허용해야 합니다.
  4. 요약: 마음에 든다면 OK 를 누르세요.
  5. 구매: Microsoft가 VM에 부과할 비용과, Realm 플랫폼에 대한 비용이 무료라는 정보를 보여줍니다. Purchase 를 누르세요.

Azure가 Realm 플랫폼을 배포하는 동안 대시보드로 화면이 되돌아가서 상태가 업데이트됩니다. 몇 분 정도 걸릴 수 있습니다.

Realm 플랫폼이 실행되면 Azure 대시 보드에 표시된 “Public IP address”의 9080 포트에서 Realm 오브젝트 서버 대시 보드에 접근할 수 있습니다. (Azure와 Realm 오브젝트 서버, 두 개의 대시 보드 개념이 나오므로 혼란이 있지 않도록 주의하세요) 웹 브라우저를 열고 http://<azure-public-ip-address>:9080를 입력하면 Realm 오브젝트 서버 설정 페이지로 이동합니다.

Realm Object Server setup page

어드민 계정을 설정했다면, 이제 모바일 앱을 위한 Realm 오브젝트 서버 준비를 모두 끝났습니다. 웹 브라우저에 입력한 URL을 참조하세요.

Realm 오브젝트 서버를 설치했다면, RealmTasks 만들기를 진행하세요.

RealmTasks 만들기

The macOS version of RealmTasks

RealmTasks는 Realm 플랫폼에서 제공하는 간단한 태스크 매니저 앱으로 Realmac Software의 Clear에서 영감을 받았습니다. iOS, macOS, Android에서 사용할 수 있으며, 소스 코드는 Swift, Java, JavaScript (React Native), 크로스 플랫폼 C# (Xamarin)으로 각각 제공됩니다.

전체 소스 코드는 GitHub에서 볼 수 있습니다. iOS나 Android를 위한 앱을 만든다면 다음 튜토리얼을 확인하세요.

React Native와 Xamarin을 위한 튜토리얼을 준비 중이며, 직접 다운로드해서 만들어 볼 수 있습니다.

Mac을 사용한다면 macOS 번들을 통해 Realm 오브젝트 서버와 함께 macOS를 위해 미리 컴파일된 RealmTasks를 로컬에 설치할 수 있습니다.

다음 단계는?

이제부터는 RealmTasks와 유사한 iOS 앱 만들기 튜토리얼을 통해 처음부터 앱을 만들거나, Realm 오브젝트 서버 문서를 참고해서 이미 Realm 데이터베이스를 사용하고 있는 앱을 통합할 수 있습니다.

기존에 Realm을 사용해왔다면, 플랫폼을 고르고 문서를 확인할 수도 있습니다. 이 문서에서는 라이브 오브젝트나 자동 업데이트되는 쿼리, ORM으로부터의 해방 등 Realm 데이터베이스의 특장점을 확인할 수 있습니다.

이전에 Realm 데이터베이스를 사용하지 않았다면 플랫폼을 선택하고 문서를 확인해 보세요. 문서에서 강력한 라이브 오브젝트와 자동 업데이트 쿼리, ORM을 다시 사용하지 않아도 되는 해방감 등 우리 데이터베이스의 특장점을 확인하세요. 아니면 RealmTasks와 비슷한 iOS 앱을 만들기 위해 처음부터 튜토리얼을 따라갈 수도 있습니다.

Realm 플랫폼을 이미 잘 알고 있거나 Realm 오브젝트 서버 설치 문서에서 이동하셨다면 Realm 오브젝트 서버 문서를 바로 확인하세요.