Cloud Trial Managed Instances

Trial Managed Instances (aka PoC) are private, dedicated Sourcegraph instances provisioned and managed by Sourcegraph - more. The purpose is to provide free of charge Managed Instances for future customers for a trial period (default is 30 days).

All processes are the same as for paid Managed Instances (for paying customers):

Difference from paid instances

The difference from paid Managed Instances:

  1. During the trial period, Sourcegraph is covering all the infrastructure and licence costs.
  2. Trial Managed Instances have the GCP label instance-type=trial, which allows to filter them.
  3. Trial Managed Instances are monitored for trial expiration period (default 30 days). When a Trial Managed Instance expires, the instance requestor has to decide to:

Request Trial Managed Instance

Trial Managed Instance Issue Template

Only for trials requested from signup:

Trial managed instance request issue from signup

New Trial Managed Instance create SLA (since 27th of September 2022)

SLA for trial Managed Instance creation

Architecture

Managed Instance architecture

Trial Managed Instances sizes

Trial managed instances default to small and reasonable defaults (see issue template):

SizeVirtual MachineCloudSQL instance
smalln2-highmem-4db-custom-1-4096

Technical details

Monitoring Trial Managed Instances

Trial Managed Instance are automatically checked daily for expired trials. If Trial Managed Instance period exceeded 30 days, it will notify Cloud Team on Slack channel #cloud-notifications. Cloud Team will notify instance requestor and ask for choosing one of the options:

End of trial

After 30 days of trial, the Growth Team (DRI Malo Marrec) will be responsible for making sure one of the three following next step is triggered, after consultation with the account owner (if any):

  • extend trial managed instance
  • convert trial to paid customer
  • teardown the managed instance

Picking one of those three next steps is due with 5 days after the end of the 30 day trial period. In the future, this process will be automated.

Extend Trial Managed Instance

When trial expires and should be extended (by default 30 days), the instance requestor will create Managed Instance Trial Extend Github issue. Cloud Team will add trialAdditionalDays to customer config.yaml to ensure extended trial period is monitored.

Convert trial to paying customer

When a customer has decided to sign the deal, the instance requestor will create a Managed Instance Convert Trial to Paid Github issue. This is important so that the doesn’t get terminated after a time period as a trial instance would, and for cost attribution to trial vs production instances. Once the issue is raised, the Cloud Team will:

  • cd deploy-sourcegraph-managed/CUSTOMER
  • modify GCP label ’instanceType: production’ in config.yaml
  • follow modify GCP customer label

Requesting to change the subdomain

Self-serve trial instances that come inbound through www.signup.sourcegraph.com and are prequalified have a random subdomain (eg. xyz.sourcegraph.com). Upon conversion (or potentially earlier), you can request to change the domain name to a vanity subdomain (eg. acme-corp.sourcegraph.com). To do so, raise a Change cloud instance subdomain request.

Note that changing the subdomain will require the admin to:

  • reconfigure the auth provider (if using SSO). Auth will be broken until they do that.
  • reconfigure the auth provider (if using permission syncing). Repository syncing will be broken until they do that.
  • reconfigure webhooks if they’ve set those up.
  • it will also break all hardcoded links to their sourcegraph instance
  • cause some brief downtime

Be sure to set expectations with the site admin ahead of raising the issue and indicate the configuration steps required.

Teardown Trial Managed Instance

When trial expires and customer do not wish to sign the deal, instance requestor will open Teardown Managed Instance request

Trial Managed Instance creation flow

  1. New trial managed instance request issue is open by CE or Growth Team (DRI Malo Marrec)

  2. Based on the time of issue creation:

    • Within Cloud Team working hours (Monday to Friday - - )
      • GitHub integration will send alert to the “cloud-trial-creator” Opsgenie route.
      • This alert will notify Cloud Team member, who should Acknowledge the alert and proceed to p.3.
      • In order to distinguish trial request alerts from regular production alerts, we configured the GitHub integration to always include a unique string 979574e0-39be-11ed-a261-0242ac120002 in the alert message, and trial alerts are being filtered out in our catch-all Slack integration (which sents all alerts to #opsgenie). This technique also helps us set up different on-call routing for trial request alerts and production alerts within the Cloud team.
    • Outside of Cloud Team working hours
      • Cloud Team will receive new Trial Managed Instance request via email and on-call person should proceed to p.3 withing 1 working day
  3. Create Trial Managed Instance

    Trial Managed Instance should be created according to the Managed Instance create process.

    Important:

    • Instance type should be trial
    • Instance size should be small
    • Customer name has to be max 10 characters (GCP project name limit - sourcegraph-managed-SLUG cannot execeed 30 characters). If customer SLUG has more characters:
      • set customer endpoint to SLUG.sourcegraph.com
      • set customer with SLUG trimmed to 10 characters
    • Other parameters should be used from New Trial Managed Instance request.
  4. Finalisation

    • A cloud team member needs to set the license on the instance (the license key will be created by product growth and added in the instance request issue)
      • run mi set-license -license-key "$LICENSE_KEY"
    • When giving customer access is done via comment in New Trial Managed Instance request issue, alert in #cloud-notifications should be closed.
    • Also add the cloud-trial/instance-ready label on the instance request issue. This will trigger an alert in #cloud-trial-alerts.

FAQ

  1. How to check trial Managed Instances owned by Customer Engineer
  • open Github Action
  • click Run workflow
  • choose Instance type -> trial (required)
  • type CE email responsible for Managed Instances -> CE email (optional, without it will list all trials)

For other questions please use Managed Instance FAQ