Migrating a critical service from NoSQL to SQL with zero downtime
by: Jona Derksen Within Kramp Hub we
Kramp Hub is proud to be building products that enable our partners to have a competitive edge in the e-commerce agtech industry. By anticipating customers’ needs, we’re helping them to stay future-proof in the ever-changing technological environment, creating products that the customers can use while they are on the go. Our team is working on e-commerce solutions serving different business models and we are currently dedicated to giving the agtech industry the technological boost that it deserves.
To provide the impeccable platform experience that we envisioned, any existing product on the market just couldn’t do the trick. Not to settle for the second best – we decided to do the job ourselves. We are a fairly small, yet compact and agile team, with experts in their respectable fields, that focus their knowledge into two directions – creating simple solutions to complex problems, and sharing this knowledge across the team without reserve. This great talent comes together in a melting pot of people from 14 different countries, challenging each other daily with opposing ideas and diverse opinions.
To ensure a good work-life balance we are free to plan our 40-hours work week for our own convenience keeping in mind that software development is a team game and we need to keep in close touch with each other. The biggest goal of Kramp Hub as an employer is to provide a healthy and inspirational environment, which enables our teammates to grow and learn day by day.
A glance at our current projects
Kramp Group is Europe's largest specialist in spare parts and accessories for the agricultural industry.
Maykers is an online platform that facilitates smart connections between farmers and their partners to make the business of farming successful.
Kramp Hub is there to create solutions that will give the agtech industry a push in the data-driven and customer-centric direction. This goal is only reachable when every team knows the ins and outs of the product, and when the working atmosphere encourages trial and error, educated guesses, and following the road not taken. Our teams are organized around the functional e-commerce domains they work on. Every team has a direct, visible impact on the product. The teams are self-organizing units, deciding on what working approach functions best for them – this is why the teams can truly embody the ‘Build it, own it, love it” approach.
What does it do: Uses data driven solutions to improve
relevance and introducing new features to make finding products as easy as possible for our users. Future plans: making things more configurable for our tenants, going forward on our data driven journey, scaling search solutions for 16 different languages. Tech stack: ElasticSearch, ApacheBeam, PostgresQL, leveraging different products of GCP.
What does it do: a) transforming the incoming
technical product data from the tenants into our domain b) it handles sales categories in a tree-like structure c) linking the previous two together.
Future plans: as we get the product information, the product will categorizes itself based on the predetermined mapping rules. Our Data team’s predictions will be made to automate this. Tech stack: Neo4j, DGraph, PostgreSQL, Redis.
What does it do: All things money: pricing, taxes,
quotations, promotions, offers, wish lists – you name it! Among other things, currently busy with introducing a new service which will enable the front-end and back-end teams to deploy particular experimental features to a certain group of users very quickly and easily. Wide range of tech stack is used across different projects.
What does it do: Takes care of everything in the
experience and composition layer – a nice challenge in itself is the separation between these two. Maintaining the APIs for the channels for each different tenant (Maykers, KH, KH App); handling 300 requests per second, which yields efficient APIs. This domain is full of interesting components to serve different business tenants’ needs. Tech stack: Go, GraphQL, gRPC.
What does it do: handles customer data: accounts,
addresses, T&C, authentication, authorization, customer targeting and many other related topics. Authentication and authorization are two topics that keep us on our feet – due to the layered B2B model of our tenants that yield a lot of customization. Tech stack: GCP Identity Platform with specialized authentication flows for SAML and custom authentication and decentralized custom authorization using JSON Web Tokens for tree based access.
Last year we launched our image recognition mobile application and we are proud to share that it has won 5 awards across different categories so far: golden International Customer Experience award for Best Use of Mobile category, golden Dutch Interactive Award in B2B Commerce category, silver FIMA award for technical innovation in agricultural management solutions category, silver Spin award in eCommerce category and silver Lovie award in Utilities & Services category for mobile!
The image recognition functionality runs on the machine learning model we created and it gives us great pleasure to know how it has improved the experience on our platform. This product is a joint effort by Kramp Hub’s back-end and front-end teams along with our partners at Kramp, Q42, GriDD and Defigners.
Curious to see what’s cooking in our Tech Kitchen? Take a look at our podcast episodes and blog posts below.
by: Jona Derksen Within Kramp Hub we
As a part of being a true Hub (/hʌb/, noun – the central or main part of something where there is most activity) our wish is to be an adhesive for the tech communities, gathering experts from the start-up, scale-up and corporate scene to exchange knowledge and create fruitful solutions.
You will find the HUB in the city centre of Utrecht, a 2 minute walk from the train into the office. Located in an old building; that used to be a trade market, it is now a vibrant place where you will find several start-ups and scale-ups. (For more information visit: Jaarbeurs Innovation Mile).