Webinar How to Achieve True Scalability in SaaS Applications
-
Upload
techcello -
Category
Technology
-
view
124 -
download
1
Transcript of Webinar How to Achieve True Scalability in SaaS Applications
![Page 1: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/1.jpg)
Achieving True Scalability in SaaS Applications
Part 3
08-April-2015
Webinar Series on
Recipe For a Successful SaaS Companywww.techcello.com
![Page 2: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/2.jpg)
© Techcello www.techcello.com
Speaker Profiles
Building SaaS. Made Easy
Consults organizations with the service offerings of the AWS
platform
Helps them with architecture best practices to build highly
scalable and resilient applications on the AWS Cloud.
He is actively involved in evangelizing Cloud Computing at
various industry conferences and forums.
Shailesh Albuquerque
Solutions Architect
AWS
An ardent cloud enthusiast and a prolific speaker at NASSCOM &
Cloud Connect Events
15+ years of software development experience, he is instrumental
in defining CelloSaaS framework
Enables Enterprises and ISVs to define their cloud strategyJothi Rengarajan
Chief Architect
Techcello2 / 33
![Page 3: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/3.jpg)
© Techcello www.techcello.com
About Techcello
Building SaaS. Made Easy
Cloud Ready, SaaS/Multi-Tenant SaaS Application Development Framework
Provides end-end SaaS Lifecycle Management Solution
Redefines the way SaaS products are built and managed
Saves anywhere between 30%-50% of time and cost
3 / 33
![Page 4: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/4.jpg)
© Techcello www.techcello.com
Housekeeping Instructions
All phones are set to mute. If you have any questions, please type them in the Chat window
located beside the presentation panel.
We have already received several questions from the registrants, which will be answered by the
speakers during the Q & A session.
We will continue to collect more questions during the session as we receive and will try to answer
them during today’s session.
In case if you do not receive answers to your question today, you will certainly receive answers via
email shortly.
Thanks for your participation and enjoy the session!
![Page 5: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/5.jpg)
© Techcello www.techcello.com
Agenda
Scalability
Key Factors Demanding ScalabilityBest Practices to achieve scalabilitySQL vs. No SQLConsiderations for Database ShardingLeveraging cloud for scalability
![Page 6: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/6.jpg)
Scalability
![Page 7: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/7.jpg)
© Techcello www.techcello.com
What is Scalability?
Ability of a system, network, or process, to handle a growing amount of work in a capable manner.
For example, capability of a system to increase total throughput under an increased load when resources (typically hardware) are added.
Key factors that demand scalability,
• Increased user concurrency
• Increased volume of transaction
• Increased work processing
• Increased volume of storage
• Increased data to and fro from the system
![Page 8: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/8.jpg)
© Techcello www.techcello.com
Approaches For Scalability
Scale-up
Scale-out
![Page 9: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/9.jpg)
© Techcello www.techcello.com
Elasticity
Scale-up and down gracefully
Scenarios
– Applications with periodic bursts
• Applications with periodic spikes. Example, Travel sites where spikes
are huge when promotional activities run, Assessment applications
where spikes are high when major exams are conducted.
– Nightly Jobs
• Scale out till the job runs
![Page 10: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/10.jpg)
© Techcello www.techcello.com
Typical Layers in an application/ product
Presentation – Web, Thick client
Business Logic Layer/ Application Layer
Data Storage/ Database Layer
![Page 11: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/11.jpg)
© Techcello www.techcello.com
Web and Business layer scalability
Scale up by increasing hardware capacity
Scale out by adding more webserver and applications servers in a
farm behind firewall
![Page 12: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/12.jpg)
© Techcello www.techcello.com
Practices for web/ application layer scalability
Centralized out of process session Usage
Centralized out of process cache usage
Centralized file storage
Asynchronous request processing
Queue based request processing
In-proc parallelism
Stateless design – per call services
Auto Scaling
![Page 13: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/13.jpg)
© Techcello www.techcello.com
Database Scalability
Choices – SQL vs No SQL
No SQL – Non relational – Key value, graph, object store
![Page 14: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/14.jpg)
© Techcello www.techcello.com
Advanatges/Disadvantages of NoSQL
Advantage
– Can scale out horizontally pretty easily
– Many support inherent caching and is fast
– Support huge volume of data
Disadvanatages
– Lacs atomic transaction scaling multiple tables
– Complex queries are not possible and needs to be handled at
application front
– Many cannot support normalization and relationships and hence
the application needs to take care of data sanity
![Page 15: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/15.jpg)
© Techcello www.techcello.com
Scenarios for Usage of No SQL DB
No SQL – Membase, Cassandra, MongoDB, Redis
– Flexible schema
– Similar kind of data and lesser tables
– Fits well for volatile data
– Very high volume of similar data expected
Specific Use Cases
– Log Analytics
– Package Tracking
– Games
– Forums, Threaded discussions
– Document/Content Management Systems
– Social networking Content
![Page 16: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/16.jpg)
© Techcello www.techcello.com
Advanatges/Disadvantages of RDBMS
Advantage
– Support for atomic transactions
– Complex queried and Indexes
– Intact relationship and constraints
Disadvanatages
– Difficult to scale out
– Performance impact when used with very high volume
![Page 17: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/17.jpg)
© Techcello www.techcello.com
Scenarios for Usage of RDBMS
SQL – Example, Oracle, SQL Server, MySQL
– Multiple Relational Table With Different Kinds of Data
– Reads required through multiple search condition
– Heavy reporting required
– Volume not expected to grow very high in the range of 500GB
per server
– Needs transactional support
Specific Use Cases
– LOB Applications
![Page 18: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/18.jpg)
© Techcello www.techcello.com
SQL Scaleout Choices
Load balancer eg: Oracle RAC
– Workload balanced between multiple database instances
– Supported by only few RDBMS providers
– No effort required from development
– Not easy to implement
– Expensive
![Page 19: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/19.jpg)
© Techcello www.techcello.com
SQL Scaleout Choices
Sharding
• Database design principle whereby rows of a database table are held
separately, rather than being split into columns (which is
what normalization and vertical partitioning). Each partition forms
part of a shard, which may in turn be located on a separate database
server or physical location.
• Achievable in many RDBMS databases including cloud based
databases such as Azure and RDS
• Needs development effort
• Difficult to maintain
• Cost effective
![Page 20: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/20.jpg)
© Techcello www.techcello.com
Considerations for Database Sharding
Sharding
– Sharding Key need to be determined carefully
– Consider Sharding for scaling transactional data and use readonly databases for reports
– Query cannot reference 2 shards
– Use techniques like partitioned distributed views for fetching from multiple shards or Combine the data from the shards in the application layer
– Shards only when necessary as it has performance overhead
– Rebalancing shards needs to be thought through prior and needs to follow few design principles such as type of primary key.
![Page 21: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/21.jpg)
© Techcello www.techcello.com
Go Hybrid
Portion of application using RDMS and Portion using NOSQL
![Page 22: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/22.jpg)
© Techcello www.techcello.com
Batch Backend Job Process Scaleout
Have a mechanism to submit the jobs to be processed
asynchronously
Scaleout by adding more processing nodes
Have a queue for job process log
Processing nodes pick and start processing the jobs automatically
based on status
Have job priorities for processing jobs
Use parallelism with the same process for taking maximum benefit
of the resources
![Page 23: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/23.jpg)
© Techcello www.techcello.com
Batch Backend Job Process Scaleout
![Page 24: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/24.jpg)
© Techcello www.techcello.com
Typical Deployment Diagram
![Page 25: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/25.jpg)
© Techcello www.techcello.com
Leveraging cloud for Scalability
Auto Scale out and Scale down for compute
Auto Scale out and Scale down for storage
Utilize Data services
Utilize caching services
Sample Case On Cloud
– High compute need for operation
A categorization engine which needs to run huge algorithms to categorize the line items.
Solution: The line items are batched and for processing each batch the servers are automatically provisioned in cloud. The provisioned server completes the job and provides the feedback of job completion and once the batch is completed the server is automatically deprovisioned
– High volume requirement on specific period of a year
– A marketing system needing to send campaign every month beginning
Solution: Tools are used to monitor the performance data of the cloud instances and notify when thresholds are crossed. Jobs written to automatically spin new instances when the threshold limits are crossed
![Page 26: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/26.jpg)
Scaling your SaaS withAmazon Web ServicesShailesh AlbuquerqueSolutionsArchitect | [email protected]
![Page 27: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/27.jpg)
AWS Service Breadth & Depth
EnterpriseApplications
Platform Services
management
Administration &Security
Core Services(Relational, NoSQL, Caching) (VPC, DX, DNS)
and Load Balancing) and Archival)
Infrastructure Regions Availability Zones Points of Presence
Compute Storage(VMs, Auto-scaling (Object, Block CDN Databases Networking
Identity Access Control Usage Monitoring andManagement Auditing Key Storage Logs
Analytics
Hadoop
Real-timeStreaming Data
DataWarehouse
Data Pipelines
App Services Queuing & Notifications
Workflow
App streaming
Transcoding
Search
Deployment & Management
One-click web app deployment
Dev/ops resource
Resource Templates
Mobile Services
Identity
Sync
Mobile Analytics
Push Notifications
Virtual Desktops Collaboration and
Sharing
![Page 28: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/28.jpg)
“AWS is the overwhelming market share
leader, with more than five times
the compute capacity in use than
the aggregateproviders.”
total of the other fourteen
Gartner “Magic Quadrant for Cloud Infrastructure as a Service,” Lydia Leong, Douglas Toombs, Bob Gill, Gregor Petri, Tiny Haynes, August 19, 2013. This Magic Quadrant graphic was published by Gartner, Inc. as part
of a larger research note and should be evaluated in the context of the entire report.. The Gartner report is available upon request from Steven Armstrong ([email protected]). Gartner does not endorse any vendor,
product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's
research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a
particular purpose.
![Page 29: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/29.jpg)
Powering Global SaaS companies
![Page 30: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/30.jpg)
AWS Globaldeployment
Footprint – supports Global
of your SaaS
11 Regions*
28 Availability Zones*
52 Edge Locations
![Page 31: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/31.jpg)
+516AWS Rapid Pace of Innovation
Since inception AWS has:
••
•
Released 1173 new services and featuresIntroduced more than 40 major new services
Announced 48 price reductions
+280Amazon ElasticTranscoder
Amazon EC2Container Service
AWS Lambda
+159 AWS OpsWorks
AWS StorageGateway
AmazonCloudHSM AWS Config
AWS CodeDeployAmazonDynamo DB+82 Amazon
AppStreamAWS Key ManagementServiceAmazon
CloudSearchAmazon SES
AWS ElasticBeanstalk
AWS
CloudFormation
AmazonElastiCache
AWS DirectConnect
GovCloud
+61 Amazon RDS for AuroraAmazonCloudTrail
+48 Amazon SWFAmazon Cognito
Amazon SNS
Amazon Glacier Amazon MobileAnalytics+24 Elastic Load
Balancing
Auto Scaling
Amazon VPC
Amazon RDS
AmazonWorkSpaces
AWS Identity& AccessManagement
Amazon Redshift
+2 +1 Amazon ZocaloAmazon EBS
AmazonCloudFront
AWS DataPipelineAmazon S3
Amazon SQS
2006
AWS DirectoryService
Amazon KinesisAmazon Route 53
Amazon FPS
2007 201320122008 2009 2010 20112014
*as of Jan 28, 2014
![Page 32: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/32.jpg)
Common Patterns for Cost-EffectiveScaling
![Page 33: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/33.jpg)
Scaling the Web Application
![Page 34: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/34.jpg)
Scalable Services for the Data Tier
rich search
complex queries
and transactions
hot reads
logginganalytics
key/value
simple query
CloudSearch ElastiCache S3
DynamoDB RDS Redshift
Data Tier
Amazon Amazon Amazon
Amazon Amazon Amazon
![Page 35: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/35.jpg)
Scalable Analytics
![Page 36: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/36.jpg)
Real Time Streaming Data Analytics
Aggregate
andarchive to S3
Real-timedashboards andalarms
FrontEnd
Ordered streamof eventssupports multiple readers
AZ AZ AZAuthenticatio
nAuthorization
Millions ofsources
producing100s of
terabytes perhour
Durable, highly consistent storage replicates
datacross three data centers (availability
zones)
Machine
learningalgorithms or
slidingwindow
analytics
Amazon Web
Services
Inexpensive: $0.028 per million
puts
Aggregate
analysisin Hadoop or a
datawarehouseRun code in response to an event and
automatically manage compute.
a
![Page 37: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/37.jpg)
SaaS on AWS lets you focus on your customers
1. AWS flexibility Quickly respond tochanges in application needs in a cost
effective way
2. AWS innovation Keep up with latestindustry trends without building it all
yourself
3. AWS ecosystem Stand on theshoulders of giants on the AWS platform
![Page 38: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/38.jpg)
Further Reading
AWS Website : http://aws.amazon.com
AWS Architecture: http://aws.amazon.com/architecture/
AWS SaaS Partner Program : http://aws.amazon.com/partners/saas/
![Page 39: Webinar How to Achieve True Scalability in SaaS Applications](https://reader034.fdocuments.in/reader034/viewer/2022051516/55a585cd1a28ab7d3b8b46af/html5/thumbnails/39.jpg)
© Techcello www.techcello.com
Contact Us
Building SaaS. Made Easy
Web : http://www.techcello.com
General Enquiry : [email protected]
Support Enquiry : [email protected]
Sales Queries: [email protected]