SlideShare a Scribd company logo
1 of 28
Building on AWS:
Optimizing & Delivering
Derek Ewell
Solutions Architect, ASEAN
The Foundation
On-Boarding &
Provisioning
Data
Partitioning
Identity
Deployment
Agility
CI/CD Distributed
Making it Sing
Billing Metering
Granular
Scale
Cost
Optimized
Policy Driven
Tenant
Experience
Thinking Beyond Agility & Delivery
Real-Time Tenant Experience Optimization
Idle Tenants
Active Tenants
Busy Tenants
Tenant Id Last Accessed
Tenant-3 1/1/2015 12:01:24
Tenant-1 1/1/2015 11:51:01
Tenant-5 1/1/2015 10:41:53
Building A Tenant-Optimized Cache
Tenant 1 Tenant 2 Tenant 3
Tenant Cache Status
Cache
Manager
1
Data Access
2
3 5
7
6
4
Sizing Your Cache
Tenant Id Weight Last Accessed
Tenant-4 9 1/1/2016 09:03:01
Tenant-2 6 1/1/2016 09:41:53
Tenant-1 1 1/1/2016 08:39:24
Tenant-9 6 1/1/2016 08:25:51
Tenant-1 4 1/1/2016 08:22:43
Tenant-1 9 1/1/2016 07:19:11
Top Tenant Cache
How many tenants should be
cached?
Cache Size # Busy Tenants
Tenant Optimization Considerations
• It’s all about making the “right” tenants successful
• Make optimization a real-time, dynamic mechanism
• Focus on improving experience while limiting the footprint
• Find the balance between complexity and value
• Expect to continually tune your “most active tenant”
algorithms
• Surface optimization metrics on your operational views
Data Partitioning and Storage Optimization
• Tenants come all shapes and sizes
• The data profile for each tenant can vary
significantly
• Treating all tenants the same can impact scale,
performance, and cost
Creating a Compute Bottleneck
Storage
Instance
CustomerID AccountID Name StartDate
8482994 429391818 Jake Young 12-02-2014
9782838 782839234 Mary Toms 11-14-2011
3948299 919499919 Lisa Lewis 03-01-2011
Tenant1-Customer
CustomerID AccountID Name StartDate
8482994 429391818 Jake Young 12-02-2014
9782838 782839234 Mary Toms 11-14-2011
3948299 919499919 Lisa Lewis 03-01-2011
Tenant2-Customer
Tenants
• CPU
• Memory
• IO
Sharding a Shard
Tenant-1
Shard-1
Shard-2
Shard-3
ShardID AccountID Name
Shard-3 429391818 Jake Young
Shard-6 782839234 Mary Toms
Shard-1 919499919 Lisa Lewis
Shard-3 434452444 Bob Jones
Shard-5 845341445 Lisa Smith
Shard-2 525323564 Tom Wall
Shard-5 525555321 Eva Walters
Shard-1 134567643 Kim Williams
Shard-6 356273627 Tim Hawk
Tenant-2
Shard-5
Shard-6
A more intelligent, tenant aware partitioning scheme
Shard Analytics
Sharding with DynamoDB
Partition Key Attributes
TenantID
Tenant1
CustomerTable
{
ShardCount: 4,
ShardSize: [4, 9, 4, 5],
ShardIds: [“93”, “932”, “21”, “36”]
}
Partition Key Attributes
ShardID
93
CustomerID
492300009
Name
Bob Jones
ShardID
221
CustomerID
983019391
Name
Jane Thomas
ShardID
21
CustomerID
3492098u7
Name
Sally Smith
ShardID
932
CustomerID
115830489
Name
Randy Hanson
ShardID
93
CustomerID
819492229
Name
Wendy Watts
ShardID
36
CustomerID
480002194
Name
Henry Hanks
• Let shard count grow dynamically
• Continually evaluate shard size
Tenant Lookup Table
Customer Table
Sharding With RDS
TenantID Name StartDate
Tenant-1 Bob Smith 01-12-2012
Tenant-4 Sue Jones 09-01-2015
Shard-1
Instance
Shard-2
Instance
TenantID Name StartDate
Tenant-2 Lisa Louis 11-21-2014
Tenant-3 Tom Tucker 06-09-2012
Customer Table
Customer Table
TenantID ShardID
Tenant-1 Shard-1
Tenant-2 Shard-2
Tenant-3 Shard-2
Tenant-4 Shard-1
Tenant-Shard Mapping
Partitioning Optimization Considerations
• Tenant data is not going to be evenly distributed
• Uneven data distribution can artificially increase costs
• Each storage service may require a unique solution
• Distributing data will add complexity to your solution
• Sharding should be a dynamic, metrics driven process
• Sharding strategies are often domain specific
Using Tenant Policies for Optimization
Tenant 1 Tenant 2
API’s
Tenant
Policies
Services
Data Access
• Tenant policies can be applied at
all layers in your architecture
• Policies can be used to alter and
optimize tenant experience
• Policies can enable more
granular tiering
Tier-Driven Optimization
Data Access
Catalog
Service
Order
Service
Tax
Service
Tenant Policies
{
“TenantID”: “29304”,
“Plan”: “Gold”
},
{
“TenantID”: “91039”,
“Plan”: “Platinum”
}
DynamoDB RDS S3
API
Tier StorageLimit
API
SLA
Gold 500 GB 5 ms
Platinum 2 TB 2 ms
Workflow-Driven Optimization
Tenant 1
DynamoDB RDS S3
1. Get orders from yesterday
2. Get orders for last 30 days
3. Get all orders
Data Access
Tenant 2
DynamoDB RDS
Data Access
Tenant
Policies
1
2
3 1,2 3
Tenant Policy Considerations
• Think more granularly about tenant loads
• Provide centralized management of policies
• Context can change how a request is processed
• Align the resource profile with the application need
• Leverage the diversity of AWS services
• Policies create new opportunities for tiering and cost
optimization
SaaS Load Optimization
• Aligning resource consumption
with multi-tenant load profile
• Achieving “just enough”
infrastructure
• Minimizing costs
• What does idle look like?
• Think about cost per tenant
Picking the Right Services
Checkout
Taxation
Order = Unit of Scale
Shipping
Order Service
Checkout
Taxation
Order = Unit of Scale
Shipping
Order Service
Single Tenant Load Multi-Tenant Load
Checkout Service
Taxation Service
Shipping Service
Independent Services
Serverless SaaS with AWS Lambda
Order REST API
Order Service
Update Create
Delete Find
Ship Cancel
Update Create Delete Find Ship Cancel
REST API
• Load & cost distributed across REST calls
• Cleaner model for agile deployment
• Management and scale offloaded to AWS
• Gateway to throttle tenants
• Larger failure surface area
• Scaling is your responsibility
• More dependencies
REST API
Severless SaaS: Optimization + Isolation
Web Tier
App Tier
Web Tier
App Tier
Tenant 1
REST API
Tenant 2Tenant 1 Tenant 2
Serverless IsolationEC2 Isolation
• Cost
• Management
• Deployment
• Provisioning
Tradeoffs
Load Optimization Considerations
• Multi-tenant loads are more difficult to profile
• Load optimization relies on granular metrics
• Live on the edge, but never impact scale or experience
• Serverless represents an opportunity to optimize both
load and cost
Monitoring & Management
• SaaS sets a higher bar for management & monitoring
• Views of both infrastructure and application health
• Ability to view health and activity with tenant context
• Instrumenting logs with application and tenant metrics
• Support for tenant policies for alerts/alarms
Management & Monitoring
S3
CloudWatch
AWS Config
CloudTrail
TenantContext
Splunk
Sumologic
Kibana
• Create custom views that aggregate
and summarize cross-tenant activity
• Proactively identify cross-tenant issues
• Introduce cross tenant policies
Application Services
Catalog
Service
Order
Service
Ratings
Service
Tax
Service
Resource Metrics
Application Activity
Aggregating Usage & Health Analytics
Storage MetricsApp Service Metrics Compute Metrics
• Analyze tenant flows
• Assess consumption
metrics
Page Load Metrics User Clicks REST Calls
Metering Enables Tiering
Sign Up
Silver
$49 / month
Sign Up
Bronze
$29 / month
Sign Up
Gold
$99 / month
Features
Users
Billing
SaaS Subscriptions for AWS Marketplace
In Summary
• Bring the best experience to those that need it
• Leverage tenet profiles to drive optimization
• Factor tenant data distribution into your partitioning
model
• Take advantage of AWS service diversity
• Metrics and monitoring essential to optimization
• Make cost part of your optimization strategy

