The underlying promise of SaaS is “better, faster, cheaper” for both software developers and the users of the systems. Before SaaS, developers faced nightmares when providing updates — when bugs were found or new features were built, distribution was a sore point (disks or downloads, no thank you). So for developers, updating and extending systems in SaaS is way faster and easier. For the users of SaaS, that streamlining also pays a dividend in lower total cost of ownership (TCO). So updating is wonderful, and an area we want to explore with you is SaaS integrations, which provide both sides with even more benefits (but a few challenges too).
Within every software product, there is a specific deliverable in the form of core functionality. It could be a CRM, a systems management tool, a utility, a game, or virtually anything. In modern application development, the standard is to build and consume application program interfaces (APIs). Microservices in a CRM, for example, could perform common tasks like inbound call tracking, document management, or bulk emailing. The API model makes it easier to enable integrations.
One way to extend SaaS is consuming external APIs. In a world where you can often find ready-made services — think Google Maps, package tracking, or data enrichment — many times it is cheaper, faster, and better to buy than to build. For example, you couldn’t ever build your own FedEx tracking tool (their data is proprietary), so calling their API is simple. Or perhaps you want to have automated phone dialing, so you shop for an API and choose a provider. Later, you decide it’s more advantageous to build your own — so you simply replace the API with one of your own. It makes for a viable long-term strategy.
The other side of the conversation is providing external APIs that your customers can use. If they need to integrate with your system in specific ways, your lovely microservices architecture enables them to do so. Your application can consume your APIs, as can theirs. Designing systems in this way affords valuable extensions over time.
Challenges of SaaS Integration (for Customers)
SaaS integration isn’t always a walk in the park. First, there are always data migration challenges…and then questions about data ownership. And as SaaS users ourselves, we’re often reminded about downtime caused by connectivity issues or scheduled maintenance (last weekend, I went to use our CRM, and they had scheduled downtime (off hours, can’t fault them)). It can be frustrating or inconvenient when you’re counting on using SaaS or your API, and it’s not there. In addition, there’s the potential of running up costs, especially with metered services. And finally, there’s the headaches of keeping APIs secure and compliant with your own requirements (HIPAA and PCI, anyone?).
Challenges of SaaS Integration (for SaaS Developers)
For developers, SaaS integration requires continuous, and we mean continuous, integration. Top of mind is managing security — APIs face the outside world, so they need to be monitored for unusual activity (e.g., spikes, repeated failed attempts to access) and locked tight (e.g., encrypted, IP whitelisting, etc.). If you’re a developer consuming third party APIs, you probably already know that they can change…they’re often dynamic because of security issues, bug fixes, new functionality, or other modifications. Your technology partners, of course, shouldn’t change without telling you (it happens, though), so be prepared for break/fix. It adds to TCO. Beware of time outs — if you’re using an API, a graceful recovery is always advantageous. And over time, a couple of additional challenges appear. One is that your API can lead to system stress. Perhaps your client base grows dramatically, your data grows large, or your aggregate usage gets unwieldy. The second issue is technical debt, which can be stress-related or even worse, the developer who wrote it didn’t document anything and he’s now trading crypto in Dubai. Technical debt sucks, and if it’s your internal or external APIs, it’s more visible.
Your SaaS Integration Strategy
Since the goal is better, faster, and cheaper, we need ways to extend our systems whether as developers or users. Your SaaS integration strategy must factor in complexity and risk, all with an eye on costs and ROI. In the end, our business should capture the advantages and enable us to grow efficiently and effectively.