Retail is a challenging industry where companies need to understand and provide solutions to their customers changing needs. Especially here in Russia under lockdown. Three out of four Leroy Merlin stores, from Validvostok to Kaliningrad, had to close from a day to another.
I’m Alexander Bondarik, I’m Head of Integration & API platforms at Leroy Merlin Russia. Today I would like to talk about how we went from a Service-Oriented Architecture to a Low-code platform. This is a very transparent feedback article. I will provide you with screenshots and insights of our in-house API management & Low-Code systems and Dashboards.
Changes in consumer behavior can result in a loss of revenue for traditional retailers. The main factor in making a profit in the face of uncertainty is the company’s ability to quickly respond to changes, offering products tailored to customers' individual needs.
Regional expansion, consumer behavior changes, and global lockdown-like challenges have a profound impact on retail businesses, including the Do It Yourself (DIY) segment in which Leroy Merlin operates. In a situation where three-quarters of stores from Vladivostok to Kaliningrad can close in one day, it is not easy to talk about long-term planning. Working in conditions of uncertainty in society, in the consumer market, and the field of business regulation requires new approaches and tools to quickly and efficiently solve business problems.
A global change of teams organization
Some time ago, the Leroy Merlin company decided to abandon the business model of a classic retailer — the development of a network of physical stores and a wide, but still limited sales area of the assortment. The company initiated a movement first towards omnichannel and then towards the Platform and Ecosystem business model (Fig. 1). This eliminates barriers between the company and its partners by creating a single ecosystem around a seamless customer journey. Within the framework of this model, a store visitor at one point should have access to everything necessary for the construction and arrangement of a house — from planning and calculation services to purchasing materials and performing work.
To implement such a business model, a series of projects was initiated: a marketplace with an extended product offer, not limited to a shelf in a physical store; provision of equipment installation and repair services; expanding cooperation with B2B clients; the provision of residential and utility design services, etc. The products have been integrated into one ecosystem and orchestrated according to the store’s seamless customer journey.
New processes required a change in approaches to corporate governance: decisions must now be made on the basis of continuous collection of data on operating activities and analysis of customer behavior in order to create new or amend existing business processes, as well as simulate their implementation. An infrastructure was needed to test business hypotheses quickly and efficiently, as well as an environment to safely change the underlying business processes and models.
All this stimulated the implementation of cardinal changes in the organizational structure of the company. The previously existing separate IT department was reorganized: its employees were divided into product teams, combined with operational teams, which are responsible for certain parts of the customer journey (omnichannel sales, payments, etc.) or strategic processes of the company. Teams autonomously work on their goals, have their own action plan and are guided by their own performance metrics. Each team includes specialists in business processes and IT, which, on the one hand, excludes intermediaries between the task managers and solution developers, and on the other hand, immerses IT specialists in the specifics of doing business. This allows the context of the work to be transparent and understandable to all team members.
To support product teams, accelerate and improve IT processes, three base departments have been created:
— IT platform department (infrastructure, cloud, containers, monitoring, CI / CD);
— data platform department (corporate data lake and analytics);
— department of integration and support of microservices landscape.
All services provided by departments are available to product teams in self-service mode or upon request.
The transition to the platform and ecosystem business model implies that both goods and services are available to the buyer, which he orders and purchases in any way convenient for him. In fact, we are talking about the transition from one-time customer contacts with the store for the purchase of individual materials to his continuous support at all stages of repair or construction. From the point of view of IT systems, this means launching many services, orchestrating processes, building composite services and a large amount of work on integration with various internal entities: master data, microservices, business process orchestration systems, as well as with the ecosystem surrounding the company. At the same time, the business has certain requirements for the speed of changes in business processes and systems, costs and quality of internal products, expressed in terms of metrics (time to market; reliability, availability and simplicity of services; total cost of making changes to business processes; transparency and predictability).
It is clear that without an architecture that allows you to quickly and flexibly change the IT landscape, respond promptly to uncertainties, ensure the required speed of change and reliability of solutions and services in the face of cost constraints, it is impossible to implement the Platform and Ecosystem business model.
Build the tools to serve the teams
Modern IT infrastructure "Leroy Merlin" is based on granularization of services (Fig. 2), implying a change in emphasis from virtualization to containerization and FaaS (Function as a Service) . Virtualization remains, but there is a new level of abstraction available to teams. Services become more specialized, and it becomes possible to independently carry out changes, scaling their development and development. However, granularization complicates the management and orchestration of many different services. In addition, since it is not possible to jump straight to the microservice landscape, it is inevitable that legacy monolithic applications will coexist for some time.
At the level of the global ADEO group of companies, which includes the Leroy Merlin network, the main principles of the architecture for supporting the Platform and Ecosystem business model were formulated:
— rationality (Rationality) — optimization of resource usage, elimination of duplication and dilution of efforts due to maximum reuse of ready-made software components, optimization of teams and their maximum efficiency when using available resources;
— modularity — the division of any system or process into many independent modules with the possibility of their recombination to change business processes and create new business models;— connectivity — the ability to quickly integrate components and ensure transparency of exchange between them.
This architecture eliminates any centralization and provides maximum autonomy for product teams to avoid bottlenecks that can slow down or even block any changes.
The foundation for implementing an application granularization strategy is API and integration. To ensure the independence of change, taking into account the complexity of the system, differences in technology and release cycles, IT systems are encapsulated using standardized interfaces, becoming isolated objects. Interfaces are documented in detail, placed in a single directory, access to them is controlled, their service level agreements (SLAs) are monitored, and analytics on their use is collected. This allows you to minimize possible chaos and ensure order at the enterprise architecture level.
All APIs are divided into three layers (Figure 3), which ultimately determines the topology of all services.
— Object API layer — a set of small, linearly independent data access functions. This layer contains the CRUD (create, read, update, delete) master data repositories, legacy applications, licensed commercial boxed software and parts of the global IT products of the ADEO group.
— The layer of business processes and orchestration (Process API) — the functionality of the unified business rules of the company.
— Layer of adaptation (Experience API) — means of adaptation to specific applied tasks: services of the Back-End-for-Front-End class; Software for mobile and desktop applications; functionality of composite services (mash-up); means of integration with partners, customers and the ecosystem surrounding the company; business logic of applications specific to specific types of business.
Different requirements and control processes apply to different tiers. For example, the mobile application team is responsible for the mobile application software for clients from the Experience API layer, while the applications for inventory control in the Object API layer have rather high-quality requirements and tight control by corporate architects.
Thus, the company has a set of linearly independent services available from a single catalog, on the basis of which teams themselves can build their processes using cloud technologies, mediation tools (work with software of different levels, "layers") and API management, in full applying a low-code approach, which accelerates the path from the formulation of a business problem to a ready-made solution. There is no need to wait for the developer to implement the corresponding service — the business user can independently create the required application.
To manage the integration, the API Management toolkit is used to work with distributed interfaces. Leroy Merlin has its own single hub that allows you to integrate various mediators (mediators are templates for ensuring the interaction of objects, eliminating the need for them to explicitly refer to each other): gateways, a service network (Service mesh, a level of support for interworking services) and brokers messages (Fig. 4).
Unlike classical approaches, API Management tools in Leroy Merlin are used not only as an external facade but also as a platform for supporting internal communications between teams.
In the Leroy Merlin IT landscape, implementation of any logic in integration mediators is not expected: all logic is built by the teams themselves, and the remnants of the legacy corporate data bus are smoothly decommissioned. All publications and subscriptions to integration streams are performed by the teams themselves.
The portal publishes not only interfaces based on HTTP protocols, but also gRPCs, topics (Kafka broker event classifiers) and queues on message brokers.
The portal architecture makes it possible to simultaneously use various mediators: Istio, API Gateway, Kafka, RabbitMQ and NATS brokers. A low-code approach is used for orchestration, API development, and microservices (Figure 5).
Bring low-code to involve whole teams in features creationUntil recently, a large volume of business tasks at Leroy Merlin could not be promptly solved within the framework of available resources, so there was a need to search for new approaches. However, none of the integration solutions available on the market (Mule, Software AG, WSO2, etc.) allowed to fully solve all the company’s tasks, so it was decided to create its own corporate cloud platform Platformeco, available to product teams in PaaS mode and allowing to develop microservices, form integration flows and APIs in a graphical interface, and then deploy them in the cloud, getting the functionality of continuous integration and continuous delivery (CI / CD), autoscaling, transport between environments, monitoring, and more.
From the point of view of teams, Platformeco is a cloud service. Projects are deployed in isolation from each other to eliminate strong connectivity between them and ensure the autonomy of product teams. This allows you to increase team productivity by democratizing technology, engaging analysts and user interface developers to orchestrate services and develop business logic functionality, which reduces communication chains. Qualified developers of business functionality, in turn, focus on architecture, complex tasks (cases), creating plugins and connectors for the system. For example, the development and support team of mobile applications does not have dedicated engineers and functional developers — everything is configured either by analysts or by user interface developers. This optimization of the teams allowed the company as a whole to halve the wage bill.
On the basis of the new architecture, for example, an internal project of a unified mobile application for store employees was implemented, which allows them to perform any operations with goods, orders, prices and customer profile; makes it possible to draw up payment documents; make estimates; calculate delivery, and so on. The mobile application replaced dozens of individual applications that were previously used by employees at the information desk, and significantly increased the efficiency of sales consultants.
In general, more than 120 units of business logic flows and APIs were developed for the platform. Today Platformeco provides more than 5 million operations daily; more than 30 thousand users from more than a hundred stores of the trading network work with it. The time for launching new functionalities and making changes has been reduced by more than 15 times, and the time for localizing incidents has decreased more than 20 times due to built-in end-to-end monitoring. Ultimately, the time it takes to bring new business projects to market has been cut by three times. In addition, due to standardization, organizational changes have been significantly simplified: the transfer of functions between teams, the reallocation of employees by teams, contractors, etc.
The complete Platformeco toolkit is used by over 30 Leroy Merlin product teams. Today, the platform processes over 8 billion business transactions per month.
The Platformeco platform is actively developing: new business divisions of the company around the world are connected to it, and the functionality is expanding, including through open-source plugins created by the Platformeco user community. In addition, the platform and related methodologies are offered to external customers from other areas: finance, insurance, telecom, etc.
Original post (Russian)