PERF 3: How do you enable varying levels of performance for the different tenant tiers and plans?
Provide different performance experiences to tenants based on their assigned tier and plan, providing higher levels of performance to premium tier tenants. This means introducing architecture strategies that allow you to enable varying level of performance within a single, shared multi-tenant environment.
Resources
Optimizing SaaS Tenant Workflows and Costs
Best Practices:
-
Apply throttling to lower tier tenants: The performance of lower tier tenants is constrained to enhance the performance and experience for premium tier tenant. These constraints might motivate tenants to move to higher tiers to achieve better performance for key functional aspects of the system.
-
Optimize the experience for different tenant tiers: The services of your application are decomposed and deployed around tiers, offering siloed or optimized experiences for workflows that impose heavy load or require optimal throughput.
-
Use policies to shape application performance for each tenant tier: Introduce constructs to manage and apply tier-based performance policies across the key workflows and use cases of your application. These policies define a more internal and external performance SLAs that are used to define the experience of each SaaS tier and plan.
Improvement Plan
Apply throttling to lower tier tenants
- For environments with an API Gateway, introduce usage plans that throttle the experience
of lower tier tenants.
Amazon API Gateway: Throttle API requests for better throughput - For environments with third-party APIs or proxies, introduce filters or throttling constructs that identify lower tier tenants and limit their impact on the system.
Optimize the experience for different tenant tiers
- The design and granularity of your microservices can be influenced by the performance profile of your tenant tiers. Identify patterns of consumption and potential bottlenecks, and use this data to inform the decomposition of your microservices.
- Deploy selected tenant services and storage constructs in a silo model for higher tier tenants that have performance requirements that can’t be easily met with shared infrastructure.
- Enhance the performance of higher tier tenants through optimization techniques.
- Use caching to enrich the experience of tenants in premium tier.
- For premium tier tenants that have siloed infrastructure, offer higher performing
resource configurations, such as larger instances for storage and compute, higher
IIOPs, etc.
Optimizing SaaS Tenant Workflows and Costs
Use policies to shape application performance for each tenant tier
- Define explicit SLA policies for each of the tenant tiers supported by your system, outlining the specific performance criteria for application workflows
- For systems that include an API, outline the performance criteria that are associated with each API entry point.
- If your system uses API Gateway, define separate usage plans for each of the tenant tiers that your system supports.
- For systems that use frameworks or third-party solutions to manage your API entry points, introduce filters and control tenant activity to ensure that each tenant tier can meet its target SLA.