KrakenD framework joins the Linux Foundation. Read more.

Case study - Afosto

Driving headless e-commerce with KrakenD

Driving headless e-commerce with KrakenD

Afosto is one of the main software (SaaS) solutions empowering omnichannel commerce for retailers in The Netherlands. Our software empowers over 150 store owners with selling on- and offline. Two years ago we started the transition towards an API-first development paradigm, currently powered by over 90 cloud-native microservices. KrakenD has enabled us to make this shift naturally.

Challenges KrakenD helps solve

Commerce is always challenging. We have to deal with sudden spikes in traffic, payments, ever-changing regulations, and large amounts of data for analytics.

  • JWT’s (JSON Web Token) are great but come with some downsides. For example, invalidation of tokens (after logout) or blocking users goes against the stateless nature of these types of tokens. This is where KrakenD shines. It has great support for token invalidation via its lightning-fast bloom filter implementation.
  • Configuration management for many services might seem complex at first. With the “configuration as code” setup built-in into KrakenD we could reduce this complexity. All configuration now lives in one place.
  • KrakenD is open-source software. Because of the way it is built, we don’t have to worry about limitations in extensibility. We can extend KrakenD with ease without sacrificing performance. This makes it one of the fastest and most flexible gateway solutions on the market.

Putting it all together

Our stack runs for 99% on Google Cloud. It’s hosted on their managed Kubernetes solution (GKE). We’re routing Ingress through KrakenD. KrakenD, in turn, redirects requests to the appropriate backends. All our backend services (microservices) have their own Git repository and each repository contains an OpenAPI definition for the service. These OpenApi files are committed to a central repository during the CI (Continuous Integration) process. This commit triggers a new gateway build. This build joins all the OpenAPI definitions and converts them into a single KrakenD config file. Within the OpenAPI definition, we can define OAuth scopes, rate limits, accessibility (from the internet), and allowed headers. These parameters are placed in the config file so KrakenD can verify in- and outputs.

How KrakenD helped Afosto

KrakenD was a clear winner for us and after a year of production usage, we have never regretted the choice. It reduced operational overhead and gave us a great tool to proceed in our venture to be a major player in the commerce field.

Organisational benefits

  • Reduce complexity and management overhead while empowering individual developers to write and deploy their services
  • No vendor lock-in or hefty license fees
  • Extensibility of the framework
  • Approachability of the KrakenD development team

Technical benefits

  • A stateless gateway that scales horizontally without any further requirements
  • Great throughput and performance. The gateway has zero to little overhead while giving us critical features
  • Configuration as code
  • Feature-packed and mature
  • Provides a great layer of security

About the author

Sjoerd Riemersma is the backend developer who implemented KrakenD at Afosto SaaS BV and has been actively doing development and extensions for the past 2 years.

Next KrakenD use case:

About Afosto

Afosto SaaS BV is a Dutch company with a team of commerce enthusiasts. Our goal is to improve commerce processes in a scalable and efficient manner. We achieve this by using our revolutionary software solutions to help retailers sell with confidence and insight.

By listening carefully and working side by side with our customers we help them to continuously innovate and grow.

Visit Afosto

Stay up to date with KrakenD releases and important updates

We use cookies to understand how you use our site and to improve your overall experience. By continuing to use our site, you accept our Privacy Policy. More information