SaaS companies targeting the enterprise market need to evolve their infrastructure to meet the security, reliability, and other IT needs of their customers. IT administrators and large customers are two important sources of requirements to drive development.
Prashant Pandey, Head of Engineering at Asana, spoke at DevOpsCon London 2022 about building a SaaS infrastructure that supports and grows with large customers.
The exact requirements of IT administrators vary depending on the industries the product serves, the capabilities of the product, and the type of data the product stores or accesses. It’s important to understand the domain and research IT admins’ experience with your product, as Pandey explained:
Treat IT admins as core customers and think about IT admin features the same way you think about other features, with an eye on usability, flexibility, and efficiency at scale.
Adoption by enterprise customers is leading to increased demands for security, reliability and scalable management. Pandey suggested monitoring requests from your current largest customers. Those will likely become more important as you manage to attract more customers of that size, he said.
InfoQ interviewed Prashant Pandey about the reliability and security of enterprise SaaS solutions.
InfoQ: How do admins use controls provided by SaaS products to ensure reliability and data security?
Prashant Pandey: An example of the use of controls is with SCIM integration, where an administrator can ensure that users’ access to a software product is automatically removed when the account is centrally deprovisioned, eliminating the risk that former employees retain access to data. Admins also leverage these capabilities to ensure the availability of the right SaaS products to individuals and teams who need them. IT admins can use the integration controls provided by a SaaS product to ensure employees only use approved document sharing systems, reducing the risk of data exfiltration.
IT admins can enforce security controls by requiring 2FA or single sign-on for all software with access to critical data. Features such as data export and security information and event management can be used for forensic analysis to determine, for example, whether a leaked credential was used to access a software product or update data. The ability for admins to send custom in-product messages and announcements also allows admins to share timely updates like scheduled maintenance announcements.
InfoQ: How can a SaaS provider build an infrastructure that meets the needs of enterprises?
Pandey: The sequencing of infrastructure work can enable evolution to meet other business needs. Backups should be an early part of your reliability strategy. Regular end-to-end business continuity testing using backup requires more investment and becomes more important as system complexity increases. The ability to measure uptime and understand the reasons for downtime is worth investing in early in the development of a SaaS product. These systems can be extended to provide reportable metrics per customer if customers desire that level of transparency.
Security certifications are an important way to reduce friction in the sales process, so any SaaS product team should also invest in understanding which certifications (like SOC 2, SOC 3, ISO 27001, FERPA, HIPAA, etc.) are valued by their prospective customers . and what development/operational costs are involved in achieving and maintaining it. There should be a roadmap for tracking the right certifications based on their return on investment. The risks associated with data access increase with the size of your team and the amount of customer data your products process and store. To manage these risks, it’s wise to follow the principle of least privilege and invest more in internal controls to keep up with growth.
InfoQ: What are the benefits of data isolation?
Pandey: A key technique to increase scalability, performance, and security is to further isolate customer data and services into “compartments” to reduce the impact of “noisy neighbor” performance, the explosion radius of availability events, and the number of specific types of security incidents to reduce affected customers.
At Asana, we started with isolation, which is largely provided by the app layers. Then we segregated customer data into database shards, followed by isolating enterprise customers into individual databases and search clusters. We are now considering separate accounts hosted by our cloud provider for all infrastructure that touches a particular customer’s data. The isolated structure helps us to meet the key needs of enterprise customers – data residency and enterprise key management.