Profiling Collaboration via Teams
We believe that everyone in a development team should be able to continuously profile applications. “Teams” is a great way to empower all developers in a team and let them collaborate on their application performance.
From day one at Blackfire, we wanted to make it possible to easily and securely profile applications in the production environment.
We achieved simplicity via auto-instrumentation and a browser extension (the companion) that allows you to trigger code execution data gathering from the outside without any code changes.
But of course, you don’t want anyone having the Blackfire browser extension to be able to profile your application. Each account on Blackfire is associated with automatically generated “server” credentials. This server id and server token are personal and once you configured them on a server (your laptop, a staging environment, or a production server), it forbids anyone but you to trigger the Blackfire profiling system.
But what if you are part of a team of developers? Restricting profiling to only one person in a team is a real limitation even for small teams; everyone in a team should be able to continuously profile an application hosted on a shared infrastructure. Moreover, the team should be able to collaborate on performance: sharing profiles privately, working together on performance regressions, and more.
As a matter of fact, the Blackfire security layer was the very first “feature” we designed after the first working prototype of the probe and the UI; and we thought about a lot of use cases to make it very flexible.
The process of creating and configuring a team is deliberately simple. Create a team:
And add collaborators:
A team is associated with a specific set of server credentials that you can use to configure your servers. Once done, anyone in the team will be able to profile on behalf of the team:
For collaborators, profiling becomes as easy as it can get; they don’t need to bother with credentials, configuration or anything else. Profiling for them is just a matter of creating an account on Blackfire and installing the Chrome companion, nothing more. Of course, they can also use the Blackfire CLI tool if they want to.
Instead of configuring the team credentials on a server as a whole, you can restrict the credentials to a specific host on a server; or use the same credentials on several servers.
Many Blackfire users are concerned about our business model and how we are going to keep the free plan forever. It’s great developers realize that there is no free lunch after all. As promised, we will keep a free plan that will allow people to profile their applications even after the beta ends. But we will also introduce some paid plans that will give power users more features, more flexibility, more in-depth data, and more automation.
As you’ve probably understood now, “Teams” is the first feature of our upcoming Enterprise Edition. If you are interested, don’t hesitate to get in touch and contact me at my brand new email address: fabien [at] blackfire.io!
Happy team profiling!