Innovation is the key to success. Especially in a market where change is constantly on the agenda. Being disruptive in the same market is difficult, but certainly possible if you make the right technical choices. It is also possible to be disruptive as an e-commerce platform. Especially when your development and release process is in order.
There are many different types of eCommerce software on the market:
Open source software such as Magento, WooCommerce and Prestashop.
SaaS software such as NextChapter, Demandware (Salesforce Commerce) and Shopify.
Closed Source such as Hybris, Intershop.
Custom Software.
Each type of software has its own advantages and disadvantages. The question is what type of eCommerce software can be truly disruptive in the next 5 years if we look at it from a technical perspective. We see in the market that traditional eCommerce software, for example Magento, is having a hard time. Many parties that run on this software experience many problems, bugs and migrating to a new version is almost impossible.
Parties that run on custom software invest a lot of time and money in new functionalities, processes and solving problems. Everything has to be paid for and it is difficult to keep up in a market in which new developments and smart technologies follow each other in rapid succession. Think, for example, of Elastic Search, new ways of hosting, new database technologies, etc…
SaaS platforms are the new kind of eCommerce software that can be really disruptive if we look at it from a technical perspective. Both for the B2C and B2B market.
Functionalities are developed centrally and the customer base that uses them is large. This means that every function is tested by the entire customer base. Precisely because the customer base is large, a lot of attention is paid to security and performance and the best and latest techniques are always used. Bugs no longer exist and if they do, they will be fixed for you immediately and automatically released, often within the hour. At no extra cost, this is part of the license. Customers can fully focus on business and marketing.
Importantly, the SaaS platform also develops an API layer that makes headless commerce possible.
In order to be disruptive as a SaaS platform, it is important that the architecture of the platform is suitable for this. A microservices architecture offers the solution here.
Developing in microservices, in combination with the right release management vision (Continuous Integration) and hosting environment, offers the solution to be/remain scalable and flexible. In a microservices environment you can quickly develop, automatically test and release new innovations. Test and acceptance environments no longer exist (OTAP). You can easily cope with changes in the market because you are very flexible. Each service is a self-contained piece of software. For example, you have your own microservice for each functionality. For the product, the category, the cart etc… The services work independently of each other, if there is a bug in the cart, you solve it in the cart service and you release it automatically. No more hassle with what else needs to go live. You do not see this approach in open source software. At most in custom software, however, that becomes a very expensive hobby for the customer.
In the eCommerce market we often see that software is released every month or even once a quarter. This release then lasts all night or a whole weekend. Apart from this release, all things have been extensively tested for weeks. If real issues arise, you have to perform a rollback or go through the entire OTAP street again. Due to this very inefficient way of development, there is a good chance that you will be overtaken by the competition. Precisely because the market is so subject to change. The software is often monolithic in nature, which means that it consists of different applications, but with the same business objects, so that everything has to go live every time.
Hosting microservices is an important focus. Forget traditional servers and databases with limitations in CPU, RAM, etc. Move to containers and become scalable like never before. Preferably automatically using a global cloud platform such as Microsoft Azure, Amazon or Google. Big names like Netflix, Uber and the Dollar Shave Club are already hosted through this architecture.
Another big advantage of microservices is that you can work with different teams. Especially if you have to maintain a large platform, it can be useful that not everyone needs to know all the parts anymore. Because each service is self-contained, you can have a team that focuses entirely on Order management, a team on the front services, etc. This also makes you more flexible in using the most suitable development language and database per service.
Is microservices in combination with release management and hosting the only way to be disruptive in the eCommerce software market? No, the above is written purely from a technical perspective. You always have to be innovative functionally. The organization itself must also be able to deal with this (Agile) and development and Operations (DevOps) must work well together. It is precisely because of the rapid changes and questions from the business that you need to be able to act quickly as software. That is what the microservice architecture is so suitable for. You should always listen carefully to the market, the customer and the competition so that you can anticipate quickly.
Are there also disadvantages to microservices? Sure, building a monolithic system is simpler and easier to maintain. A microservice architecture can get complex. Especially when the number of services increases. It's also a different way of thinking for a developer. You have to be able to think completely out of the box. Once you've mastered that, you don't want anything else and it becomes a lot easier as a platform.
As a SaaS platform, NextChapter also had to make the choice for a development strategy with a view to the future. We have made the choice to switch to a microservices architecture. This is not only a new way of software development, but also forms a new basis for the platform.
The great advantages of a microservices architecture outweigh the extra work that has to be done. With this step, NextChapter can develop even faster and is more flexible and scalable than ever.