One of the unconsidered miracles of modern IT is that printers simply work. Once upon a time, they didn’t: setting up a new printer on a computer was a nightmare of different drivers, cables, configuration and incompatibilities — to say nothing of the networking challenges. Now, it’s plug and play.
3D printers are still largely in that early phase of pain, and that needs to change. Ultimaker, a Dutch company that makes 3D printers for the global market, has seen its customer base change rapidly from hobbyists and makers to professionals in engineering, design and manufacturing. With increased commercial importance comes a need for 3D printer configuration and management to be similarly professional, so Ultimaker is deploying a suite of online services to ease and automate the practicalities of printing real things.
“B2B needs a good software stack to integrate their own processes,” says Chris ter Beke, Ultimaker’s software architect for Services Platform. “Our customers want a complete ecosystem for their workflow. So we handle multiple print jobs, storing models, managing alerts and the like. And we’re creating an online marketplace where our customers can add new functions via plug-ins, order materials and so on.”
The service stack is built around a set of APIs that are exposed to customers and used by Ultimaker’s own service UIs.
We needed a lot of functionality, connectivity and reliability, and we needed to get developing quickly, so we chose Google Cloud Platform to host and MongoDB Atlas on GCP as our main fully managed database.Chris ter Beke, Software Architect for Services Platform, Ultimaker
Says ter Beke, “A relational database was never an option. We have a microservices architecture with distributed data between services. It’s much simpler with a document-based database, we can pass stuff as JSON over the APIs. It’s very efficient.”
Ultimaker found Google Cloud Platform an appealing option because of the out-of-the-box tools and simple integration options. “We’re currently running a proof of concept with Pub/Sub, Dataflow and BigQuery. On top of that, we use Google Data Studio and Microsoft PowerBI to gain data insights.”
At first, the company ran MongoDB on its own. “We started offering cloud solutions about two years ago, starting with backup functionality and a unified end-user account. At first we ran MongoDB in Kubernetes with a third-party operator to achieve better persistence and backups, but it took precious developer time. We moved to Atlas about eight months ago.”
The move was mainly to free up the development teams from database management, but also to relieve worries about scalability, ter Beke says. “We’re growing rapidly and want to spend our time working with customers and building new services. Atlas just works, and it’s got a lot of ROI. Not just in time and money, but in developer happiness. Nobody’s frustrated by a database issue, and that’s so important in a high-performance scrum team.”
Ultimaker needs very limited DevOps engineering capacity for its entire cloud stack. With MongoDB Atlas there are no worries about database scalability and accident recovery, ter Beke says. That leads to another benefit: “A good night’s sleep.”
MongoDB Atlas and Google’s cloud service work well together, he says. “We’re using the VPC peering feature to make sure all the traffic is separated, and the database is accessible only by our applications. We’re also using the unified billing, so our MongoDB costs are simply added to the Google Cloud invoices. This reduces complexity for our IT department.”
In the Ultimaker cloud stack, MongoDB Atlas handles all the non-binary data, using JSON structures for each microservice. Large files live behind a content distribution network layer on Google Cloud Storage. “MongoDB looks after user accounts, references to cloud storage objects, metadata for connected 3D printers, configuration backups and mobile push notifications. Also, all the non-binary data for the marketplace is stored in MongoDB.”
As his job involves not only providing architectural support to the developer teams but acting as the interface between business, marketing, and developers, ter Beke says he appreciated the way MongoDB approached the migration to Atlas. “You came and listened to us about our needs and took the time to demonstrate how things would work. That made it much easier to get sign-off from the company on the move.”
In the future, as 3D printing becomes ever more integrated into businesses, ter Beke says there is no shortage of things to work on. “We want to offer more materials to print with, and more specialized services. We’re expanding rapidly around the world and our open-source printer software package, which integrates with our cloud service platform, is very widely being adopted. We constantly look at some of our data structures; they need to be updated for efficiency and we don’t see any problems doing that. I’m happy to say that MongoDB Atlas on Google Cloud Platform will let us add many more dimensions to our services in the coming years.”
Get started with MongoDB Atlas today.