Pantheon - GCP

Google Cloud Run provides a full scale-to-zero computing environment and low runtime costs. But that comes at the expense of longer startup time and limited ingress points. Warecorp set out to discover if Drupal and WordPress could run inside of a Google Cloud Run instance and also enable developer access in spite of limited ingress.

Challenges

Shared File System

Required to host user-uploaded content.

Platform Limitations

Had to manage only a single port for ingress (Port 80) and timeout limits for long sessions.

Development Environment

Local development and complicated setup.

Technology Used

Google Cloud Run

A Scale-to-Zero solution with low-runtime costs.

wstunnel

A package that allowed secure tunneling of SSL content through the lone open port (Port 80).

Solution

Warecorp researched alternative methods of ingress to allow developers to be able to use their standard toolchain. As Google Cloud Run exposes only a single port, a tunneling method was needed to wrap standard SSH traffic.

Results

After trying several technical approaches to either enable SSH traffic or tunnel SSH through HTTP, wstunnel was selected to redirect SSH traffic. While this requires additional installations and configurations on the part of the end user, an SSH tunnel via HTTP over port 80 was achieved.
This model – utilizing a CMS system embedded in a Google Cloud Run instance – is viable for a carefully selected subset of Pantheon’s customers. For example, it’s a good fit for high traffic sites that are mature and stable that want to control costs.