Testing environments are great š„³Ā
As a Customer Success Engineer Iām always trying to help our customers with advice. One recommendation Iāve found myself making a lot recently relates to testing.
In this article Iām going to briefly cover a few reasons why a test environment is useful and then discuss a few tips to get started. A good testing system will give you more freedom to experiment, greater technical assurance and allow you to do more cool things with Cribl!
Ā
Why is building a test system valuable?
Test environments take some effort to create, so I want to highlight the main benefits.Ā This is not an exhaustive list but the first things Iād consider to set as goals.
- Regression testing
Whenever you make a change to a system whether thatās a version update, a major pipeline overhaul or a protocol switch, itās always valuable to assess if existing functionality remains unchanged. Having a test system enables these tests. - Integration testing
Sometimes you may have a new integration into a source or destination system. Under these conditions, using a test environment allows for connection testing for things like authentication and protocol compatibility. Bonus points available if your test Cribl system integrates into another test system mirror for those full end to end operations! - Fault condition replication and load/stress testing
Sometimes you may wish to test a deployment to the point of failure to observe consequences, train staff, test resiliency or reproduce failure scenarios. A testing system enables you to perform these tests in a non-disruptive manner. - Training staff
When getting started with Cribl, thereās a āGreat power, great responsibility" experience. Having a low stakes environment enables new staff members to learn about your processes and tools. A test system is the natural follow up to the general Sandboxes (https://sandbox.cribl.io/) and closer to what your core systems look like.
Ā
How to build a test system?
In this article Iāve used the term āSystemā quite loosely. An advanced test environment might involve a full production parity deployment with continuously running Edge, Stream, Search and Lake components. A full copy represents the gold standard of accurate testing. However, you can get some of the benefits by having on demand capabilities instead. Hereās a number of things to think about.
Ā
- In Cribl.Cloud, Workspaces are great for testing!
Within Cribl.Cloud, you can create a number of workspaces. Each operates in isolation with RBAC control options and its own infrastructure. Since workspaces are provided at no cost, Iād strongly recommend creating a development mirror. Thereās some fancy API and Cribl as code options if youād like to do syncing or mirroring in an easy and repeatable fashion. I wrote a tool to help keep a test environment up to date thatās an option Iām happy to share. - Be prudent with infrastructure provisioning
Within Cribl Stream, you can create empty worker groups in an empty state to act as placeholders. When testing, you can use the āProvision infrastructureā option to create workers but only for as long as the testing is ongoing. Idle infrastructure is not a great use of your Cribl Credits so deprovisioning the infrastructure out of business hours is a reasonable option. - For Edge, work with your infrastructure ownersĀ
For Cribl Edge, itās valuable to work with your infrastructure team to pick up a representative mix of devices to note as test instances. In an ideal scenario, youād have a test system that ensures youāve got at least one instance of each unique OS or deployment type you support. - DIY everything!
Finally, with the flexibility Cribl offers you can do whatever you like. If youād like to use Terraform to create and manage your test suite fully integrated into your existing process, weāve got some tools to help you there as well.Ā (Read more atĀ https://docs.cribl.io/cribl-as-code/terraform/)Ā
Ā
Concluding remarks - You should have a test environment!
In summary, testing environments are a vital part of any growing Cribl deployment. They can be delivered efficiently so are a good fit at all Cribl journey stages. Build the testing system for you and your customer success team is delighted to help with any questions.
Ā
