Trace Id is missing
March 31, 2023

SparePartsNow revolutionizes a multibillion-dollar market using highly scalable Azure services

Technical Story

Just about anything can be ordered online these days. But when a machine breaks in a factory, a company must find a specialized reseller, make a call, pay retail prices, and await delivery. The founders of SparePartsNow GmbH of Aachen, Germany, want to disrupt this model. By combining their industry knowledge and Azure technologies, they seek to make SparePartsNow the universal spare parts platform for manufacturing. Azure services helped give the startup the scale and flexibility that it needed to do for manufacturing companies what online shopping websites have done for consumers. A small team of engineers accelerated the vision using event-driven, serverless Azure Functions code and cost-effective Azure App Service plans for website hosting. Since launching in October 2022, the SparePartsNow platform has impressed the market, becoming the only business-to-business (B2B) platform of its kind to connect leading parts manufacturers and end customers.

SparePartsNow

“The Azure platform was a natural choice for us, due to factors like team fit, good integration with tooling, technical maturity, and the potential to scale.”

Sebastian Kleinschmager, Co-Founder and Chief Technology Officer, SparePartsNow GmbH

Startup looks to upend a classic retail market

SparePartsNow GmbH is solving a decades-old customer problem. The global spare parts market represents billions of dollars in sales in Germany alone. In this high-margin arena, machine manufacturers have tight relationships with the companies that make their parts, often bound by exclusive contracts. That leaves little room for buyers in manufacturing to negotiate prices and terms, and the majority of parts manufacturers have no access to their end customers. Meanwhile, consumers can directly buy just about everything else online and can expect price transparency, simplicity, and fast deliveries. But this is not the case in the fragmented spare parts market, where buyers pay the price.

Dr. Christian Hoffart, Chief Executive Officer and Co-Founder of SparePartsNow, saw an opportunity to remove the middleman and to revolutionize the market for the companies that supply mechanical engineering parts and their buyers. The change is more than welcome. “Our providers are totally enthusiastic about the approach,” Hoffart observes. “We did not have to convince them of the benefits of the SparePartsNow platform.”

The idea is simple. With a click, SparePartsNow customers can order the precision parts they need—typically at a lower price—and have them delivered to their door, often with no extra cost.

SparePartsNow launched with a unique network of more than 30 leading suppliers offering 5,000 parts. Today the business offers nearly 20,000 parts from 40 suppliers and continues to grow fast. It’s a stunning outcome for a startup that started with only three engineers. It took real ingenuity to get the vision to market so quickly.

“It was clear to us that if we wanted to operate our platform flexibly and quickly add new features, this was only possible in the cloud,” recalls SparePartsNow Co-Founder and Chief Technology Officer (CTO) Sebastian Kleinschmager. “Most of us were very experienced in the Microsoft world with the .NET platform and everything that connects to it. So we knew Azure would be a natural fit for the back end.”

Relying on an iterative development approach with minimal project management ceremony and maximum business alignment, Kleinschmager and the team built the first prototype within weeks. “We got set up very quickly with our foundation and architecture and the main services,” he reports. “We could have done a big design up front, but we didn't. We iterated the features very quickly, tested them, and adjusted.”

SparePartsNow platform eliminates the middleman in the competitive market for mechanical engineering parts and enables suppliers to offer buyers better prices and faster delivery.

A handful of engineers maximizes returns using a high-productivity platform

In building the SparePartsNow platform, the engineers set two goals: work fast, and avoid bugs. Knowing that the design would inevitably change, they built in as much flexibility and automation as possible.

“From our point of view, it was absolutely essential for an evolving project with a small team to have a good set of automated tests and processes,” Kleinschmager explains. “Keeping the manual chore work for humans as low as possible frees them for the more important feature work.”

Automation is baked in at every level of the SparePartsNow platform—from the order processing workflows to the integration testing to the software releases and the infrastructure setup. To fulfill customer orders, the event-driven processing layer uses Azure Functions to orchestrate invoicing, payment, and delivery logistics. According to Kleinschmager, the programming model of Azure Functions made it easy for the team to get started. “First, we wanted to build all the piping ourselves, and then we saw that Microsoft provided this service called Durable Functions. It was exactly what we needed.”

Durable Functions is an extension of Azure Functions that supports the platform’s long-running processes. “The Durable Functions service was especially noteworthy, because it provided us with a lightweight and flexible way to orchestrate our long-running, asynchronous processes with as much code and skill reuse as possible,” Kleinschmager adds.

