With AWS you can choose the right database technology and software for the job. Given the myriad of choices, from relational databases to non-relational stores, this session provides details and examples of some of the choices available to you. This session also provides details about real-world deployments from customers using Amazon RDS, Amazon ElastiCache, Amazon DynamoDB, and Amazon Redshift.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Sundar Raghavan – Amazon RDS Zac Sprackett – Vice President of Operations with SugarCRM Michael Thomas – Principal Software Engineer with Scopely November 13, 2013
Today’s discussion
AWS Database Options and Decision Factors
Best Practice Tips and Techniques SugarCRM
Scopely
Q & A
Starting with the Customer
• How many of you use databases on AWS?
• How many of you use Amazon RDS, Amazon DynamoDB, Amazon Redshift, or Amazon ElastiCache?
• How many of you have a well defined DR strategy for your databases?
• How many of you are building geo-spatial and context sensitive applications?
• We suggest that you attend Werner’s keynote!
US West x 2 (N. California and Oregon)
US East (Northern Virginia)
Europe West (Dublin)
Asia Pacific Region
(Singapore)
Asia Pacific Region (Tokyo)
9 AWS Regions including 25 Availability Zones and growing
46 world-wide points of presence
US GovCloud (US ITAR
Region -- Oregon)
LATAM (Sao
Paola)
>10 data centersIn US East alone
Australia Region
(Australia)
Introducing: Cross Region Support
• RDS Snapshot Copy • All engines
Zoopla “We are very happy with RDS cross region snapshot copy feature as it gives us the ability to copy our data from one AWS region to another AWS region with minimal effort. Prior to this feature, it used to take 3 days and a number of manual steps to copy our snapshots. Now we have an automated process that helps us to achieve disaster recovery capabilities in just few steps.” Joel Callaway, IT Operations Manager Zoopla Property Group Ltd, UK
• Manifest destiny – Source code access and SQL database per customer
• Scale – From one seat customers to multi thousand seat customers
• Globally distributed customer base
Deployment Models
Traditional SaaS SugarCRM
Application Stack
Shadow
Apache
PHP
MySQL
Elastic Search HTML5 & JavaScript
Linux Email Archiving
Background Jobs
Cloud Stacks
Amazon S3
Amazon Glacier
ElastiCache
EC2 Elastic Search EC2 Job Servers EC2 Web Servers
Amazon SES
RDS DB Instance
RDS DB Instance Read
Replica
Cloud Provider
Cloud Providers
Route 53
Managed Elastic IP
EC2 HA Proxy
EC2 HA Proxy
Cloud Stack
Management Console
Globally Distributed Cloud Providers
Delivering On Time and On Budget • Amazon lets you easily spin up testing environments
– Testing only works if you make use of it. Don’t make assumptions – Monitor everything
• Change in cost model can surprise finance – Planned capital expenditures versus after the fact operational expenditures – Use reserved instances – Third party tools such as Cloudability can help alert you of issues early
• Manage access keys effectively to control cost – Learn to love AWS Identity and Access Management (IAM)
Things to Watch Out For • Understand your IO requirements
– Make effective use of each of instance backed, Amazon EBS and Provisioned IOPS file systems
• Use the heck out of read replicas • Snapshots are incredibly useful
– But not available from a read replica • Don’t use the default parameter group for Amazon RDS
– Unless you really like restarting databases • Cold Standby is not instant on
– Don’t get stuck waiting for deployments in a forced failover scenario • ElastiCache is not clustered across availability zones • Watch out for the SLA
– 99.95% for a region even across two AZ’s – This doesn’t include user error
• You still need DBAs and Ops but they get to do cooler stuff
Michael Thomas – Principal Software Engineer with Scopely
November 13, 2013
Our technical infrastructure allows developers to build games efficiently for both iOS and Android.
ABOUT SCOPELY
Millions of Users Billions of Turns
All titles have reached the Top 5 in the App Store, and the last
three have been #1.
Challenges • Build a single platform to support many different
kinds of games – asynchronous turn based, single player, synchronous, etc.
• Scale up and down as games are tested, launched, grow, and are retired.
• We are not an infrastructure company – we must focus on building features that support game development.
Platform Features • Accounts / authentication • Gameplay / state persistence • Chat / messaging • In game economy • Facebook integration • Gifting • Single Player state tracking • Promotion / cross-promotion system • Statistics • Tournaments • Achievements
• Email targeting • Suggested friends • In game news system • External partner integration • Invitation attribution • Push notifications • Content management • Generic storage API • Application / device configuration • AB Testing
Different Features/Different Requirements • Dynamic scaling (game launches, promotions, tests) • High write/read ratio (playing turns) • Transactional consistency (real money purchases) • Indexed data (user accounts) • Complex, real-time data (leaderboards)
Scopely Gaming Platform
DynamoDB RDS
ElastiCache
ElastiCache
Memcached for performance, scalability, and cost savings
Amazon DynamoDB for unbounded data with heavy write load.
Redis for fast, complex caching and message passing.