Autoscaling on Edge Site for GSP

Learn how to effectively deploy autoscaling in your infrastructure to optimize resource utilization and handle fluctuations in workload more efficiently.

Updated at January 20th, 2026

Introduction

Vionlabs Cloud Processing is an advanced video analysis system that automatically extracts metadata, features, and insights from your video catalog. The system deploys directly into your Google Cloud environment, ensuring data security while providing enterprise-grade scalability and cost efficiency.

Key Benefits

  • Cost-Efficient - Pay only for actual processing time, with automatic scale-to-zero when idle
  • Fully Automated - No manual intervention required for scaling or resource management
  • Secure - Runs entirely within your Google Cloud VPC, with no external data exposure
  • Rapid Deployment - Get up and running in under an hour
  • Scalable - From single videos to millions, the system adapts automatically

How It Works

System Architecture

Vionlabs Cloud Processing uses Google Cloud Instance Group Manager and Scaler to create an elastic, on-demand processing infrastructure that automatically responds to your workload.

Idle State

When there's no processing to do, the system maintains zero VM instances. 

Active Processing

When processing jobs arrive:

  • Vionlabs Cloud submits jobs to your GCP Pub/Sub queues
  • The system calculates required compute resources
  • VM instances launch automatically (within 2-3 minutes)
  • Each instance processes videos from your GCS bucket
  • Results are stored in your output GCS bucket and then automatically transferred to Vionlabs side for further processing and results creation
  • When complete, VM instances automatically terminate

Everything is automated - you never need to manually start or stop instances.

Processing Worker Groups

The system organizes processing into three specialized worker groups, each with independent scaling:

Batch Group

Purpose: Regular feature extraction processing for your video catalog

Typical Scale: 5-50 instances

Use Case: Bulk processing, catalog analysis, scheduled jobs

Jitclip Group

Purpose: On-demand thumbnail and preview clip generation

Typical Scale: 1-5 instances

Use Case: On-demand preview generation, user-triggered requests

GPU Group

Purpose: GPU accelerated feature extraction processing for your video catalog

Typical Scale: 1-5 instances

Use Case: Bulk processing, catalog analysis, scheduled jobs

This separation ensures that high-volume batch processing doesn't interfere with responsive preview generation, and vice versa. Each group scales independently based on its workload.

Deployment Process

Getting started with Vionlabs Cloud Processing is straightforward:

Step 1

Share Your GCP Details

Provide your Google Service Account email for terraform apply to Vionlabs support. This allows us to share the processing VM images with your account.

Step 2

Receive Deployment Package

Vionlabs sends you a .zip package containing Terraform scripts, configuration templates, and documentation, along with the VM image names and Vionlabs backend GSA.

Step 3

Configure

Fill in a simple configuration file with your GCP details (location, zone, credentials, deployment prefix, and VM image names). Set your desired maximum instance counts for each worker group.

Step 4

Deploy with Terraform

Run terraform apply to create all GCP infrastructure (Instance Group Manager and Scaler for each group, GCS buckets, Pub/Sub queues, VM GSA, IAMs, etc.). Deployment takes approximately 10 minutes.

Step 5

Grant Input Bucket Access

Grant VM GSA Read-Only permissions to allow the processing instances to read videos from your input GCS bucket. Instructions can be found in the README.

Done!

System Ready

Send Terraform outputs to Vionlabs for final cloud-side configuration. Once confirmed, you're ready to process videos!

Technical Features

Intelligent Auto-Scaling

The system continuously monitors workload and automatically adjusts compute resources:

  • Scales from 0 to your configured maximum
  • Responds to workload within 2-3 minutes
  • Automatically terminates idle instances
  • No manual intervention required

Monitoring & Observability

Gain real-time visibility into your processing infrastructure:

  • Capacity Metrics - Current, desired, and max instance counts
  • Queue Depth - Number of jobs waiting to be processed
  • System Health - Instance lifecycle and processing status

Maintenance Mode

A built-in system recovery mechanism for troubleshooting or updates:

  • Gracefully terminates all processing
  • Drains job queues
  • Returns system to known clean state
  • Useful for VM image updates or issue resolution

Security & Compliance

  • Data stays in your account - Videos and extracted thumbnails/video clips never leave your GCP environment
  • VPC isolation - Processing runs within your private network
  • IAM-based access control - Principle of least privilege
  • Encryption at rest and in transit - GCS provided

Infrastructure Components

The Terraform deployment creates the following GCP resources in your account:

Component

Purpose

Instance Group Manager and Scaler

Three groups (batch, jitclip and gpu) manage VM instances lifecycle

GCS Buckets

Store processed outputs and extracted thumbnails/clips

Subscriptions

Distribute processing jobs and collect metrics/events

Topics

Enable job submission and event notification

IAM Roles

Grant processing instances access to GCS, Pub/Sub, GAR

Note: Your input GCS bucket (where video files are stored) is not created by the deployment. You'll grant the processing system read-only access to your existing bucket via IAM policy.

Getting Started

Prerequisites

Before deployment, ensure you have:

  • GCP Account with administrative privileges
  • Input GCS Bucket containing videos to process
  • Terraform v1.13.2 or later installed locally

Next Steps

  • Contact Vionlabs support to initiate onboarding
  • Review the README.txt in the deployment package for detailed technical instructions
  • Prepare your GCP environment (VPC, subnet, credentials)
  • Plan your scale (how many max instances for each worker group)

Support & Resources

Documentation

  • README.txt - Complete technical deployment guide (included in package)
  • Configuration Templates - Sample .tfvars.tpl file (included in package)

Vionlabs Support

Our team is here to help with:

  • Deployment assistance and troubleshooting
  • Configuration optimization
  • Scaling recommendations
  • AMI updates and maintenance