Spryker: rethinking e-commerce architecture with Project A
December 1, 2014 Leave a comment
On my quest to find the right technology for my rethought e-commerce architecture I am always happy to see more radical approaches. And this is why I was very excited to hear that Project A is releasing its e-commerce framework Yves & Zed for merchants with very high demands in flexibility and especially pace for driving their business models.
I have already mentioned Yves & Zed in my main architecture post and why I like their architecture approach. By that time this technology was only available for ventures incubated by Project A. This will change very soon.
Spryker is an e-commerce framework, which enables launching and scaling individual e-commerce businesses at a very fast pace. And here is what happened before I’ve actually started to believe this:
To get some brief insights about this project I had a call with Alexander Graf (@supergraf), who is driving the company behind Spryker: Spryker Systems. A couple of weeks after that I sat together with Fabian Wesner (@FabianWesner), CTO of Project A Ventures and the technical brain of Spryker. He provided me with deeper insights into the core of Spryker: the software architecture, the components, source code and the reasoning behind important technology decisions.
The following characteristics of Spryker distinguish it from currently available solutions on the market:
1. Developer friendly core technology instead of endless and mostly useless features
A very important fact to get straight right at the start: Spryker is not supposed to be a plug and play e-commerce software with a lot of ready to use.
Its main purpose is to be a powerful tool and proven base for development teams with the task to build a solution for very ambitious merchants or brands. These merchants and brands have already years of experience in digital commerce and have very well defined expectations and requirements. Usually they are currently stuck on their current technology stack, which consists of heavily customized software products.
Spryker is addressing this exactly by not shipping with a long list of features. Instead it provides a framework and a core architecture with separated components to guide the development team and make it very efficient.
2. Deeply integrated own data warehouse as the single point of truth for business decisions
Most of the products on the market are not covering this essential component at all. This leaves the clients stumbling in the dark when it comes to analysing the efficiency of marketing campaigns and spending their budget with more success in the future. And this is only one example.
Spryker has a data warehouse at its heart and it is the single point of truth for all decisions, because it pulls in web analytics data, order processing data (returns, payment defaults, etc.) and offers an easy way for developers to create reliable reports.
3. No page caching for predictable application behaviour instead of cache layers of maintenance hell
The front end of Spryker is build to serve requests very fast by accessing the needed data from fast key-value-storage systems and search engines like ElasticSearch. There are no requests to relational databases or web services. Only when customer data is requested (e.g. at the login) or an order is placed the backend systems are called via an API.
This allow Spryker to scale without whole page or page fragment caching which becomes quickly inefficient when you begin to service customers individually and can be also very painful to maintain.
4. Different and separated application components for the right job instead of all-in-one monsters
Stryker consists of the main software components front end, backend and data warehouse. They are separated and built on different technology to master their designated tasks better than an all-in-one solution.
The front end handles presentation, is easy to extend, has no own data storage and allows very fast release cycles. The backend covers order processing, stores operational data and provides web services for the front end. The data warehouse collects all data about customer engagement, operations and finance and offers reports.
All these components are built on PHP if you exclude software like ElasticSearch or Saiku. This enables the team to work on the complete backbone of the solution for the client.
Summary
Considering the facts above I will definitely keep an eye on the further development of Spryker. After what I have learned about it I’m convinced that development teams can indeed work fast and efficient with Spryker. And without all the overhead merchants do not get stuck in a slow and expensive development process.
For all of you who like to get information about Stryker at first hand and meet the team: there are already announcements for events on http://spryker.com/events/.