top of page

Technologies

Project CosmoApps

In recent years, various kinds of cloud applications have become increasingly popular, providing joint work with user data located in different geographical locations and provided according to the SaaS model (English software as a service - software as a service). Prerequisites for this is the almost global coverage of the Internet.
Cloud applications are popular, however, they are distinguished by a rather rigid architecture designed for the “average user”. This is not a significant problem for applications intended for use by individuals - they have a fairly simple interface and data structure.

Business applications, on the other hand, often put forward much greater requirements for the implementation of special functions that are specific to the business process of a particular application user organization. However, most cloud architecture applications do not allow significant modification of the functionality in the interests of a particular user-organization.
The second issue is the architecture of the application used and how it performs under high load. As a rule, separate application and database instances are created for each user organization, which allows for more flexible administration of application performance, but requires a lot of administration effort, which negatively affects the cost and, ultimately, the cost of the end user to operate the application.

Each instance of the application takes on a certain amount of memory and computing resources, which can be significant with a large number of clients.

You can go the other way - to save on scale. You don't have to run a different instance of the application for each client. It is enough to run one instance of the application in the north, which will "serve" many clients, thus reducing the cost of computing and allocated memory through depreciation - the distribution of costs to all clients. This approach to architecture is called multitenancy. In this approach, one application instance requires one license for the server part, operating system, and server-client application communication software, which significantly reduces overall costs. The most difficult task in building multitenant applications is their development. It is necessary to “cut” one database for many clients (tenants), set up a security system and isolate tenants. Testing also takes more time.

The use of a common application database also significantly complicates the modification of the application data structure for a specific tenant - one of the possible solutions is to use a DBMS without a data structure (noSQL - not only SQL - DBMS), in particular, documentary DBMSs that allow you to store and index documents with an arbitrary structure, and data typing is transferred to the application level.

Технологии: О нас

CosmoApps - automate the creation of multi-tenant applications

So, multi-tenancy has significant economic advantages, but it also raises many technical issues, the solution of which requires the involvement of highly qualified specialists with skills in quite rare areas, such as noSQL[1] databases, for example, for each such project. Administration of a system that serves many tenants and their users is also not a trivial task.

Fortunately, cloud solutions in the field of noSQL databases that have appeared in recent years with unlimited scalability of both performance and data storage volumes (Microsoft, Google and Amazon services are the most developed at the moment), as well as the development of serverless (server less) technologies, such as Azure Functions allow you to find an inexpensive to use and almost no administration, but at the same time a flexible and unlimited scalable solution to these problems.

However, due to the novelty of the technologies listed above, there are practically no developed tools for automating and accelerating the development of applications using them, as well as qualified specialists, on the market.

CosmoApps is one of the first systems for highly automated development and hosting of serverless cloud applications using cloud documentary databases as a DBMS. CosmoApps is deployed on Microsoft's Azure cloud resources, which allows you to scale a multi-tenant application and database almost unlimitedly, as well as maximize the use of shared resources allocated to multiple tenant applications, reducing operating costs by several times, if not orders of magnitude.

Applications are developed in a no-Code[2] / / low-Code constructor that supports the MVC[3] architecture and creates both the application data structure and automatically generates a highly customizable data input / output user interface, implementing views for each data type. various types - lists, forms and lookups, as well as an application navigation system and a security system (users, roles, permissions to access documents and their individual properties). The use of a low-code constructor leaves the possibility, if necessary, of expanding the functionality by writing code. This opportunity is given to create complex business applications.

The low-code CosmoApps platform allows business analysts or key employees to make the application themselves. The low-code capabilities significantly shorten the path from idea to application launch.

Benefits from low-code application:

  1. There is no need to make technical specifications for the project (especially if it is a small project), since the contractor - the developer is the employee (often the owner) of the company - the owner of knowledge about the company's processes. As a result, business flexibility and transparency.

  2. Minimum development budget. You pay yourself for development.

  3. Low cost application content.

  4. Development speed.

  5. Self-adaptation of interfaces (view), DashBoard(s), reports

  6. Changes are made online: forms (view), reports, additional data fields,

  7. Acceptance is carried out by business analysts and key employees of the company.

 

The entire application interface is generated in adaptive markup, which allows you to use applications on any type of device. It is possible to create cross-platform mobile applications using PhoneGap. Using JavaScript in your application on both the client and server allows you to share common client-side code and application APIs.

 

[1] noSQL is an approach to the implementation of a non-relational scalable storage (base) of information with a flexible data model, which differs from classical relational DBMS due to the complete or partial rejection of the requirements of atomicity and data consistency. Thus, the noSQL technology is directly focused on BigData.

[2] "no-code" - an approach to programming, when applied, there is no fundamental need to write program texts.

[3] The MVC architecture allows you to divide the application code into 3 parts: Model (Model), View or View (View) and Controller (Controller)

Технологии: О нас
noSQL
noCode
MVC
bottom of page