The idea of cloud services in relation to business applications can be formulated as follows: transfer of an application server from an organization’s local area network to the Internet. Users continue to use familiar software, launching a native or web client on their computer, but to work now they only need to have an Internet connection and do not need to log into the organization’s local network (physically or via VPN). And in the case of the
SaaS option, the cloud service provider, on whose computing capacity the application server is deployed, also takes over all the administration and application update work, saving the end user from these worries.
Picture to attract attention: the author of the article with the help of improvised means (clouds, flag, plane, parachute) illustrates the thesis “1C in the clouds”.

1C programs support work using the http / https protocol, so there are no problems with transferring the 1C application server to the Internet. The simplest version of 1C in the "cloud" is ready.
')

But in principle, such a cloudy version differs from the usual one, by and large, only by the location of the application server. To service a new organization, at least a new information base 1C is needed, or even a physical or virtual machine with an instance of 1C application. Accordingly, the costs of administering applications increase linearly with the growth in the number of organizations.
Multitenancy and data sharing
To reduce the cost of administering applications, different organizations should work with the same instance of the application. And the application must be written in such a way as to allow the work of different organizations in one instance of the application. At the same time, at the level of business logic, the work of different organizations in one instance of an application should be identical to the work of different organizations in different instances of the application, its own for each organization.
This approach to the design of application architecture is called the English term
multitenancy , for which there is no exact Russian translation; the closest in meaning is
multi -
lendness . The basic idea of multitenancy can be described something like this. A typical application is a cottage designed for one family, which uses its infrastructure (walls, roof, water supply, heating, etc.). A multitenancy application is an apartment building. In it, each family uses the same composition of the infrastructure, but the infrastructure itself is implemented for the entire house as a whole.
In the simplest sense, the goal of multitenancy is to reduce the cost of maintaining the application by “socializing” infrastructure costs. This is the same movement as reducing the cost of the application due to the use of a lottery solution (possibly with adjustment and refinement), rather than writing “to order”. Only in one case the development is socialized, and in the other - exploitation.
Multitenancy has many aspects. One of them is the separation of data in the application. Physically, the data of all organizations are stored in one database, but each organization sees only its operational data (postings, lists of employees, etc.), and part of the data (for example, various reference information) can be accessible to all organizations at once. In 1C applications, this is implemented through the
data sharing mechanism provided by the 1C: Enterprise platform.
Cloud service
Some time ago, the 1C development team was faced with the task of making a cloud service for leasing 1C application solutions using the SaaS model. Moreover, to make this service a replicable solution, a sort of “out-of-the-box cloud”, with the help of which anyone who bought the solution will be able to deploy the infrastructure at its facilities to deliver 1C applications (or their applications written in 1C: Enterprise).
What is the ideal, from the point of view of the end user, cloud service? Supermarket, where the shelves are software products - accounting, reporting, salary and personnel, .... The user fills his cart and goes to the cashier, where he pays according to the tariff (the difference from the supermarket is that the user does not buy software products, but rents them for a certain period). The user determines which of his employees will have access to accounting, who - to salary and personnel, etc.
What is the ideal cloud service for a cloud service provider? The same supermarket, but from its owner. It is necessary to put on the shelves existing products (software products), add new ones, track the timeliness of payment. Also, the service should be able to do a number of things: scale horizontally, provide users with demo access to applications offered for rent (test drive), and centrally administer users.
You can, of course, implement all the necessary functionality directly in the application solutions. But it is obvious that part of the overall functionality will be duplicated from solution to solution, and it is more optimal to arrange the general functionality in a separate product, which is a single entry point for users of application solutions in the cloud, and also contains administration tools.
Thus,
1cFresh technology was developed (the full official name “1C: Technology of publishing 1cFresh solutions”). 1cFresh is sold as a separate software product and is used by 1C partners and customers in their SaaS services and private clouds. The 1C company itself uses the 1cFresh product in its application cloud rental service (SaaS)
1cFresh.com and
1C: Service . The Department of Information Technologies of Moscow uses 1cFresh product, deployed on its own computing facilities, for conducting accounting and payroll accounting in institutions financed from the budget of the city of Moscow:
https://balance.mos.ru/ .
It was decided to divide the functionality of the service between the following large-block components (implemented on 1C: Enterprise and Java technologies):
- Service site - single entry point for users
- Service Manager - a tool for administering and coordinating the work of all service components.
- Application Gateway - a component responsible for scaling the service horizontally
- Service Agent - all utilitarian functions for working with applied solutions are brought here - updating versions of applied solutions, backups, etc.
- Service Forum - a forum for communication of service users with each other and with representatives of the provider
- The accessibility manager is a kind of “Service temporarily not working” scoreboard, which shows users information about the unavailability of a service or its part even if the central components of the service do not work.
Simplified diagram of 1cFresh service (not all service components are presented)Read more about the components.
Service site
A site that provides an interface for user interaction with the service. Implemented in Java. It represents, among other things, the “supermarket showcase” - here the user can select applications for rent, try demo versions of these applications. The site also serves to register with the service, place users of applications, view news and help information on the service, etc. You can see how the site looks on our
1cFresh.com service - we use the standard version of the site from the service delivery.
As part of the service can be any number of clusters of 1C servers with installed application solutions. All these clusters are registered in the service manager. 1C servers can be deployed on both Windows and Linux. So, in our 1cFresh.com service, servers with Windows OS are used as working servers of 1C (MS SQL is used as a DBMS for application solutions) and with Linux CentOS (DBMS - PostgreSQL).
Through the user interface of the service manager, the providers administer the cloud service — they add working 1C servers and applications, update application versions, manage users, etc. A part of operations (for example, updating versions of applied solutions) is performed by a separate component — the service agent. Interaction with the service agent goes through web services.
Service agent
Application created on the 1C: Enterprise platform. Performs administrative actions with service information bases — updates configuration versions, creates backup copies on a schedule, collects statistics on the operation of a service, etc.
Application gateway
Written in Java. Responsible for horizontal scaling of the service. Redirects service users to their dedicated servers with application solutions.
Service Forum
A forum where users of the service communicate with each other and with representatives of the service provider regarding the functioning of the service and the application solutions placed in it. Written in Java.
Availability Manager
Periodically, some services of the service or even the entire service may be unavailable to end users. For example, an application solution moves to a new version (and until the transition is completed, there is no need to allow users there), or the entire service may be briefly disabled for maintenance. The accessibility manager is an application (created on the 1C: Enterprise platform) that displays a message to the site and forum users about the unavailability of service resources, even if all other components of the service (including the central component - the service manager) do not function.
Information base 1C
Actually information databases in which the work of applied solutions. The addition of new infobases to the service is performed as part of scaling units. The scaling unit is deployed as a single module and contains:
- server cluster "1C: Enterprise"
- DBMS server where information database data is stored.
- one or two (to ensure fault tolerance) web server, processing HTTP requests to the information bases of the scaling unit
In case of problems in the operation of the scaling unit, only those customers who directly worked with the information databases located on it will be affected.
More about the service
- The service supports a similar OpenID technology that allows you to organize the storage of information about users authentication in a single database. Due to this, within the service, you can configure Single Sign-On and users can switch between application solutions (accounting, payroll, etc.), forum and enter the ITS technical support service (information technology support of 1C: Enterprise users) using a single login.
- Users can transfer data from local 1C applications (for example, accounting) to the cloud version of the application and vice versa.
- The user can create a stand-alone workplace, which is a local file information base located on the user's computer. To work with this database does not require the availability of the Internet and connect to the service. At the same time, the service mechanisms provide data exchange between the autonomous workplace and the application published in the service.
- You can set up automatic data exchange between application solutions published in the service (for example, between accounting and salary), and thus minimize the amount of input information - we enter data in one application and use them in all.
- System backup application. A backup copy of the application can be created at any time at the request of the user. Also, daily, monthly and annual copies of the application are automatically created according to the set schedule.
- In 1cFresh technology there is a mechanism for the supplied data, with the help of which the service manager stores and provides, upon request, a single reference information, which can be centrally updated.
- The service can simultaneously run multiple versions of any application solution. Application solutions placed in the service may use different versions of the 1C: Enterprise platform.
- You can update the version of the application with which the information base works.
- To facilitate the search and analysis of the causes of errors in 1cFresh technology, there are various mechanisms:
- Collecting information about errors in operations with information databases.
- Writing this information to the information base of the service manager. The collected information about the errors of the information databases are stored in the information database of the service manager in the error log.
- Display information about these errors. The service administrator can view the entire error log as well as errors related to a specific infobase or to a specific application.
- The 1cFresh technology has developed a showcase mechanism that allows you to deploy several cloud services within a single technical service platform. A showcase is a separate online resource for providing a service to users. The showcase looks to the user as a separate independent site where business applications are available to him. For example, on different sites located on separate domains, but on the same technical platform of the service provider, there may be deployed showcases for small business applications, showcases on which applications for the public sector are assembled, showcases for medical institutions, etc. This allows you to promote and develop a resource not as part of a general service, but as a completely independent service. For example , cloud services 1cfresh.com (rental of 1C applications “for all”) and gos.1cfresh.com (“1C: Enterprise 8 via the Internet for public institutions”) are two windows of the same instance of the service.
- The service has an Ideas Center - a mechanism that allows you to register and process ideas, suggestions and suggestions of users about the service. The idea center is implemented as a function of an application solution, where the user can view a list of ideas and comments to them, vote for ideas of other users or leave comments to them, and also add their own ideas and wishes. To use the functionality of the Ideas Center, an appropriate subsystem must be included in the application solution.
- Users who connected to the service created using 1cFresh technology on commercial terms pay a certain monthly fee to the service provider for its services. The service has flexible options for setting up user billing.
- There are rich possibilities for viewing statistics of service use, allowing to estimate the intensity of service use, to obtain the average key indicators of stable (normal) service operation for the subsequent assessment of deviations from the norm, to determine the periods of maximum and minimum load of service resources for their accounting when planning routine maintenance operations etc.
- It is possible to collect business statistics on events that occur when using application solutions. Such statistics can be useful to application developers to better understand how their solution is used by end users, analysis of bottlenecks, etc.
Cloud Service Applications
Application solutions created on the 1C: Enterprise platform must meet a specific
set of requirements in order to operate in the cloud (in 1C the term “work in the service mode” is used). Requirements for applications running in service mode are described in detail in the 1cFresh product documentation.
In addition to using the data sharing mechanism, the application must implement a set of functions to support remote administration, upload / download data, create backup copies of data, etc. The application should function equally in thin client and web client mode, avoid using OS-dependent mechanisms (since the server in the cloud can be both running Windows and Linux), avoid lengthy server calls, etc.
Today, typical solutions from 1C, compatible with 1cFresh:
- 1C: ERP Enterprise Management 2
- 1C: Integrated Automation 2.0
- 1C: Accounting 8
- 1C: Management of a small firm 8
- 1C: Entrepreneur 2015
- 1C: Reporting entrepreneur
- 1: Salary and personnel management
- 1C-KAMIN: Salary "
- 1C: Accounting of public institutions 8
- 1C: Integrated Automation 2.0
- 1C: Trade Management, edition 11
- 1: Salary and personnel of public institution
- 1C: Business start
For some of these solutions, there are mobile client applications created using
the 1C: Enterprise
mobile platform . For example, when working with the “Small Firm Management” solution, some users lack the functionality of a mobile client, and the service part of the “Small Firm Management” is used by them, by and large, as a centralized database for their data.
The list of applications running in service mode will be updated - we will transfer to work in the cloud and other typical solutions. There are also a number of solutions on the 1C: Enterprise platform from partners, which they rent on their service instances (for example,
housing and communal services 365 ).
Customizing applications in the cloud
In the cloud, thousands of users from hundreds of organizations can work with the same instance of the application. However, their needs in the functionality of the application may differ. Accordingly, we need to be able to customize applications so that custom functionality is available only to certain groups of users.
1cFresh technology has two mechanisms for customizing applications:
- External reports and external processing . This is a well-known customization mechanism for 1C solutions, modified for transfer to the cloud.
- Using extensions . Extensions are a plug-in mechanism that allows you to create add-ons for application solutions without changing the application solutions themselves. While not all 1C application objects can be added to extensions, we are constantly working on the functionality of extensions.
Conclusion
We consider the cloud direction of development to be very promising, and we plan to invest more and more resources in it.
It should be noted that the 1cFresh cloud service meets the
definition of a cloud service from
IDC consulting company:

In the free translation into Russian:
- Generic, standard service - built for multi-lending, inside or outside businesses
- Equipped with application solutions - turnkey solutions, with the necessary resources to get started
- Self - service — reservation and control of access to application solutions, usually through a Web portal
- Elastic scaling of resources - dynamic, fast and accurate
- Payment upon use - usage time is measured by the service
- Authorized network access - Internet access
- Standard user interface technologies are browser and / or rich Internet application and underlying technologies.
- Public Interface / API - Web Services, Other Common Internet APIs
By definition,
Gartner 1cFresh technology can be attributed to the Application Platform as a Service (
aPaaS ): "Application Platform as a Service (aPaaS) is a form of service." - " Application Platform as a Service (aPaaS) is a type of PaaS that provides a platform for developing, deploying, and running applications in the cloud ”(taken
from here ).
PS Recently the book “
Cloud technologies“ 1C: Enterprises ” ”, telling about the technology 1cFresh. This is the first (but hopefully not the last) book, entirely devoted to 1cFresh. Available in paper and electronic form, as well as for reading on mobile devices.