More Related Content

What's hot

AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...
AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...
AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...Amazon Web Services
 
SEC307 Automating Security and Compliance Response in the Cloud
SEC307 Automating Security and Compliance Response in the CloudSEC307 Automating Security and Compliance Response in the Cloud
SEC307 Automating Security and Compliance Response in the CloudAmazon Web Services
 
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)Amazon Web Services
 
WKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsWKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsAmazon Web Services
 
ABD210 deloitte amtrak case study
ABD210 deloitte amtrak case studyABD210 deloitte amtrak case study
ABD210 deloitte amtrak case studyAmazon Web Services
 
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)Amazon Web Services
 
Simplifying migration to aws - everett dolgner
Simplifying migration to aws -   everett dolgnerSimplifying migration to aws -   everett dolgner
Simplifying migration to aws - everett dolgnerAmazon Web Services
 
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Amazon Web Services
 
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...Amazon Web Services
 
AWS Innovate Ottawa Keynote - Jeff Kratz
 AWS Innovate Ottawa Keynote - Jeff Kratz AWS Innovate Ottawa Keynote - Jeff Kratz
AWS Innovate Ottawa Keynote - Jeff KratzAmazon Web Services
 
The Transformation Journey with Cloud Technology
The Transformation Journey with Cloud TechnologyThe Transformation Journey with Cloud Technology
The Transformation Journey with Cloud TechnologyAmazon Web Services
 
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)Amazon Web Services
 
