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:
- During the trial period, Sourcegraph is covering all the infrastructure and licence costs.
- Trial Managed Instances have the GCP label
instance-type=trial
, which allows to filter them. - 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:
New Trial Managed Instance create SLA (since 27th of September 2022)
Architecture
Trial Managed Instances sizes
Trial managed instances default to small and reasonable defaults (see issue template):
Size | Virtual Machine | CloudSQL instance |
---|---|---|
small | n2-highmem-4 | db-custom-1-4096 |
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
’ inconfig.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
-
New trial managed instance request issue is open by CE or Growth Team (DRI Malo Marrec)
-
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
- Within Cloud Team working hours (
-
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
toSLUG.sourcegraph.com
- set
customer
with SLUG trimmed to 10 characters
- set
- Other parameters should be used from New Trial Managed Instance request.
-
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"
- run
- 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.
- 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)
FAQ
- 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