An automated quick-launch service for staging servers
Evrone focuses on project quality, and using DevOps tools has long been a part of our culture. Some clients even ask us to implement Evrone-style development management in their own companies.
When Docker was released, we immediately began testing new ways that we could use it to increase the quality and efficiency of our work. With Docker’s help, we developed the Teatro.io project, which automated the creation of test (stage) servers for the demonstration and testing of new features.
What problems does Teatro.io solve?
- The high cost of maintaining your own test servers. Previously, in order to run the physical stage-server of the project, the developers had to contact the system administrator, who would set up the server and the necessary environment. It took time and attention, not only to work with the hardware, but also to support it. And, of course, the server itself cost a lot of money.
- The need for a large number of servers for large teams. If there were many developers on the project, then the expenses described above increased significantly. Let's say three developers had simultaneously developed new features for the product and were ready to show them to the client. They either had to queue up or request three test servers at once. What if there were dozens of developers?
How does Teatro.io work?
Using Docker, we developed an on-demand software as a service solution, with the automated work of the system administrator and DevOps specialist under the hood. Here is how it works to provide on-demand staging environments.
As soon as the developer sends a pull request with a new feature, a "teatro.io/request_code" link is immediately attached to it. Clicking on the link initiates the launch of the test server in the cloud. Within 1-5 minutes (depending on the requirements for the environment), the server, with the already deployed function, starts and is available for demonstration.
If, within an hour, Teatro.io does not record calls to the link, then the server is shut down, but the link remains working. When you click it again, the application is automatically deployed to the staging server.
How did we test the viability of the tech startup?
The first users of our service were the Spree, OpenProject, and GitLab teams. With their help, we began testing the startup hypothesis and turned the MVP into a full-fledged product to provide automated application deployments and speed up DevOps. Then we started looking for “product-market fit”.
It turned out that there was a market need for the development of DevOps tools, not in B2C, but in the B2B segment. Large corporate teams could save time and money using Teatro.io to manage staging environments and implement zero-downtime deployment.
However, the service was not beneficial for small teams, since Teatro.io worked well for projects that were ready for automated deployment, projects that supported roll-back and had files describing the required environment. This approach requires a strong engineering culture that can only be maintained in enterprise-level companies.
We found that small teams work in a different way, sometimes ignoring generally accepted development standards and making assumptions and simplifications. From their point of view, this is optimal, because a more serious approach to fine-tuning would slow down their work.
For example, in the case of a startup, it is much more important to quickly check features on end-users, albeit at the cost of creating kludges. Since, if it turns out that the developed product is simply not needed by users, then all engineering solutions will be useless anyway.
At the end of our hypothesis-driven journey, we ended up with a product that was only marketable to 10-20 giant companies, like SAP, all of which we would have to reach out to individually. After evaluating the required investments and strategies for Teatro.io, we decided to turn it into an in-house solution to meet the needs of the Evrone team and our clients.
If your project would benefit from continuous deployment and delivery tools, fill out the form below, and our DevOps specialists will contact you to discuss how we can help.