Modernizing upstream workflows with aws storage - john mallory
Modernizing upstream workflows with aws storage -  john malloryModernizing upstream workflows with aws storage -  john mallory
Modernizing upstream workflows with aws storage - john malloryAmazon Web Services
 
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best PracticesAWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best PracticesAmazon Web Services
 
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek  Mah...AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek  Mah...
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...Amazon Web Services Korea
 
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...Amazon Web Services
 

What's hot (20)

Application Migrations at Scale
Application Migrations at ScaleApplication Migrations at Scale
Application Migrations at Scale
 
AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...
AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...
AWS as a Data Platform for Cloud and On-Premises Workloads | AWS Public Secto...
 
Building your Datalake on AWS
Building your Datalake on AWSBuilding your Datalake on AWS
Building your Datalake on AWS
 
SEC307 Automating Security and Compliance Response in the Cloud
SEC307 Automating Security and Compliance Response in the CloudSEC307 Automating Security and Compliance Response in the Cloud
SEC307 Automating Security and Compliance Response in the Cloud
 
AWS Workloads on AWS
AWS Workloads on AWSAWS Workloads on AWS
AWS Workloads on AWS
 
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
 
WKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsWKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa Skills
 
ABD210 deloitte amtrak case study
ABD210 deloitte amtrak case studyABD210 deloitte amtrak case study
ABD210 deloitte amtrak case study
 
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)
AWS re:Invent 2016: Building a Solid Business Case for Cloud Migration (ENT308)
 
Simplifying migration to aws - everett dolgner
Simplifying migration to aws -   everett dolgnerSimplifying migration to aws -   everett dolgner
Simplifying migration to aws - everett dolgner
 
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
 
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
SRV418 Deep Dive on Accelerating Content, APIs, and Applications with Amazon ...
 
AWS Innovate Ottawa Keynote - Jeff Kratz
 AWS Innovate Ottawa Keynote - Jeff Kratz AWS Innovate Ottawa Keynote - Jeff Kratz
AWS Innovate Ottawa Keynote - Jeff Kratz
 
The Transformation Journey with Cloud Technology
The Transformation Journey with Cloud TechnologyThe Transformation Journey with Cloud Technology
The Transformation Journey with Cloud Technology
 
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
 
Modernizing upstream workflows with aws storage - john mallory
Modernizing upstream workflows with aws storage -  john malloryModernizing upstream workflows with aws storage -  john mallory
Modernizing upstream workflows with aws storage - john mallory
 
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best PracticesAWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
 
