In June we asked you about how Vaadin applications go to production. What kind of apps do you use Vaadin for, what are the popular servers, and how regression testing is managed. A special thank you to everyone who took the time and answered. Here is what you said.
Business. And more business.
Most of the people are building “business applications”. Considering the framework features and our own hands-on experience, this was actually no surprise. There are thousands and thousands of different kinds of enterprise systems out there and good tools are needed to build them cost-efficiently.
Tomcat is by far the most popular server out there, followed by Jetty. These are the typical ones during the development, but nearly 49% uses Tomcat servers also in production. We didn’t ask about the version numbers, but still estimate the Tomcat 7 to be the most popular, followed by version 6. Nevertheless, a wide variety of different servers are used and WildFly, GlassFish, Liferay and WebSphere are also very popular with nearly 30% of Vaadin users.
Scaling: From 10 to 100
Most of the applications target for under 100 concurrent users. This makes sense and actually it is a very reasonable target for both internal ERP applications as well as extranet business applications. Even if your application might have thousands of users, you rarely have too many accessing it at the same time.
Of course this varies a lot, and there are certain kind of applications that are only used for 5 minutes per day, but everyone uses them at the same time. For example work time reporting and accounting are very typical scenarios. When planning for scalability, you should really try to understand the use cases before nailing down your non-functional requirements.
Anyway, it looks like developers are actually quite confident about application scalability. A typical “clustering solution” is only a single server and almost all go to production with cluster of less than 5 nodes. Still, 8 out of 10 has not even found a reason to audit the application scalability.
Manual regression testing
While in development, practices like TDD need you to automate your tests, the setup is but different in pure UI testing. Most of the testing is still manual work. According to the survey, 50% of developers still use manual as the primary testing method.
Where we really have to speed up is the automated testing of the UI. Automation tools like Vaadin TestBench and Selenium are are still not often used here and a bit surprisingly, there is also a large number of developers not doing regression testing at all. But this is probably because manual testing is sometimes not considered testing at all.
What is your own analysis?
This was our summary of the survey, but like before, we made the (anonymous) results browsable for your own analysis also. You can filter the data by answers and there might be interesting facts hidden in there, like “users who have more than 5 Jetty server clusters have also audited their scalability”. Smart people.
Take a look! Your findings, comments and ideas are more than welcome and we can discuss more about these topics at vaadin.com/forum. See you there!