With the pace of today’s business environment, anything that can help us deliver more quickly or maintain less code is a welcome proposition. If these shortcuts can align us with industry standards and leading edge features, even better. Enter: software as a service (SaaS). With SaaS you can quickly add value with components across your software stack – from authentication to storage, error handling to business process management. SaaS offers the promise of solving your most complex problems, and in many cases that promise is kept. However, every additional component adds potential risk. To avoid creating a solution resembling a SaaS Frankenstein’s monster, be on the lookout for these potential pitfalls.
Points of Failure
Your foremost concern should be the stability of your SaaS partner. What is their uptime? Do they offer redundant services? How do they notify their customers of scheduled and unscheduled outages?
Once you’re satisfied with the general stability of the service provider, you must consider how you integrate the service into your ecosystem. Will you fail gracefully if the provider is down? Do you code in backup paths in the case of issues? Proper exception handling and programmatic identification of upstream issues is key to your SaaS provider not being a single point of failure. Wherever possible, design your system to support a mode of degraded operation, so that your end users can be aware of any limitations in functionality until your SaaS provider is restored. The last thing you need is for your system uptime to be at the mercy of a support team that isn’t as invested in your success as you are.
Complexity in Integration
Complexity is an inevitable part of integration. After all, you are handing control of many parts of the formula–field mappings, service contracts, error handling–over to your SaaS provider. If you are looking to integrate two different SaaS offerings together, you are faced with additional questions. Can the two systems communicate directly to one another? Do you need to write adapter ‘glue’ code to facilitate communication between the different pieces? Lastly, be sure to weigh your commitment to the component in question – how likely will you be to replace it when another vendor has a newer mouse trap? Thinking through these questions will enable you to build your SaaS portfolio wisely.
Challenges in Debugging
You may have a solid system design, and a future-proof integration strategy, but when something goes wrong between your system and your new SaaS widget, who will you turn to? The best way to avoid being left in the dark with cryptic error messages is to choose the right solution at the start. A mature, well-designed one will offer robust logging, thoroughly documented error codes, and an attentive support staff who can help you through your issues. However, if you aren’t equipped with this, your best bet in these situations is to crank up the logging in your host application, settle in with whatever documentation exists, and push through.
The SaaS market provides a number of opportunities to jumpstart the development of your platform and make it more robust–that is, if you are prudent about how you integrate these offerings. An ounce of prevention is worth a pound of cure. Diligent research into SaaS providers, their proactive and reactive strategies, and a thorough understanding of each individual system will help you to minimize risk and reap the benefits that SaaS has to offer.
Multi-cloud, DevOps, Transformation, the Amazon/Whole Foods thing, and more
“The only thing that is constant is change.” —Heraclitus Change is certainly the constant of the tech world. New tech,…Read more
Cache Me If You Can: Benefits and Tradeoffs of Caching
If you’ve spent any length of time managing a high-traffic website, you’ve inevitably heard of caching. For the uninitiated, caching…Read more
An Intro to RADD
At Janeiro Digital, our ultimate goal is to help businesses better achieve their goals so they can in turn better…Read more