SAP Workloads on AWS
SAP Workloads on AWSSAP Workloads on AWS
SAP Workloads on AWS
 
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek  Mah...AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek  Mah...
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...
 
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...
Faster Time to Science - Scaling BioMedical Research in the Cloud with SciOps...
 

Viewers also liked

Building a Global Sales Channel with AWS Marketplace
Building a Global Sales Channel with AWS MarketplaceBuilding a Global Sales Channel with AWS Marketplace
Building a Global Sales Channel with AWS MarketplaceAmazon Web Services
 
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACModule 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACAmazon Web Services
 
Automating Big Data Technologies for Faster Time-to-Value
 Automating Big Data Technologies for Faster Time-to-Value Automating Big Data Technologies for Faster Time-to-Value
Automating Big Data Technologies for Faster Time-to-ValueAmazon Web Services
 
Mobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWSMobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWSAmazon Web Services
 
把您的 Amazon Lex Chatbot 與訊息服務集成
把您的 Amazon Lex Chatbot 與訊息服務集成把您的 Amazon Lex Chatbot 與訊息服務集成
把您的 Amazon Lex Chatbot 與訊息服務集成Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016Amazon Web Services
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSAmazon Web Services
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingAmazon Web Services
 
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...Amazon Web Services
 
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...Amazon Web Services
 
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Web Services
 
A brief history of cloud computing
A brief history of cloud computingA brief history of cloud computing
A brief history of cloud computingOneserve
 
Cloud computing-a-brief-history-in-time
Cloud computing-a-brief-history-in-timeCloud computing-a-brief-history-in-time
Cloud computing-a-brief-history-in-timeMark O'Loughlin
 
AWS basics
AWS basicsAWS basics
AWS basicsmbaric
 
Basics AWS Presentation
Basics AWS PresentationBasics AWS Presentation
Basics AWS PresentationShyam Kumar
 

Viewers also liked (20)

Building a Global Sales Channel with AWS Marketplace
Building a Global Sales Channel with AWS MarketplaceBuilding a Global Sales Channel with AWS Marketplace
Building a Global Sales Channel with AWS Marketplace
 
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACModule 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
 
Automating Big Data Technologies for Faster Time-to-Value
 Automating Big Data Technologies for Faster Time-to-Value Automating Big Data Technologies for Faster Time-to-Value
Automating Big Data Technologies for Faster Time-to-Value
 
Introducing AWS Greengrass
Introducing AWS GreengrassIntroducing AWS Greengrass
Introducing AWS Greengrass
 
Mobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWSMobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWS
 
把您的 Amazon Lex Chatbot 與訊息服務集成
把您的 Amazon Lex Chatbot 與訊息服務集成把您的 Amazon Lex Chatbot 與訊息服務集成
把您的 Amazon Lex Chatbot 與訊息服務集成
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWS
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And Platforming
 
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...
DAT301 Accelerating Amazon Relational Database Service Performance with Amazo...
 
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...
AWS re:Invent 2016: ElastiCache Deep Dive: Best Practices and Usage Patterns ...
 
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
 
A brief history of cloud computing
A brief history of cloud computingA brief history of cloud computing
A brief history of cloud computing
 
The history of cloud computing
The history of cloud computingThe history of cloud computing
The history of cloud computing
 
Cloud computing-a-brief-history-in-time
Cloud computing-a-brief-history-in-timeCloud computing-a-brief-history-in-time
Cloud computing-a-brief-history-in-time
 
The History of AWS EC2
The History of AWS EC2The History of AWS EC2
The History of AWS EC2
 
AWS basics
AWS basicsAWS basics
AWS basics
 
Basics AWS Presentation
Basics AWS PresentationBasics AWS Presentation
Basics AWS Presentation
 
aws basics
aws basicsaws basics
aws basics
 

Similar to Building on AWS: Optimizing Tenant Experience and Costs for SaaS Applications

Build on AWS: Optimizing and Scaling.
Build on AWS: Optimizing and Scaling. Build on AWS: Optimizing and Scaling.
Build on AWS: Optimizing and Scaling. Amazon Web Services
 
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...Amazon Web Services
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60PolarSeven Pty Ltd
 
