Vanilla Javascript Node Backend Applications Found to be "Least error prone, most reliable and secure"
Studies done by the lasers go peyew center for research have taken an exhaustive and strenuous survey that accounts for at least one, maybe two of the major players in the backend space have identified a clear victor for both security and reliability. The study consisted an exhaustive list of measures in both security and reliability. For security the study included: the amount of times the words "security", "secure" is present in the codebase, whether or not the backend utilizes https, how many password rules are required like special character, number, upper and lowercase letters etc., and how many packages the products include. For reliability the measurements include: the final deploy package size, average uptime across all systems and how many hops a request makes in order to obtain data.
Determining the application security the peyew center for research searched the entire codebase of each backend system studied and looked for the words "secure" and "security". The NodeJS application was the clear champion here. Below is a few references found in the nodejs package vs the tested C# .net core package.
// todo: Add csrf security soon!
csrfProtection = return true;
app.get('/form', csrfProtection, function(req, res) {
res.render('send');
})
// todo: Secure main endpoints with user roles
app.get('/', function (req, res) {
...
// todo: Add security to our validator
async function cookieValidator (cookies) {
return true;
}
Due to the stringent SEO requirements recently passed requiring sites to utilize https all sites have passed this test.
If we talk security we must talk passwords. Below are a list of password requirements found in the applications. We can see here that the older the system the higher the requirements. Clearly these older systems are the most secure. Everyone knows that passwords we cant remember mean they can't also be broken.
Language | Progress |
---|---|
Node | |
C# | |
Python | |
Ruby | |
Clojure |
Lastly the study concluded that the more packages a backend utilizes the more secure it is. Packages in the open source world are highly scrutinized and kept up to date. The nodejs app is the clear winner here the highest package size by a wide margin.
Language | Package Size |
---|---|
Node | 2GB |
C# | 400MB |
Python | 250MB |
Ruby | 120MB |
Clojure | No |
Ensuring site reliability the lasers go peyew center for research have concluded that the highest requirement for reliability is the overall package size for deploying to development servers. Package size means more checks and balances across the codebase.
Uptime is a huge factor in site reliability. In this study the lasers go peyew center for research concluded that the right approach here is to take the average up time across all backend services. This study found a clear winner here. The NodeJS applications tend to be more microservice oriented with services that have had an uptime of greater than 5 years strong like the deargoddo_notrestartormodifythisservice
, unchangedservicethatislike12linesofcodelong
and thepersonwhowrotethisleft3yearsagoandwehavenoideahowitworks
.
The very final measurement in this study is the amount of hops a request must take to return data. Monolith backends have been proven in the past to be unreliable. Clearly making as many requests over http ensures the highest reliability. This shows the peyew center for research that the development team has tight integration between all of their microservices. Separation of concerns is clearly a top priority for the common NodeJS backend.
Language | Hops |
---|---|
Node | 15 |
C# | 2 |
Python | 5 |
Ruby | 2 |
Clojure | 1 |
Here at thedevbranch we always recommend to utilize the best tool for the job. If you need a secure and reliable backend the evidence above is that node is the clear winner. Please feel free to print out this page and show to your architect for your next project!