📜 ⬆️ ⬇️

Challenges and challenges in Enterprise E-Commerce. How did the project Virto Commerce?

In the modern world there is a huge amount of E-Commerce solutions: from systems for creating small online stores to enterprise-level platforms (enterprise). However, not all of them provide a technological advantage over competitors, which allows E-Commerce project to develop and introduce new features faster, thereby constantly increasing sales volumes and reducing costs.


A technology platform that slows down rapid changes and does not scale, can lead E-Commerce to collapse in the face of fierce competition, when every small trifle is important, which can increase sales conversion by a few tenths of a percent or at least slightly reduce the cost of advertising or service.

Our more than a decade of experience in implementing international E-Commerce projects with an attendance of tens of thousands of people per day for Fortune 500 companies has shown that the main reasons for changing the platform for E-Commerce are:


And, as a result - the emergence of technological lag in comparison with competitors, which leads to the above business problems.
')

What will our blog be about?


This blog represents our experience in E-Commerce, which has evolved over time into the VirtoCommerce project - an open source platform based on .Net and MS Azure, which includes architecture and basic blocks for creating B2B or B2C Enterprise E-Commerce solutions.

Creating projects for major ecommerce, as well as the platform itself, we acquired our own perspective on:


In our blog you can find information on the following topics:


In order for these publications to be read with an understanding of what is being said, let me tell you a little about who we work with and how we use the Virto Commerce platform.

Who are enterprise e-commerce clients?


Enterprise E-Commerce is very different from small and medium online stores. Business processes that operate with 10 or 100 orders per day will definitely not work with 1,000 orders per day or more. There are also differences that are caused not only by the volume of orders, but also by other difficulties:


We encounter such clients regularly and it was for them that the main functionality of our platform was originally written. Of course, enteprise is not only special functionality, but also special loads. Among our customers are many large online stores from the United States, where Black Friday is held, when attendance can grow 10 or more times a day. This imposes increased requirements on the resiliency platform for such projects, which we also provide for our clients.

Little about the platform


We aim to make our product as open and transparent as possible, which reduces the risks of its use. All the code for the platform and its modules, as well as the development process is available in the open visible on GitHub .

The results of the evaluation of the quality of the code are also available in clear form in the SonarQube .

The platform is built on a modern stack of technologies from Microsoft: .NET Framework, .NET Core, Entity Framework, ASP.NET.



We pay special attention to productivity for enterprise e-commerce and select technologies based on this. Angular is used for user interactions, which is also open, well known and has a large community. Its modularity, the presence of a huge number of ready-made solutions and the use of MVC-architecture, in our opinion, with the right approach increases the speed of development. For fast full-text directory search, ElasticSearch is used, which scales to petabytes of data, uses denormalization to improve search quality, is open and is used in large projects, such as Wikipedia, GitHub, StackOverflow, etc.

The platform supports the creation of multi-channel and multilanguage solutions. As we said earlier, support for such functions is absolutely necessary in enterprise e-commerce projects, since they often sell in several countries at once.

To work with B2B commerce, which is often found in an enterprise, work is supported with physical and virtual directories, which allow you to automatically compile a main catalog from manufacturers or suppliers' catalogs, as well as to introduce special pricing mechanisms.



One of the main advantages of the platform, in our opinion, is its modularity, which gives high development speed, ease of scaling and increased fault tolerance. Out of the box there is a separation between client applications (Web Apps, Mobile apps, etc.) and the server part. All elements of the system are presented in the form of separate, independent modules, for example, a catalog, pricing, basket, order, etc ... When building a solution, you can decide which modules to use and which not. And, of course, to implement the missing functions, you can create your own module.



Despite the fact that the platform can be deployed in different configurations, the maximum advantage is achieved when working in the cloud. We at one time chose Microsoft Azure. In this case, it is possible to use Azure services to increase the efficiency of the entire solution:


The capabilities of Azure already solve many possible problems with reliability and scalability, which eliminates re-engineering. Even in comparison with its own collocation, system performance is equivalent, and placing access points to the server closer to the client improves latency.

In our blog you will find information on how using cloud hosting we were able to withstand such serious workloads as an increase in attendance 10 times per day during Black Friday / Cyber ​​Monday in the USA.

Conclusion


Enterprise E-Commerce projects impose special conditions and requirements for the development platform. The ability to quickly develop, inexpensively maintain, simply change and have high resiliency is especially appreciated by customers. In our future articles we will talk about how we implement enterprise e-Commerce projects using the Virto Commerce platform, what challenges we face and how to overcome them.

Here is a short list of topics that we are planning to cover soon in our blog:

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


All Articles