App Details
Understand what’s going on under the hood of the Winning Variant Snowflake Native App.
Application roles
The following application roles are created and can be assigned to your own roles to manage access and usage of various Winning Variant features:
Role | Description | Access |
---|---|---|
admin | Administrator | An admin can do everything! |
analyst | Experimentation analyst | SELECT on all tables in the experimentation and consumption schemas as well as run stored procedures related to output data. |
editor | Winning variant resource editor | Inherits analyst , can use the Configuration UI, and can run all stored procedures for resource management. |
scientist | For users needing to read/write assignments. | Can access experimentation.assignments table and experimentation.create_assignment function. |
proxy | Reverse proxy for Variant API | Usage on Variant API service endpoint. This role is designed specifically for a reverse proxy sitting in front of the Variant API. |
wvusage | For users needing limited access to aggregated usage data. | Can SELECT from experimentation.assignments_per_day and experimentation.assignments_per_experiment . |
Account-level Assets
A few assets are created on the account automatically and used internally by the app.
Type | Name | Description | Auto-suspend |
---|---|---|---|
Compute Pool | <APP>_pool | Single-node CPU_X64_XS compute pool shared across all services. | 1 hour |
Warehouse | <APP>_primary | Single-node XSMALL warehouse shared by all services. | 5 minutes |
The admin
role is granted MODIFY
on all assets to adjust sizing, if necessary.
Warehouse utilization
The <APP>_primary
warehouse has two primary uses:
- Resource management, the Configuration UI, and other internal tasks. These are infrequent and generally only consume resources when an asset is created/modified.
- The Variant API service for serving/setting experiment assignments. This is so assignment creation/lookups are not hindered by other internal tasks. Configuration updates are pushed to this service in real time, but by default, this service will refresh its configuration from tables every 6 hours, which will cause the warehouse to wake up even if the service isn’t being used.
For business-critical use cases, we suggest increasing the auto-suspend for the warehouse so it’s readily available when assignment requests come in:
Snowpark Container Services
Winning Variant creates various services inside of the app, including:
Configuration UI
Your experimentation interface! See your application details or contact your Winning Variant team for your specific URL.
Variant API
The API used to get and make assignments (for experiments outside of Snowflake). Read more here. See your application details or contact your Winning Variant team for your specific URL.
Snowflake does not allow public internet access to any Snowpark Container Service. In order to allow applications, websites, etc. outside of Snowflake to use the Variant API, you must set up a reverse proxy that has access.