The stability of your application effects the relationship with your customers and your reputation in the market. Everyone has downtime, but the best teams learn about it earlier, fix it faster, and report it transparently where they can.
When Asserted launched, we were focused on delivering the most value to our customers as soon as we could. To accomplish this, on of the early trade-offs we made was only offering a fixed set of dependencies at runtime. These fixed dependencies are intended to cover most use cases, and to date have been all most of our customers need to write effective integration tests for production.
That said, select customers did need more specific capabilities in order to fully measure their uptime. These included things like specific SDKs, speciality libraries, or other custom dependencies.
So today we're introducing support for custom dependencies within all paid projects.
How to use Custom Dependencies
Adding custom dependencies to your Asserted routine is simple. Just update the routine.json within your repo by changing the "dependencies" parameter from "v1" to "custom".
Then install any production dependencies as you normally would for a npm package.
From that point forward you can add or remove anything from the "dependencies" field of the package.json and those exact packages will be included on every run.
Behind the scenes, the asrtd CLI uses a modified version of npm-shrinkwrap to ensure that the dependencies you are using locally are exactly replicated after being pushed. Additionally, this allows us to cache these dependencies, making subsequent pushes faster by using previous builds.
Public Status Pages
The second major update is the addition of public status pages. Until now you had to be a member of a project and logged in in order to see the timeline, current status, and uptime charts.
After making the routine status page public, anyone with the URL is able to view (but not alter) the routine status. It is not automatically indexed by search engines, so should remain only visible to those who know where to find it.
This public status page retains the live nature of the private version, so it will continue to update in real-time.
If the public status page is embedded as an iframe, it automatically detects that and removes surrounding menus.
Embedded Status Page Example
We're excited to see how our customers use these new features, and we have more in the pipeline.
Some things we're hoping to launch over the coming months:
- Significantly expanded integration support (PagerDuty, interactive Slack App, Datadog, NewRelic, etc)
- Granular public status page configuration (show/hide select details)
- Pre-built SLA tracking for major SAAS providers