Test appliances
A test appliance is an automatically managed environment that Tensor9 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
- Can be created and retired on demand
- 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:Creating test appliances
Create a test appliance using the Tensor9 CLI:Example: Create test appliance for AWS
Example: Create test appliances for multiple form factors
To test across different cloud providers, create multiple test appliances: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
Create test appliance
Create a test appliance for the target form factor if one doesn’t exist:Wait for the appliance to reach “Live” status (check with
tensor9 report).2
Publish origin stack
Publish your origin stack to your control plane:This uploads your infrastructure code and returns a native stack ID.
3
Create release for test appliance
Create a release targeting your test appliance:Tensor9 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 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
When supporting multiple cloud providers or deployment environments, create test appliances for each form factor you support: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
When you no longer need a test appliance, retire it to clean up resources:Best practices
Create persistent test appliances
Create persistent test appliances
Maintain long-running test appliances for each form factor you support rather than creating them on demand. This speeds up testing and provides consistent validation environments.
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
Retire test appliances you no longer need to reduce costs and clutter in your reports.
Related topics
- Deployments: How to create releases and deploy
- Appliances: Understanding customer vs. test appliances
- Observability: Monitoring test appliances
- Operations: Operating test appliances