Benefits of Continuous Delivery in B2B eCommerce

This article is intended for both tech gurus and decision makers. For business people, we will show the benefits of continuous delivery in B2B ecommerce, and for techies, we will answer the question "What? One could do that?!"

Development team leaders are well aware of the classic definition of continuous delivery as a software development discipline that builds, tests and releases software within a company’s DevOps pipeline to reduce cost, time, and risk of delivering changes.

The classic continuous delivery pipeline works great if the previous versions of the software remain unchanged in the code before the new update arrives. However, imagine the end user [or implementation partner] makes changes to the code or API calls, or independently customizes the application between vendor updates.

What will happen? Yes, when vendor updates are implemented, bugs will appear until the application crashes. But this negative scenario is not for always and not for Virto Commerce updates.

Reasons why continuous delivery is so important in B2B ecommerce

It is undoubtedly for the ecommerce industry that no out-of-box platform fully matches the unique business processes of a mature company, especially for midsize businesses and enterprises. After purchasing from a vendor, such a platform must be customized by an internal IT team or a partnered solution provider [implementation partner].

Ownership of an ecommerce system implies regular software updates to implement new functions to keep pace with the changing business processes, market trends, user experience and of course, fixing bugs. At the same time, these updates often have a destructive effect on previous versions of ecommerce platform modules if customized.

Considering ecommerce platforms are extensive systems that interact with the back office (ERP, PIM, CRM, ...), the implementation process lasts several months. Definitely, the actual installation of the out-of-box version usually takes little time, but the customization added to the system code or through add-ons, plugins take a considerable time.

Then, after each update received from the vendor, a company needs to ensure that the customized functionality did not break during the update. Due to customization, the changes are usually in so many places that checking the functionality after the update takes much time, sometimes up to a few months.

This is how IT expert Martin Fowler defines continuous delivery term:

A business sponsor could request that the current development version of the software can be deployed into production at a moment's notice — and nobody would bat an eyelid, let alone panic.

The real dream of the IT team of any online business is that ecommerce vendor updates can be installed as easily as updating Windows, macOS or your mobile phone. We at Virto Commerce declare that this is possible thanks to the continuous update functionality in our platform. Vendor updates can be seamlessly built-in to partner continuous delivery pipeline. It maintains the ability to deliver extensive partner-developed functionality to end customer solutions. 

How continuous delivery works for Virto Commerce B2B ecommerce platform updates

Virto Commerce’s objective is to build a SaaS-like update experience for an environment where a partner (solution provider) keeps ownership of the client’s platform complements. The ideal scenario is where a partner delivers updated vendor components as a part of their standard delivery pipeline. In this case, the partner can collaborate with the Virto Commerce development team as a part of its multi-team DevOps environment.

The described ideal scenario looks great but has some challenges to its implementation into real world B2B ecommerce, and this is why:

Open-source code

While having code on GitHub allows a partner to make their changes directly into the code, this is considered a bad practice. Partner developers will have to manually merge the code, which has the potential for code execution errors. Getting updates from the vendor and redeveloping them to extended functionality for the client's needs become a time-consuming task.

Closed-source code or Blackbox

Plugin system in which predefined contracts cannot be changed. If a new contract is defined by a partner, the vendor cannot deliver an update because a new connection point [new contract] becomes solution specific. When changes are made by the partner, the code loses updateability from the vendor, especially for major releases.

SaaS platform

SaaS allows you to only expand the functionality with external add-ons, while it is impossible to change anything within the platform.

Process of Continuous Delivery in B2B eCommerce

Process of Continuous Delivery in B2B eCommerce

If the most widespread types of B2B ecommerce platform extensibility have such serious challenges, how did we achieve it? The answer is modularity and native extensibility. 

Modularity and single responsibility principle allow building small composable modules. Examples are catalog and price list as two different modules. To change the business logic for price assignment, you can replace the out-of-box price module with its custom implementation — thus, the price list can be replaced with either dynamic pricing or integration with ERP. At the same time, all other modules can be used as-is, and you can continuously receive updates from the Virto Commerce team. New Virto Commerce modules are released regularly, and you can install and use them according to customer needs. 

Native extensibility uses benefits of .NET, like Reflection, Dependency Injection and Factories. Consider the price module works properly, but business wants to extend it with a new property, for example add a new property - Recommended price. You can create a new module and extend all the elements without touching/modifying the source code. The developer can extend everything in the binary package: API, business logic, database and admin UI. Virto Commerce controls backward compatibility to make it possible.  

The effect of extension is active until the modules are installed. If you uninstall the extension, you will revert the system to its original state. It allows to run A/B testing for business logic and choose its best implementation. 

Evgeny Grigul, Virto Commerce co-founder, said:

From the client point of view, there are two collaborating developments teams working for them: Solution Provider Team and Virto Commerce Team who are delivering the new features to the same customer’s solution.

Continuous delivery is a key benefit for Virto Commerce clients. Vendor updates could be seamlessly built-in to partner continuous delivery pipeline maintaining the ability to deliver extensive partner-developed functionality to end customer solution. 

Book a quick demo

Oleg Zhuk
Technical Product Owner