Django 시작하기

GCP에서 실행되는 Django 앱 개발은 쉽게 시작할 수 있습니다. 개발한 앱은 모든 Google 제품과 동일한 인프라에서 실행되므로 사용자 수에 관계없이 모든 사용자에게 제공할 수 있도록 확장될 것을 확신할 수 있습니다.

호스팅 플랫폼

다음 네 가지 기본 옵션으로 Django를 GCP에 배포할 수 있습니다.

Django 배포 옵션 원하는 경우 사용 필요한 경우 사용 안함 시작하기
App Engine 표준 환경
  • 최소 구성
  • 서버 유지 관리 불필요
  • 손쉬운 확장성
  • Python 3
  • 시스템 라이브러리를 App Engine 표준 Python 환경에서 사용할 수 없음
App Engine 표준 환경의 Django
App Engine 가변형 환경
  • App Engine의 이점 대부분 제공
  • 시스템 라이브러리와 그에 따라 달라지는 Python 라이브러리
  • 커스텀 Docker 런타임
  • 전체 VM 제어(애플리케이션의 Docker 컨테이너 외부)
App Engine 가변형 환경의 Django
Google Kubernetes Engine
  • 마이크로 서비스 환경의 Django 컨테이너
  • 자체 컨테이너 기반 플랫폼 설계용 도구
  • 모든 기능을 갖춘 서비스로서의 플랫폼. 컨테이너 기반 PaaS의 경우 가변형 환경 고려
GKE의 Django
Compute Engine
  • VM을 사용하는 익숙한 서비스로서의 인프라
  • Windows VM
  • 자체 인프라를 구성할 필요가 없는 서버리스 환경
Google Cloud Platform Marketplace의 Django

데이터베이스

Django 객체 관계형 매퍼(ORM)는 기존 SQL 데이터베이스에서 가장 잘 작동합니다. 새 프로젝트를 시작하는 경우 Cloud SQL을 선택하는 것이 좋습니다. 클릭 몇 번으로 Google에서 관리 및 확장하는 MySQL 또는 PostgreSQL 데이터베이스를 만들 수 있습니다.

Compute Engine 또는 다른 서비스에서 직접 관리하려는 경우 다른 SQL 데이터베이스를 사용할 수도 있습니다.

경우에 따라 데이터 모델에 대한 확장성 또는 적합성과 같이 NoSQL 데이터베이스를 사용해야 하는 강력한 이유가 있습니다. Django ORM을 NoSQL 데이터베이스와 함께 사용하는 것이 어려울 수 있지만 몇 가지 제한사항을 두면 가능합니다. 예를 들어 Django에서 많은 유형의 데이터베이스 조인을 표현할 수 있지만 Cloud Datastore 및 기타 NoSQL 데이터베이스(예; MongoDB)에서는 지원되지 않습니다.

한 가지 가능한 방법은 데이터 유형마다 서로 다른 데이터베이스를 사용하도록 SQL과 NoSQL을 혼합하여 사용하는 것입니다.

확장성이 뛰어난 관리형 NoSQL 솔루션의 경우, SQL 솔루션보다 확장성이 뛰어난 비관계형 데이터베이스인 Cloud Datastore를 고려하세요.

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

Django ORM을 NoSQL 솔루션과 함께 사용하는 방법으로 오랫동안 Django non-rel이 가장 많이 사용되었지만 이 프로젝트는 기본 줄이 최신 상태로 유지되지 못한 Django의 포크입니다. Djangae라는 새로운 프로젝트가 등장했습니다. 이는 Django를 포크하지 않고도 Cloud Datastore에 Django ORM 백엔드를 제공합니다. Djangae는 매우 유망해 보이지만 App Engine에서 Django를 실행하기 위해 공식적으로 지원되는 방식이 아닙니다.

캐시

App Engine은 기본 제공 Memcached 서비스와 함께 제공됩니다. GCP Marketplace를 사용하여 Compute Engine에 Memcached를 설치할 수 있습니다. Compute Engine 또는 GKE에 Memcached를 설치하려면 Memcached Docker 이미지를 사용하세요. 이와 유사하게 GCP Marketplace 또는 Redis Docker 이미지를 사용하여 Redis를 설치할 수 있습니다.

작업 대기열

App Engine은 장기 실행 백그라운드 작업을 위해 작업 대기열 기능이 기본 제공됩니다. App Engine 외부의 경우 확장성이 뛰어난 Cloud Pub/Sub 서비스를 고려하세요. 이 서비스는 Python용 Cloud Pub/Sub 작업 대기열(psq)을 사용하여 작업 대기열로 변환할 수 있습니다.

GCP Marketplace에서 사용 가능한 다른 인기 있는 작업 대기열 옵션에는 RabbitMQKafka가 있습니다. RabbitMQ 및 Kafka용 Docker 이미지도 있습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...