Rather than build such a workflow engine from scratch—a time-consuming effort—the developers were free to concentrate on building their core processes. In addition, they had the flexibility to customize Durable Functions as needed to support the company’s idempotency requirement and versioning strategy.

Some background processes, like the fulfillment of an order, along with its payments and delivery, can take days or even weeks. This requirement made an Azure App Service plan the perfect host for these functions, because it allows long-running and flexible function workloads. This fully managed, enterprise-grade service is designed for teams that want to quickly build, deploy, and scale web apps and APIs.

The setup gives SparePartsNow all the room it needs as it grows. As Kleinschmager puts it, “It's a matter of, hey, just scale up this Azure App Service and maybe spin up another instance, and then you're done.” If the project outgrows a single App Service plan or Azure Storage instance, the team can easily split functions into separate App Service plans based on functional domains.

Kleinschmager acknowledges that he could have built some parts of SparePartsNow on a business processing modeling engine. “But then I would need an army of business analysts to model my business processes,” he points out. “We wanted to do things quickly and keep the work to a minimum. Azure was a natural fit.” After all, if you have a team of developers skilled in the domain, modeling in code is the most natural and efficient way to implement your processes.

SparePartsNow web application architecture
On the front end, SparePartsNow is a Next.js web application hosted by Azure App Service. Durable Functions, an extension of Azure Functions, supports the platform’s long-running processes. The storage layer hosts most of the data about products, customers, and orders in Azure SQL Database.

Fast, secure order processing

The platform’s customers include business users, retailers, and SparePartsNow administrators. The shopping front end is a Next.js web application, not a static web app, hosted by Azure App Service. This managed service supports the full Node.js platform, including the use of static site generation, server-side generation, client-side JavaScript, and hybrid approaches with some caching features.

“We prefer a tightly integrated development experience,” Kleinschmager says. “The entire team has comprehensive experience in the web, .NET Core, and Azure DevOps world, so the Azure platform was a natural choice for us, due to factors like team fit, good integration with tooling, technical maturity, and the potential to scale.”

