Three things keep me up at night since transitioning to a "Software as a Service" (SaaS) model.#1 Data Security#2 Reliability#3 Data QualitySince I prefer to regularly get 6-8 hours of sleep per night, these risks must be addressed head on. Here are some strategies that I've found useful to address these issues:SecurityI've written extensively on the subject of securing enterprise portals, and all of these best practices and checkpoints are considered in every solution we deploy.Even if you manage to secure the entire solution, you still have new threats emerging every day. That's why we've decided to focus exclusively on the web application layer of the SaaS stack and have partnered with the security experts in hardware, network, OS, web server, and browsers to manage their own their respective areas.Passwords, SSL, encryption, session timeouts, audit logging, blacklists, temporary lock-outs, and system alerts are just a few of the security measures in place in a customer portal application.ReliabilityHardware malfunctions and Internet connectivity outages are a reality, but I feel comfortable knowing our data center partner is pulling the "late shift" and available to swap out SCSI drives and restore files at a moments notice, if needed.We obviously pay a price for this infrastructure reliability, but as Nicholas Carr points out, this stratification of infrastructure and application providers makes sense since they really are 2 completely different business models.When Salesforce.com goes down or is not available, employees are typically the only ones to notice. But when the web site or customer portal goes down, everyone notices. That's why I believe in offering multiple hosting options and configurations for our solutions.Small and medium businesses will probably find the reliability of a shared, multi-tenant customer portal to be sufficient for their needs, while a fortune 500 company deploying a micro-site for high traffic eMarketing campaigns or sending 1,000,000 personalized emails may need the full power of 3 dedicated web servers and an isolated database to ensure 100% uptime during the campaign.That's why our solution has been designed to be scalable and configurable for a variety of environments.Data QualityCRM data quality is hard enough to keep clean without outside interference from external systems. My nagging fear when initially learning the ins-and-outs of a CRM system is that the customer portal may introduce "dirty records" or overwrite more authoritative changes made by employees.That's why we rely very heavily upon test automation tools that simulate hundreds of conditions and transactions that may occur between the customer portal and CRM system, and we validate expected results.Unit tests (see screenshot below) are created to simulate scenarios like "What happens when a customer, via the portal, and salesperson both update a Contact record at the same time?" or "What happens if the customer portal is forced to operate autonomously for several days before re-synchronizing with Salesforce.com?".The AppExchange has provided an order-of-magnitude increase in data quality and allows for composite solutions where speculative leads from the portal may be analyzed by data quality plug-ins from specialized vendors.So, I no longer feel the need to invest in developing extensive de-duplication algorithms or PRIZM code lookups for our solution, because I can now find these tools on the AppExchange. And with closed-loop integration, the master customer records on Salesforce can be cleaned, updated, and available for use in eMarketing campaigns within the hour.[Screenshot of unit testing i-Dialogue integration with Salesforce.com]
Remember Me