Test appliances
A test appliance is an automatically managed environment that Tensor9 BYOC provisions for testing purposes. Test appliances:- Run in vendor-controlled infrastructure (your cloud account)
- Mirror the form factor and configuration of customer appliances
- Allow you to validate releases before production deployments
- Require an existing test setup arranged with Tensor9 before release workflows
- Support the full deployment lifecycle (compile, deploy, observe, operate)
Test appliances function identically to customer appliances but are designed for pre-production validation. This ensures what you test matches what customers will experience.
Why test in test appliances
Testing in test appliances before deploying to customers provides several safeguards:Prepare test appliances
This guide uses existing, ready test appliances for your app. Test-appliance creation is not available through the public CLI; contact Tensor9 if you need one. To test a release yourself without a test appliance, onboard a second AWS account of your own as a customer withtensor9 app setup and release to it with -customerName, as the Terraform quick start shows.
Select an AWS test appliance
Choose your existing AWS test appliance with the required form factor and region. Usetensor9 report to check that it is ready before creating a release.
Select test appliances for multiple form factors
Choose a ready test appliance for each form factor you want to test. Use your existing appliance names in the release commands.Viewing test appliances
Usetensor9 report to see all your test appliances and their status:
- Status: Whether the appliance is Live and ready for deployments
- Cloud Details: The cloud provider and region
- Form Factor: Which form factor the appliance uses
- Installs: Apps deployed to the appliance
- Releases: Deployed releases with version, deployment status, and outputs
- Hardware: Appliance uptime and capacity
Testing workflow
Follow this workflow to test releases before deploying to customers:1
Select an existing test appliance
Select a ready test appliance for your app and check its status with
tensor9 report. The example below uses test-aws-us-west-2; replace it with your appliance name.2
Publish origin stack
Publish your origin stack to your control plane:This uploads your infrastructure code through your control plane and binds it to your app. Publishing again with the same
-stackName keeps the binding.3
Create release for test appliance
Create a release targeting your test appliance:Tensor9 BYOC compiles your origin stack for the test appliance and downloads the deployment stack into a directory named after your test appliance.
4
Deploy to test appliance
Deploy the compiled stack using standard tooling:The tensor9 provider in the deployment stack reads your API key from
T9_API_KEY. Set it at a hidden prompt for the tofu commands only, and unset it as soon as they finish, as the Terraform quick start shows: while it is set, tensor9 commands use the key instead of your controller profile.The deployment executes in your test appliance.5
Validate the release
Test your application in the test appliance:Validate functionality, performance, and observability before proceeding.
6
Deploy to customer appliances
Once validated, deploy the same release to customer appliances:The tested release deploys to the customer appliance.
Testing across form factors
To test across cloud providers or deployment environments, choose a ready test appliance for each form factor. Replace the example names below with your existing appliance names. Then test your release in each environment:Integration testing
Integrate test appliances into your CI/CD pipeline for automated testing:Versioning for test releases
Use version suffixes to distinguish test releases from production releases:Retiring test appliances
Test-appliance retirement is not available through the public CLI. Contact Tensor9 to arrange retirement, including data retention and ongoing infrastructure costs.Best practices
Use existing test appliances
Use existing test appliances
Use a suitable existing test appliance for each form factor you intend to validate. Keep it up to date and review its runtime costs.
Test before every customer deployment
Test before every customer deployment
Always validate releases in test appliances before deploying to customer appliances. This catches issues early and reduces customer-facing incidents.
Integrate test appliances into your CD pipeline
Integrate test appliances into your CD pipeline
Integrate test appliances into CI/CD pipelines. Automatically deploy to test appliances and run validation tests on every commit or pull request. Regularly deploy to test appliances to keep them in sync with your latest changes - stale test appliances may not accurately reflect production behavior.
Test all form factors
Test all form factors
If you support multiple cloud providers, test in all of them. Service equivalents may behave differently across providers, and testing catches these differences.
Monitor test appliances
Monitor test appliances
Use the same observability setup for test appliances as you do for customer appliances. This validates that telemetry flows correctly and your monitoring works.
Retire unused test appliances
Retire unused test appliances
Contact Tensor9 about test appliances you no longer need, including data retention and infrastructure costs.
Related topics
- Deployments: How to create releases and deploy
- Appliances: Understanding customer vs. test appliances
- Observability: Monitoring test appliances
- Operations: Operating test appliances