“Team fit” saves time, since the small team can bring existing skills to the project. Engineers can focus on coding the business logic in a language they know (C# and TypeScript), and the fully automated continuous integration and continuous deployment (CI/CD) pipeline deploys the cloud infrastructure using infrastructure as code (IaC), along with the compiled .NET Core binaries to the targeted Azure services.

The API layer of the SparePartsNow platform serves as the integration point for a wide variety of IT components, including the systems used by the company’s logistics and payment service providers. This layer also transforms the product data for display and governs user access.

“Azure App Service and the API layer are crucial to the functionality and orchestration of the entire platform,” Kleinschmager notes.

To give users fast, reliable, and secure access to the application’s static and dynamic web content, the API layer and other services use Azure Front Door. This content delivery network (CDN) uses the extensive Microsoft global edge network to deliver images and other assets in the shortest possible time. Together with the Azure DNS zones, the team can manage all of its platform domains using Azure Front Door, apply certificate management, assign domains to routes, and profit from the managed firewall and bot protection rules that Azure Front Door provides.

Given the planned scope of the platform, expansive storage was a top requirement. The storage layer hosts most of the data about products, customers, and orders in Azure SQL Database, an always-up-to-date, fully managed relational database service built for the cloud. File-based assets, images, invoices, and other documents are stored in Azure Blob Storage, an object storage solution that’s optimized for managing massive amounts of binary data. The team configures sensitive documents using the immutability policies in Azure Storage so that business-critical data is stored in a write once, read many (WORM) state.

In addition to Azure services, SparePartsNow integrates open-source components, including Elasticsearch. Elastic partnered with Azure to make a bring-your-own-license (BYOL) version of its popular search engine instantly available on Azure Marketplace. This integration made Elasticsearch another timesaver for the team, which uses it as part of the asynchronous indexing of product data, images, and other assets so users get the benefit of speedy search results.

Azure services from end to end

The team designed the SparePartsNow platform with cross-cutting concerns in mind. For example, Azure DevOps anchors the key intersection between the development process and IaC, using Pulumi for software deployment.

“To ensure as few errors as possible, both the creation of the entire infrastructure and the release of new software versions are fully automated using IaC and integration points of the Azure DevOps environment,” Kleinschmager explains.

The team’s top choice for IaC was Pulumi, which works with Azure DevOps to create a pipeline that defines, builds, tests, and deploys infrastructure. The two environments also share infrastructure configurations. With Pulumi, the SparePartsNow team wasn’t limited to a simple, declarative approach, like Bicep or Terraform, each with its own domain-specific languages. Instead, developers can code in TypeScript or C#, benefiting from the use of languages they already know and greater flexibility to define custom providers.

The SparePartsNow platform includes several more cross-cutting Azure services. The team uses Azure App Configuration to manage its many technical and business settings. This managed service provides a universal, hosted location for configuring, storing, and retrieving parameters and settings. All running back-end services fetch most of their settings from App Configuration, which provides a reload mechanism that allows the team to change and propagate settings to the services without having to restart any of them.

For identity management, SparePartsNow incorporates Azure Active Directory B2C, which registers users, authenticates sign-ins, validates email addresses, and supports the all-important “forgot password?” function. “With Active Directory B2C, we can know that the storage and management of our user data complies with current data protection and security standards and conforms to current OIDC [OpenID Connect] standards.” Kleinschmager says. “Although there was a learning curve, we appreciated that it’s highly customizable and also very affordable.”

For end-to-end visibility, the team relies on Azure Monitor to help keep SparePartsNow processes and infrastructure running smoothly. “Application Insights and Log Analytics aggregate logging data and display it in an easily searchable way,” Kleinschmager notes.

Application Insights helps the team to track down technical issues and bugs that colleagues or customers report. It also helps the team find issues in the infrastructure even before users report them. For example, by specifying automatic alerts and health checks, the team is notified if an issue arises in the infrastructure or applications or if any unhandled errors occur.

Azure Monitor aggregates metrics in several complex but powerful ways. “It was quite a challenge to grasp Azure Monitor log aggregation in the beginning,” Kleinschmager recalls. “It is important to send all necessary diagnostic data there. Afterwards, it can help a lot to analyze and correlate data across different log sources.”

Sensitive configuration values, such as database credentials, certificates, and encryption keys, are stored in Azure Key Vault. For the team, Key Vault works like a natural extension of Azure App Configuration and gives developers a place to store and generate especially sensitive settings. Together with App Configuration, Key Vault enables the team to tailor access to sensitive credentials based on users and managed identities in the infrastructure.

Kleinschmager points to the importance of role-based access control (RBAC) and managed identities across all the services used in the solution. Nearly all Azure services in the solution are connected and given access to each other through RBAC, which ensures that only the services and users that need read or write access to certain resources are given those rights. “It allows very fine-grained access control and makes the need for many username/password combinations and shared credentials a thing of the past—meaning, a lot less credentials for us to manage and secure in a growing environment,” he adds.

“We especially enjoyed the tight integration inside the Microsoft ecosystem, with Azure Active Directory, Azure Resource Manager, Azure DevOps, and the other parts working seamlessly together.”

Sebastian Kleinschmager, Co-Founder and CTO, SparePartsNow GmbH

Success for an ambitious startup

The appeal of SparePartsNow is easy to see. The platform gives suppliers and buyers what they need. As Hoffart explains, “Customers can immediately see how long the delivery time is, and when placing an order, track their delivery at any time, as they are used to from the consumer sector.” With a predictability they didn’t have before, SparePartsNow customers can speed machines back into production.

Hoffart adds that the suppliers are just as enthusiastic about SparePartsNow. As he puts it, “We can offer suppliers an additional distribution channel that leads to higher unit revenues because they can offer their parts more cheaply than an intermediary.”

Kleinschmager points to the serverless, cloud-native design that made it possible for a small team of engineers to bring SparePartsNow to market quickly. “Especially for startups, expenditure plays a significant role,” he concludes. “Our costs for Azure per month are very affordable. If we had tried to set this up on-premises, we’d pay 10 times more for the hardware, licensing fees, and all the extra employees we’d need. In addition to the many other advantages of Azure, you can simply say that it pays off!”

“Especially for startups, expenditure plays a significant role… In addition to the many other advantages of Azure, you can simply say that it pays off!”

Sebastian Kleinschmager, Co-Founder and CTO, SparePartsNow GmbH

Take the next step

Fuel innovation with Microsoft

Talk to an expert about custom solutions

Let us help you create customized solutions and achieve your unique business goals.

Drive results with proven solutions

Achieve more with the products and solutions that helped our customers reach their goals.

Follow Microsoft