Here in the engineering department at Apto, our goal is to build tools brokers love.
To do that, we also need to give our customers easy access to a number of technology integrations. We want each process and task to be simple—we’re not here to build a new email system after all—so Apto has to work seamlessly with many of the tools that brokers already use in their day-to-day routines.
The challenge: finding flexibility and visibility into problems
We wanted to nimbly add integrations in a way that would let them scale easily and quickly for our customer’s needs. The challenge was that our integrations were built on the Salesforce platform, which means that any changes or upgrades take a considerable amount of work.
The earlier versions of Apto contained a monolithic architecture within the Salesforce platform, creating a single point of failure. If one part of the architecture faced slowness, errors, or failures, all services could be affected. There was also the possibility that we wouldn’t have visibility into an issue until a customer reported it.
So there was that challenge. In addition to overcoming that, we wanted a way to quickly update or add integrations without pushing a new package to our customers. Overall, our goal was to create a better and more seamless experience for brokers.
The solution: an innovative code architecture
After some brainstorming, we decided the best way to serve our customers and help them grow with our platform was to build a microservice architecture outside of Salesforce.
We used Salesforce’s canvas app, which allowed our newly added services to display natively inside our customer’s Salesforce. Just as if it was built within the platform. By doing this, we achieved all our goals:
- Distributed points of failure: If one part of the service slows down, hits an error, or goes down, the rest of the services will not be affected by it.
- Visibility into any errors: We know immediately when something isn’t working so we can respond quickly.
- Seamless experience: We can quickly update and add services without having to push a new package to users. In other words, when we add a new integration or make updates, the changes reflect immediately. Our customers don’t have to do anything or even notice any disruption.
Here’s a non-technical and very simplistic way to think about it: imagine you’re standing in line at a concession stand waiting to order. You only want to order a hot dog and everyone else in front of you wants to order something different. Say the next person in front of you wants a hamburger, and the next person in front of them wants nachos, and so on. Well, if there were a dedicated hot dog stand, you could just walk there, get your hot dog, and leave. If the cheese dispenser breaks down on the nacho stand, then it doesn’t affect your ability to get a hot dog. That’s essentially what microservices accomplish: it divides up each service into its own “concession stand” for consumers.
Creativity and dedication pays off
This new architecture was a big milestone for the Apto engineering team, and of course, for our customers (although they would never know it unless they read this blog post!). We want brokers to have the best experience possible, and it’s sometimes not easy to achieve our vision within the confines of the technology available. But with a little creativity and a dedicated, experienced engineering team, we’ve been able to continually improve our tech and release new features and integrations that we’re confident will make brokers’ lives easier.