App Engine 표준 환경에는 2세대의 런타임 환경이 있습니다. 2세대 런타임은 App Engine의 기능을 크게 향상시키고 1세대 런타임의 일부 한계를 없애줍니다. 이 페이지에서는 1세대 런타임과 2세대 런타임의 유사점과 차이점을 설명합니다.
2세대 | 1세대 | |
---|---|---|
지원 언어 |
Python 3 자바 11+ Node.js PHP 7/8 Ruby Go 1.12+ |
Python 2.7 자바 8 PHP 5.5 Go 1.11 |
언어 확장 프로그램 및 시스템 라이브러리 지원 | 모든 확장 프로그램 또는 라이브러리 | Python 2.7, PHP 5.5: 허용 목록을 사용하는 확장 프로그램 및 라이브러리 자바 8, Go 1.11: 확장 프로그램 또는 라이브러리 |
지원되는 API |
모든 기능을 갖춘 Google Cloud 서비스에 액세스하려면 오픈소스 Cloud 클라이언트 라이브러리를 사용하세요. Python 3, 자바 11 이상 또는 Go 1.12 이상 런타임으로 업데이트할 때 여러 App Engine 번들 서비스를 계속 사용할 수 있습니다. 자세한 내용은 Python 3, 자바 11 이상 및 Go 1.12 이상 가이드를 참조하세요. |
Cloud 클라이언트 라이브러리 및 App Engine 번들 서비스 |
대용량 blob 파일 스토리지의 경우 Cloud Storage를 사용하거나 App Engine Blobstore API 번들 서비스를 계속 사용합니다. |
App Engine Blobstore API | |
데이터 지속성의 경우 Datastore 모드의 Firestore 및 관계형 스토리지에 Cloud SQL을 사용합니다. 또는 App Engine Datastore API 번들 서비스를 계속 사용할 수 있습니다. |
App Engine Datastore API | |
지연된 태스크를 실행하려면 Deferred API(Python), DeferredTask API(자바), Delay API(Go)를 계속 사용합니다. PHP 사용자는 Task Queues API 번들 서비스를 통해 지연된 실행을 계속 지정할 수 있습니다.
또는 Cloud Tasks를 사용하여 지연 기능을 구현할 수 있습니다. |
App Engine Deferred API | |
이미지를 처리할 때는 Cloud Storage를 사용하여 이미지를 직접 제공하거나 타사 콘텐츠 전송 네트워크(CDN) 또는 이미지 처리 라이브러리를 사용할 수 있습니다.
또는 App Engine Images API 번들 서비스를 계속 사용할 수 있습니다. |
App Engine Images API | |
인바운드 또는 아웃바운드 메시징의 경우 App Engine Mail API 번들 서비스를 계속 사용합니다. 또는 아웃바운드 메시징의 경우 SendGrid, Mailgun 또는 Mailjet과 같은 타사 메일 제공업체를 이용할 수 있습니다. 현재 인바운드 메시지에 권장되는 타사 대안은 사용할 수 없습니다. |
App Engine Mail API | |
앱 데이터를 캐싱하려는 경우 Memorystore 인스턴스를 만들고 서버리스 VPC 액세스를 사용하여 인스턴스를 앱에 연결합니다. 또는 App Engine Memcache API 번들 서비스를 계속 사용합니다. | App Engine Memcache API | |
검색 가능한 문서 색인의 경우 Compute Engine에서의 Elasticsearch와 같은 전체 텍스트 검색 데이터베이스를 호스팅하고 서비스에서 이 데이터베이스에 액세스합니다. Google Cloud Marketplace는 또한 SaaS 기반 Elasticsearch 서비스를 제공합니다. 또는 App Engine Search API 번들 서비스를 계속 사용합니다. | App Engine Search API | |
외부 태스크를 실행하려면 push 및 pull 큐의 App Engine Task Queues API 번들 서비스를 사용하거나 push 큐를 Cloud Tasks로 마이그레이션합니다. 그리고 큐를 Pub/Sub로 가져옵니다. |
App Engine Task Queue API | |
사용자 인증의 경우 App Engine Users API 번들 서비스를 계속 사용하거나 사용자 인증 옵션에 설명된 인증 서비스로 마이그레이션합니다. | App Engine Users API | |
외부 네트워크 액세스 | 전체 액세스 | Python 2.7, PHP 5.5: URL Fetch API를 통해 자바 8, Go 1.11: 전체 액세스 |
파일 시스템 액세스 | /tmp 에 대한 읽기/쓰기 액세스 |
Python 2.7, PHP 5.5: 없음 자바 8, Go 1.11: /tmp 에 대한 읽기/쓰기 액세스 |
언어 런타임 | 수정되지 않은 오픈소스 런타임 | App Engine용으로 수정됨 |
격리 메커니즘 | gVisor 기반 컨테이너 샌드박스 | gVisor 기반 컨테이너 샌드박스 |
App Engine 1세대 런타임 지원
App Engine 1세대 런타임 지원이 종료되었습니다. Google에서는 지원이 종료된 런타임 환경의 구성요소에 더 이상 보안 업데이트나 패치를 적용하지 않습니다.
1세대 런타임 지원 요금제에 대한 자세한 내용은 기존 런타임 지원 및 런타임 수명 주기를 참조하세요.
1세대 런타임과 2세대 런타임의 유사점
- 트래픽 급증에 대응하기 위해 거의 즉각적으로 확장
- 애플리케이션이 동일한 빌드 프로세스를 사용하여 빌드됨
- GA 서비스의 SLA가 동일함
- 동일한
gcloud
명령 지원 및 동일한 GCP Console 인터페이스 - 무료 등급
1세대와 2세대 런타임 마이그레이션 리소스
마이그레이션 가이드는 장기적 지원 페이지에서 각 언어 런타임에 대해 사용할 수 있습니다.