Infrastructure Management Services - Success Stories | Happiest Minds
Infrastructure Management Services - Success Stories | Happiest MindsInfrastructure Management Services - Success Stories | Happiest Minds
Infrastructure Management Services - Success Stories | Happiest MindsHappiest Minds Technologies
 
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...Amazon Web Services
 
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain re:Invent Round-up, Time Stream, Quantum and Managed Blockchain
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain Amazon Web Services
 
Cloud Computing Design Considerations
Cloud Computing Design ConsiderationsCloud Computing Design Considerations
Cloud Computing Design ConsiderationsMike Kavis
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Buswearsy
 
Summer School Delivering On-Demand Shared Middleware Services
Summer School   Delivering On-Demand Shared Middleware ServicesSummer School   Delivering On-Demand Shared Middleware Services
Summer School Delivering On-Demand Shared Middleware ServicesWSO2
 
Going Global with Itoc and AWS
Going Global with Itoc and AWS Going Global with Itoc and AWS
Going Global with Itoc and AWS Mark Promnitz
 
Modeling microservices using DDD
Modeling microservices using DDDModeling microservices using DDD
Modeling microservices using DDDMasashi Narumoto
 
Cloud: Agility at Scale
Cloud: Agility at ScaleCloud: Agility at Scale
Cloud: Agility at ScaleShane Davis
 
AWS Webcast - Informatica - Big Data Solutions Showcase
AWS Webcast - Informatica - Big Data Solutions ShowcaseAWS Webcast - Informatica - Big Data Solutions Showcase
AWS Webcast - Informatica - Big Data Solutions ShowcaseAmazon Web Services
 
Micro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out forMicro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out forParthiban J
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015Adam Book
 
Delivering business insights and automation utilizing aws data services
Delivering business insights and automation utilizing aws data servicesDelivering business insights and automation utilizing aws data services
Delivering business insights and automation utilizing aws data servicesBhuvaneshwaran R
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Gary Arora
 

Similar to Building on AWS: Optimizing Tenant Experience and Costs for SaaS Applications (20)

Build on AWS: Optimizing and Scaling.
Build on AWS: Optimizing and Scaling. Build on AWS: Optimizing and Scaling.
Build on AWS: Optimizing and Scaling.
 
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60
 
Infrastructure Management Services - Success Stories | Happiest Minds
Infrastructure Management Services - Success Stories | Happiest MindsInfrastructure Management Services - Success Stories | Happiest Minds
Infrastructure Management Services - Success Stories | Happiest Minds
 
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...
AWS re:Invent 2016: Global Traffic Management with Amazon Route 53 Traffic Fl...
 
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain re:Invent Round-up, Time Stream, Quantum and Managed Blockchain
re:Invent Round-up, Time Stream, Quantum and Managed Blockchain
 
Cloud Computing Design Considerations
Cloud Computing Design ConsiderationsCloud Computing Design Considerations
Cloud Computing Design Considerations
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Bus
 
Summer School Delivering On-Demand Shared Middleware Services
Summer School   Delivering On-Demand Shared Middleware ServicesSummer School   Delivering On-Demand Shared Middleware Services
Summer School Delivering On-Demand Shared Middleware Services
 
In Flux Limiting for a multi-tenant logging service
In Flux Limiting for a multi-tenant logging serviceIn Flux Limiting for a multi-tenant logging service
In Flux Limiting for a multi-tenant logging service
 
Going Global with Itoc and AWS
Going Global with Itoc and AWS Going Global with Itoc and AWS
Going Global with Itoc and AWS
 
Modeling microservices using DDD
Modeling microservices using DDDModeling microservices using DDD
Modeling microservices using DDD
 
Cloud: Agility at Scale
Cloud: Agility at ScaleCloud: Agility at Scale
Cloud: Agility at Scale
 
AWS Webcast - Informatica - Big Data Solutions Showcase
AWS Webcast - Informatica - Big Data Solutions ShowcaseAWS Webcast - Informatica - Big Data Solutions Showcase
AWS Webcast - Informatica - Big Data Solutions Showcase
 
Micro services
Micro servicesMicro services
Micro services
 
Micro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out forMicro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out for
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015
 
Azure serverless
Azure serverlessAzure serverless
Azure serverless
 
