Hearty congratulations to Tyk Community Award winner Darkweak!

Darkweek banner

Yes, it’s that special time of year again! Time to roll out the virtual red carpet and congratulate the winners of the Tyk Community Awards.

We thought the bar had been set high in 2020, but 2021’s contenders have risen to the challenge beautifully.

Hang on, what’s that? What are the Tyk Community Awards? Ok, let me back up for a moment. The Tyk Community Awards are Tyk’s chance to reach out and recognise outstanding contributions within the open source community over the past year.

Why? Because Tyk always has been (and always will be) open source through and through. Our open source community members push us to innovate, contribute to our code, hold us to account and support the development of our product in myriad different ways. We just wouldn’t be where we are today without the community.

That’s why we get so excited about the awards. They’re our chance to highlight contributors who have gone above and beyond – contributors like Darkweak.

Round of applause, please!

Darkweak (aka Sylvain) has done some seriously impressive creating over the past year and we are delighted to acknowledge and reward that with a 2021 Tyk Community Award.

Our excitement centres around Souin, Darkweak’s new Open Source caching tool, and its integration with Tyk.

Where did this all begin?

Developer Sylvain discovered Tyk when he needed an API management tool to expose APIs securely to any clients. He was initially seeking features like rate limiting per user, per keys and so forth, and needed to be able to deploy some configuration with a hot reload because of his Dockerized servers setup.

In parallel to that, Sylvain wrote Souin – an HTTP cache system that provides features such as tag-based invalidation, distributed storage and of course respects the caching RFC-7234. It was a journey in plugin development that would eventually lead to Souin becoming a Tyk middleware caching system.

Saving precious milliseconds

After several months of using Tyk, Sylvain began to focus on the fact that the API management had to connect to the services each time the clients were requesting the associated URL, even if the response was the same as the previous one. While Tyk could cache responses for a predefined duration (such as storing them for five minutes), it didn’t offer a way to invalidate them. He realised that, by creating a way for Tyk to support the different HTTP cache headers, he could save precious milliseconds. The cache could then be invalidated programmatically or manually, depending on need.

And so Sylvain set to work. He decided to write an adapter on his cache system, Souin, that would be compatible and usable with Tyk.

Time for change

Sylvain found it really easy to integrate using the Tyk HTTP handlers and has made the different .so files available in each Souin release for the current and the two previous Tyk releases.

That’s not to say the creative process wasn’t tough in places. Sylvain called on support from Jenaye (Mike Houziaux) and Deepocrates (Luc Michalski) for support with the development of cache system goals, as well as for plenty of motivation. He also worked closely with the Tyk team to orientate the plugin development as closely as possible to the Tyk codebase.

The full possible configuration of Souin’s middleware caching system is seriously impressive. Tyk has been impressed over and again with Sylvain’s determination and commitment during the creation process. What a worthy Tyk Community Award winner!