Zalando is Europe‘s largest online platform for fashion. The extensive range for men, women and children’s fashion as well as accessories and sporting goods ranges from global brands, local and fast-fashion brands to self-designed private labels – altogether Zalando works with more than 1,500 brand-name manufacturers. The Berlin-based company was founded in 2008 by Robert Gentz and David Schneider and now supplies a total of 15 European markets.
Since 2014 Zalando has used Camunda for the execution of its customer orders. This includes the creation of accounting data, checking of coupons, communication with payment service providers, holding of articles in the logistics centers, sending order confirmations, fraud check and communication with the ERP system.
The following interview was conducted with André Hartmann and Jörn Horstmann. Both are Java developers at Zalando.
“Zalando’s received orders are processed via the so-called ‘Take order process’. This business process includes business logic, as well as numerous service integrations, such as the coupon service, the stock service, the payment service, the partner service and integration with the logistics system and SAP.
The logic of this process is extremely complex and covers many special cases, which depend, for example, on the location of the customer, the method of payment or shipping address.
The process had initially been automated via a self-developed ‘process framework’. This was, however, not optimally designed and difficult to understand for the product managers. The process documentation and the actual code diverged again and again and the process logic was spread across multiple systems.
As a result, it was almost impossible to understand the actual operation of this strategically important core process.”
“Several BPM products were evaluated. The final decision for Camunda was motivated by the following aspects:
“On the technical side the organically grown process had to first be completely understood and displayed in BPMN.
On this basis, we were able to develop test scenarios for all business transactions with Camunda, as well as integration tests for end-to-end process.
Scalability and performance were critical for the successful execution of orders of more than 16 million active customers. A synchronous processing, for example, had to take place in less than 300ms.
In addition, a high availability runtime environment with frontend nodes for load balancing and backend nodes to perform the jobs had to be put in place.
Due to the amount of data, the order data is distributed to eight structurally identical databases. The key to finding the information is the email of the customer. To implement this sharding strategy one Camunda Process Engine per shard was established.”
“Thanks to the introduction of Camunda, the professionally documented process now 100% corresponds to the technical reality. Most questions regarding the process can be instantly answered by a quick look at the BPMN diagram. This is an important foundation for the continuous improvement of the process and thus also the further growth of Zalando.
“All orders run through the process synchronously as part of the shop checkouts. The next step is the migration of the succeeding, asynchronous processes.”