Delivering business insights and automation utilizing aws data services
Delivering business insights and automation utilizing aws data servicesDelivering business insights and automation utilizing aws data services
Delivering business insights and automation utilizing aws data services
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Building on AWS: Optimizing Tenant Experience and Costs for SaaS Applications

  • 1. Building on AWS: Optimizing & Delivering Derek Ewell Solutions Architect, ASEAN
  • 2. The Foundation On-Boarding & Provisioning Data Partitioning Identity Deployment Agility CI/CD Distributed Making it Sing Billing Metering Granular Scale Cost Optimized Policy Driven Tenant Experience Thinking Beyond Agility & Delivery
  • 3. Real-Time Tenant Experience Optimization Idle Tenants Active Tenants Busy Tenants
  • 4. Tenant Id Last Accessed Tenant-3 1/1/2015 12:01:24 Tenant-1 1/1/2015 11:51:01 Tenant-5 1/1/2015 10:41:53 Building A Tenant-Optimized Cache Tenant 1 Tenant 2 Tenant 3 Tenant Cache Status Cache Manager 1 Data Access 2 3 5 7 6 4
  • 5. Sizing Your Cache Tenant Id Weight Last Accessed Tenant-4 9 1/1/2016 09:03:01 Tenant-2 6 1/1/2016 09:41:53 Tenant-1 1 1/1/2016 08:39:24 Tenant-9 6 1/1/2016 08:25:51 Tenant-1 4 1/1/2016 08:22:43 Tenant-1 9 1/1/2016 07:19:11 Top Tenant Cache How many tenants should be cached? Cache Size # Busy Tenants
  • 6. Tenant Optimization Considerations • It’s all about making the “right” tenants successful • Make optimization a real-time, dynamic mechanism • Focus on improving experience while limiting the footprint • Find the balance between complexity and value • Expect to continually tune your “most active tenant” algorithms • Surface optimization metrics on your operational views
  • 7. Data Partitioning and Storage Optimization • Tenants come all shapes and sizes • The data profile for each tenant can vary significantly • Treating all tenants the same can impact scale, performance, and cost
  • 8. Creating a Compute Bottleneck Storage Instance CustomerID AccountID Name StartDate 8482994 429391818 Jake Young 12-02-2014 9782838 782839234 Mary Toms 11-14-2011 3948299 919499919 Lisa Lewis 03-01-2011 Tenant1-Customer CustomerID AccountID Name StartDate 8482994 429391818 Jake Young 12-02-2014 9782838 782839234 Mary Toms 11-14-2011 3948299 919499919 Lisa Lewis 03-01-2011 Tenant2-Customer Tenants • CPU • Memory • IO
  • 9. Sharding a Shard Tenant-1 Shard-1 Shard-2 Shard-3 ShardID AccountID Name Shard-3 429391818 Jake Young Shard-6 782839234 Mary Toms Shard-1 919499919 Lisa Lewis Shard-3 434452444 Bob Jones Shard-5 845341445 Lisa Smith Shard-2 525323564 Tom Wall Shard-5 525555321 Eva Walters Shard-1 134567643 Kim Williams Shard-6 356273627 Tim Hawk Tenant-2 Shard-5 Shard-6 A more intelligent, tenant aware partitioning scheme Shard Analytics
  • 10. Sharding with DynamoDB Partition Key Attributes TenantID Tenant1 CustomerTable { ShardCount: 4, ShardSize: [4, 9, 4, 5], ShardIds: [“93”, “932”, “21”, “36”] } Partition Key Attributes ShardID 93 CustomerID 492300009 Name Bob Jones ShardID 221 CustomerID 983019391 Name Jane Thomas ShardID 21 CustomerID 3492098u7 Name Sally Smith ShardID 932 CustomerID 115830489 Name Randy Hanson ShardID 93 CustomerID 819492229 Name Wendy Watts ShardID 36 CustomerID 480002194 Name Henry Hanks • Let shard count grow dynamically • Continually evaluate shard size Tenant Lookup Table Customer Table
  • 11. Sharding With RDS TenantID Name StartDate Tenant-1 Bob Smith 01-12-2012 Tenant-4 Sue Jones 09-01-2015 Shard-1 Instance Shard-2 Instance TenantID Name StartDate Tenant-2 Lisa Louis 11-21-2014 Tenant-3 Tom Tucker 06-09-2012 Customer Table Customer Table TenantID ShardID Tenant-1 Shard-1 Tenant-2 Shard-2 Tenant-3 Shard-2 Tenant-4 Shard-1 Tenant-Shard Mapping
  • 12. Partitioning Optimization Considerations • Tenant data is not going to be evenly distributed • Uneven data distribution can artificially increase costs • Each storage service may require a unique solution • Distributing data will add complexity to your solution • Sharding should be a dynamic, metrics driven process • Sharding strategies are often domain specific
  • 13. Using Tenant Policies for Optimization Tenant 1 Tenant 2 API’s Tenant Policies Services Data Access • Tenant policies can be applied at all layers in your architecture • Policies can be used to alter and optimize tenant experience • Policies can enable more granular tiering
  • 14. Tier-Driven Optimization Data Access Catalog Service Order Service Tax Service Tenant Policies { “TenantID”: “29304”, “Plan”: “Gold” }, { “TenantID”: “91039”, “Plan”: “Platinum” } DynamoDB RDS S3 API Tier StorageLimit API SLA Gold 500 GB 5 ms Platinum 2 TB 2 ms
  • 15. Workflow-Driven Optimization Tenant 1 DynamoDB RDS S3 1. Get orders from yesterday 2. Get orders for last 30 days 3. Get all orders Data Access Tenant 2 DynamoDB RDS Data Access Tenant Policies 1 2 3 1,2 3
  • 16. Tenant Policy Considerations • Think more granularly about tenant loads • Provide centralized management of policies • Context can change how a request is processed • Align the resource profile with the application need • Leverage the diversity of AWS services • Policies create new opportunities for tiering and cost optimization
  • 17. SaaS Load Optimization • Aligning resource consumption with multi-tenant load profile • Achieving “just enough” infrastructure • Minimizing costs • What does idle look like? • Think about cost per tenant
  • 18. Picking the Right Services Checkout Taxation Order = Unit of Scale Shipping Order Service Checkout Taxation Order = Unit of Scale Shipping Order Service Single Tenant Load Multi-Tenant Load Checkout Service Taxation Service Shipping Service Independent Services
  • 19. Serverless SaaS with AWS Lambda Order REST API Order Service Update Create Delete Find Ship Cancel Update Create Delete Find Ship Cancel REST API • Load & cost distributed across REST calls • Cleaner model for agile deployment • Management and scale offloaded to AWS • Gateway to throttle tenants • Larger failure surface area • Scaling is your responsibility • More dependencies
  • 20. REST API Severless SaaS: Optimization + Isolation Web Tier App Tier Web Tier App Tier Tenant 1 REST API Tenant 2Tenant 1 Tenant 2 Serverless IsolationEC2 Isolation • Cost • Management • Deployment • Provisioning Tradeoffs
  • 21. Load Optimization Considerations • Multi-tenant loads are more difficult to profile • Load optimization relies on granular metrics • Live on the edge, but never impact scale or experience • Serverless represents an opportunity to optimize both load and cost
  • 22. Monitoring & Management • SaaS sets a higher bar for management & monitoring • Views of both infrastructure and application health • Ability to view health and activity with tenant context • Instrumenting logs with application and tenant metrics • Support for tenant policies for alerts/alarms
  • 23. Management & Monitoring S3 CloudWatch AWS Config CloudTrail TenantContext Splunk Sumologic Kibana • Create custom views that aggregate and summarize cross-tenant activity • Proactively identify cross-tenant issues • Introduce cross tenant policies Application Services Catalog Service Order Service Ratings Service Tax Service
  • 24. Resource Metrics Application Activity Aggregating Usage & Health Analytics Storage MetricsApp Service Metrics Compute Metrics • Analyze tenant flows • Assess consumption metrics Page Load Metrics User Clicks REST Calls
  • 25. Metering Enables Tiering Sign Up Silver $49 / month Sign Up Bronze $29 / month Sign Up Gold $99 / month Features Users
  • 27. SaaS Subscriptions for AWS Marketplace
  • 28. In Summary • Bring the best experience to those that need it • Leverage tenet profiles to drive optimization • Factor tenant data distribution into your partitioning model • Take advantage of AWS service diversity • Metrics and monitoring essential to optimization • Make cost part of your optimization strategy