📜 ⬆️ ⬇️

New Impress Application Server Functionality for Node.js

I give you a brief report on changes in Impress AS over the past few months. First, we did not go through frameworks, but rushed into the scope of application servers , providing scaling in two directions: (1) many applications on one server and (2) many servers for one application. The first direction required the development of sandboxing (screening of applications from each other and from the launch environment), and the second direction provided for the transition from cluster to multi-server cloud. Here we need to clarify the terminology, in the node cluster (cluster) is usually called the method of multi-threaded launch of applications in master / worker mode, therefore, we will call the multi-server infrastructure (with a cluster on each server) cloud (or application cloud ). This cloud is neither related to the virtualization of the operating system, as it is usually falsely associated in the understanding of the broad masses. Cloud technologies are not required to be organized on the basis of virtualization technologies, but there is no other simple way to scale for mass consumption. Cloud virtualization does not guarantee infinite application virtualization , and all developers of large high-load systems know that hundreds of thousands and tens of millions of users need to create special application solutions that provide application virtualization , spreading tasks across servers and integrating them into a single, distributed, but centralized managed system. It was this task that we set about to solve in Impress, I hope I defended the terminology and I can move on to the details.

Innovations and Versions


Now there are two current versions 0.0.71 and 0.1.2, which can be installed respectively:
npm install impress@0.0.71 #          npm install impress@0.1.2 #          

All New Year's holidays were cynically spent on the implementation of sandboxing and deep refactoring Impress. Up to 80% of the kernel has been rewritten and version 0.1.2 has been tested on applications written for 0.0.71 with their minimal correction. Functionally, in these versions, everything is the same, except for sandboxing and the features of writing applications. Refactoring from the old style to the new is very simple and comes down to replacing the call to the application server API. One of these days I will release a small porting manual, since there are already enough external developers using Impress, I don’t want to give them such a gift to NG. With the instructions, they will cope with porting in a few minutes, I hope.

So, the functional innovations that are present in both versions:

Slide to lure to view the presentation (clickable)


Now, for greater persuasiveness, I'll show you a cool slide from the presentation . The code examples in the presentation are relevant only for version 0.0.71, and bulshitological pathos texts are also relevant for 0.1.2, so look at it to get an overview of the application server. There is also an English version of the presentation. I understand that good screencasts, a variety of examples and articles explaining these examples are absolutely necessary for deep acquaintance with Impress, they are being prepared and will be available soon. Regarding support, the intensity of development and release of versions, the activity of correcting detected bugs and suggestions for improvement, you can add up the impression on Gitkhub . Feel free to send questions and post issues in Russian or English.
')

Links


On Github: https://github.com/tshemsedinov/impress
In npm: https://npmjs.org/package/impress

Source: https://habr.com/ru/post/200208/


All Articles