By Stefan Adolf

Spryker – A dynamic framework for innovative business models

Commerce in the age of digital transformation

The digital transformation is seeping into all aspects of society, with no end in sight. The touch points of the past are changing and new ones emerging: Smartphone apps, social networks, voice-command speakers, smartwatches, and intelligent driver assistance systems are having a greater impact on our daily lives all the time. These technologies are fundamentally changing the customer journey, require enormous changes in the user experience, and are opening up a space between marketing and sales channels to such a degree that the list of requirements for commerce providers is growing dramatically.

Preparing for the unexpected

The search for the right online store software usually starts with two feature lists: one is an exhaustive wish list, while the other is a functional inventory of conventionally available systems. Often, it is impossible to reconcile the two lists with each other, and that’s where the problems start: unfulfilled wishes create extra work – early on in the planning stages, or later if additional custom developments become necessary.

Depending on the complexity, age, and openness of the selected platform, this can become expensive very quickly – and carries risks, too. You are always bound to the ecosystem you have opted for. Only in rare cases is it possible to know ahead of time what will be needed later: the most complex of commerce requirements is their own unpredictability.

Becoming more agile

Today’s requirements are much more dynamic than a few years ago. The relevance of a detailed set of specifications is dwindling; the desire for agile methods and scalable development processes is increasing.

The path to the future of commerce software is therefore leading towards frameworks and APIs, the decoupling of services, to best practices and guidelines, and to independent functions that can be swapped out or deactivated without interfering with the rest of the whole system.

Companies that have to survive in an agile environment can only set themselves apart by using modern technology, because disruptions in commerce are not taking place in the marketplace of the shop systems with clearly defined sets of functions, but are instead the result of consistent implementation of agile approaches and actions.

The Spryker Commerce operating system

Originating in the scene of the Berlin-based Project A Ventures incubator and shaped by a number of practical insights of the agile tech team from the startup Rocket Internet, Spryker is working on developing a collection of loosely coupled components that form the foundation of high-performance, maintainable, and easily scalable commercial applications.

Modifications with plugins

While the Spryker Commerce OS offers numerous conventional shop system features right out-of-the-box, where it really shines is in its support of agile custom developments. The underlying framework encourages developers to systematically apply the best practices of SOLID development and put into practice concepts of clean code in a uniquely pragmatic way.

Decoupled components

Cutting-edge templates and the use and provision of industry standards, such as PSR-compatible autoloading, Composer, Silex, dependency injection and Symfony components, which form the DNA of Spryker, ensure that all components are highly autonomous and can even scale separately from each other. The risk of working for too long on system-critical components and becoming alienated from the master branch of the basic software is reduced immensely thanks to Spryker.

Incidentally, this approach must not be confused with the widely acclaimed microservice architectures; Spryker retains the benefits of a monolithic system, such as the manageability, re-usability, and transparency of all dependencies. However, developers do not have to feel constrained when designing their software and can instead develop their own solutions approaches. Spryker also helps them to document them well and integrate factories and façades loosely into the overall system.

Rapid implementation of innovations

New ideas that are developed, for example, with the data-driven evaluation of the customer journey must be quickly addressed with technology. The highly modular Spryker Commerce OS architecture ensures that extensions can be integrated quickly and reliably into production installations, and that their acceptance or success can be tested.

On the other hand, many business models that require only minor changes over the years are becoming more customized and sophisticated in this age of digital transformation. Instead of running the risk of having to start from scratch, Spryker’s agile foundation enables the development and operation of technical innovations in parallel with the old system. If it then becomes clear that the existing solutions can also be implemented well in Spryker, migration can be carried out gradually. As a result, companies are no longer faced with the “either-or” question, and can instead benefit from a smooth transition.

In about 20 minutes on your own notebook, you can clone Spryker's official Github repository and use its Vagrant configuration to build a virtual machine that allows you to set up a demo shop already including a considerable range of functions. Setting it up without a virtual environment would probably take much longer – Spryker's minimal set-up requires the installation of PostgreSQL (MySQL supported, Redis, and Elasticsearch in addition to a web server and PHP. class:fs-regular-m)

The separation concept

These exacting basic requirements go back to one key aspect of Spryker: the consistent separation of the front-ends that are visible to the customer. Spryker refers to these as apps. Then there is a back-end application, which, among other things, can handle product information management, inventory management, or invoicing. To better differentiate between these two aspects of the system, Spryker calls the front-end ‘Yves’ and the back-end ‘Zed’. Both communicate exclusively using a JSON-based RPC protocol or read the same data sources, meaning that Yves and Zed actually work independently of each other, but can also be scaled and deployed.

Consistent software quality

The configuration files for the Spryker sources show how serious the core developers are about coding standards, clean code, and best practices. Aside from configurations for Codeception acceptance tests and code quality tools, the Spryker team has already prepared the deployment of Heroku PaaS and the use of New Relic monitoring.

Rollouts are the responsibility of the integrator

Spryker doesn’t offer one single solution when rolling out demanding infrastructure requirements. The system can be operated on a self-hosted Kubernetes cluster and can also be rolled out its original Vagrant version via Terraform and Packer. The target infrastructure and customer’s needs are more important with Spryker Commerce OS than a rigidly defined deployment standard. The system therefore allows the user to decide how they want to roll out new code in the most intelligent and stable way throughout their defined stages.

Quick response times

You have to meet customers at eye level – but no one knows what this will mean in two years’ time. In addition to its excellent features as an agile basic system for classic commerce, the Spryker Commerce OS is designed with precisely this unpredictability of requirements in mind. The systematic separation of front-end and back-end, as well as the interface-oriented architecture, allow Spryker developers to quickly present entirely new sales channels and ways to monitor them, as well as to scale them without affecting other applications.

Open for the latest back-end integrations

But Spryker Commerce OS takes it even one step further. While industry partners offer integrations for payment gateways, for example, Spryker's architecture supports the seamless integration of back-end technologies, such as blockchain transactions or the use of machine-generated data for warehousing or production. Those who want drive forward their manufacturing or commerce processes with smart factories or IoT-based warehousing will also benefit from the help of Spryker: The fully automated processing of B2B transactions, or ‘bot commerce’, is possible with Spryker without any extra effort.

Let the future begin

Spryker lives up to its “Commerce OS” product moniker: As a modular system for commerce applications, it meets the challenges of digital transformation by delivering a clean architecture, clear focus on expandability, and systematic separation of front and back-end, instead of off-the-shelf solutions. This allows Spryker to respond quickly to requirements, without sacrificing power.

Turbine Kreuzberg and Spryker

Shortly after the release, we became a Spryker solutions partner and have been eagerly watching how Spryker has evolved ever since. In cooperation with our customers, we have been realizing projects using the Spryker Commerce OS since 2014. These include two marketplaces with sophisticated requirements for PIM and ERP integrations as well as dynamic pricing components.

Our experience with Spryker has shown that working with clients during the early concept phases is what yields the best results. A successful example of this early collaboration includes the minimum viable product (MVP) for the Swiss marketplace platform siroop – the world’s very first Spryker project – from taking on the project to the go-live in just four months.