SlideShare une entreprise Scribd logo
1  sur  34
Amazon Elastic   Amazon Relational   Amazon DynamoDB
Compute Cloud    Database Service
   (EC2)              (RDS)
MySQL

 App          M
Servers
MySQL


              M


                  Asynchronous
                  Replication
 App
Servers

          MySQL


                  S
MySQL


              M



 App
Servers

          MySQL


                  S
MySQL


                  M


                  Asynchronous
                  Replication
 App
Servers
          MySQL



                  S
MySQL


                  M


                  Asynchronous
                  Replication
 App
Servers
          MySQL



                  S
App
Servers
          MySQL



                  M
MySQL



                  S


                  Asynchronous
                  Replication
 App
Servers
          MySQL



                   M
data   data   data   data


MySQL
            data   data   data   data



        M
            data   data   data   data
MySQL       MySQL


                M               S

MySQL



        M

            MySQL       MySQL


                    M           S
data                  data
          MySQL              MySQL
 App              logs                  logs
              M                     S
Servers
                     Asynchronous
                     Replication
data                  data
          MySQL                     MySQL

                         logs                  logs
                    M                      S

                            Asynchronous
                            Replication
 App
Servers
          Memcached


            Instance01
- High concurrency of requests
- Maximum instance size
- I/O capacity on the EBS volumes
- Latency on the EBS volumes
- Client-side caching
- Request batching
- Stripe over multiple EBS volumes
- Shard the users between multiple data base instances:
…
function getDbId($userID) {
               $db_id = ($userID % CONFIG::NUM_SHARDS);
               return $db_id;
          }
…
- Cache extensively
   - Memcache
   - Application server cache
MySQL                              MySQL




                                                                      data

                                                                              logs
                                  data

                                           logs
          Memcached
                          M                                  S
                          Shard_N                                Shard_N




                                                   ...
 App                  MySQL                              MySQL




                                                                      data

                                                                              logs
                                  data

                                           logs
          Memcached
Servers                    M
                          Shard_01
                                                                 S
                                                                 Shard_01




          Memcached   MySQL                              MySQL




                                                                       data

                                                                               logs
                                    data

                                            logs
                              M                                  S
                          Main_01                                Main_01
- Persistence from Memcache to MySQL
- Failure of Memcache will degrade performance of
 the shard
- Horizontal scalability during growth
- Cluster maintenance
- Change database technology – what will that mean?
   - New knowledge to be build in dev and ops
   - Changes in the development process
      - Data abstraction layer
      - Data relation model
   - Changes in the operational process
      - Cluster extension and upgrades
      - Monitoring, backup and recovery
   - Technology maturity and support
- Change the least code as possible
          -   Re-use work already done around Memcache

     - Change data structure and relation:

                                                                                     USR_ACHVM_ID:
                                       USR_ID:                                       {
USR_ACC:
                                       {                                                 “type_id": 1,
{
                                           "status": 1,                                  “cntr": 2,
    “id": 83463746374,
                                           "xp": 2,                                      “mtime": 1352203436,
    “activation_time": 1351203195,
                                           “mtime": 1352203436,                          “reached": 1352203195,
    “lastlogin_time": 1352203034,
                                           "last_active": 1352203195,                    “sub_achvms": [2,3,4,6],
...
                                           "last_action": 1352203200,                ...
}
                                           "frnd_lst": [34234234,12425434,34311234], }
                                           “team_lst": [34234234,34311234],
                                           “data": [],
                                       ...
                                       }
Couchbase




                         data
                                MySQL




                                             data

                                                    logs
               Node_N
                                    S




               ...
                                        Main_02




 App
          Couchbase




                         data
Servers                         MySQL




                                             data

                                                    logs
               Node_02              M
                                    Main_01



          Couchbase




                         data
               Node_01
- Improved performance
- Allowed for easier scalability
- Simplified the data layer
- Facilitated the cluster operations and monitoring
- Serialization and deserialization
- Secondary indexes*
- Text search*
- Cluster replication *


* - will be addressed in v2.0 of Couchbase or existing
workarounds
- Know the limitations of each component from your stack


- Do not implement new technology as a fashion trend


- Don’t cut corners for delivery – you will work twice as hard to fix them


- Development and operation teams are the best allies for success
rds-modify-db-instance mydbinstance -c db.m1.xlarge --apply-immediately
Synchronous
          Replication
 App
Servers
App
Servers
Synchronous
          Replication
 App
Servers
App
Servers
Synchronous
 App      Replication
Servers
Scaling with Amazon DynamoDB
We are sincerely eager to
 hear your feedback on this
presentation and on re:Invent.

 Please fill out an evaluation
   form when you have a
            chance.

Contenu connexe

En vedette

Ubisoft Entertainment
Ubisoft EntertainmentUbisoft Entertainment
Ubisoft EntertainmentChadmhoover
 
The games industry- Industry Structure
The games industry- Industry StructureThe games industry- Industry Structure
The games industry- Industry Structurecigdemkalem
 
Ubisoft v1.0 - Analysis of the 3rd biggest game publisher
Ubisoft v1.0 - Analysis of the 3rd biggest game publisherUbisoft v1.0 - Analysis of the 3rd biggest game publisher
Ubisoft v1.0 - Analysis of the 3rd biggest game publishervideogamebusiness
 
善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶Amazon Web Services
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAmazon Web Services
 
AWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAmazon Web Services
 
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivDouble Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivAmazon Web Services
 
AWS Future Building Blocks - Werner Vogels - berlin 2010
AWS Future Building Blocks - Werner Vogels - berlin 2010AWS Future Building Blocks - Werner Vogels - berlin 2010
AWS Future Building Blocks - Werner Vogels - berlin 2010Amazon Web Services
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAmazon Web Services
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
Automating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVaultAutomating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVaultAmazon Web Services
 
AWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS ExperienceAWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS ExperienceAmazon Web Services
 
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...Amazon Web Services
 
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAmazon Web Services
 
Media Success Stories from the Cloud
Media Success Stories from the CloudMedia Success Stories from the Cloud
Media Success Stories from the CloudAmazon Web Services
 
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use CasesAWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use CasesAmazon Web Services
 

En vedette (20)

Ubisoft Entertainment
Ubisoft EntertainmentUbisoft Entertainment
Ubisoft Entertainment
 
The games industry- Industry Structure
The games industry- Industry StructureThe games industry- Industry Structure
The games industry- Industry Structure
 
Ubisoft
UbisoftUbisoft
Ubisoft
 
Ubisoft v1.0 - Analysis of the 3rd biggest game publisher
Ubisoft v1.0 - Analysis of the 3rd biggest game publisherUbisoft v1.0 - Analysis of the 3rd biggest game publisher
Ubisoft v1.0 - Analysis of the 3rd biggest game publisher
 
Ubisoft Strategy
Ubisoft StrategyUbisoft Strategy
Ubisoft Strategy
 
善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶
 
NoSQL like there is No Tomorrow
NoSQL like there is No TomorrowNoSQL like there is No Tomorrow
NoSQL like there is No Tomorrow
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High Availability
 
AWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage Options
 
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivDouble Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
 
AWS Future Building Blocks - Werner Vogels - berlin 2010
AWS Future Building Blocks - Werner Vogels - berlin 2010AWS Future Building Blocks - Werner Vogels - berlin 2010
AWS Future Building Blocks - Werner Vogels - berlin 2010
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private Cloud
 
Automating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVaultAutomating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVault
 
AWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS ExperienceAWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS Experience
 
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
 
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
 
Media Success Stories from the Cloud
Media Success Stories from the CloudMedia Success Stories from the Cloud
Media Success Stories from the Cloud
 
Mobile apps and iot aws lambda
Mobile apps and iot aws lambdaMobile apps and iot aws lambda
Mobile apps and iot aws lambda
 
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use CasesAWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
 

Similaire à GMG302 Scaling Social Games with Ubisoft - AWS re: Invent 2012

A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...MongoDB
 
An overview of Microsoft data mining technology
An overview of Microsoft data mining technologyAn overview of Microsoft data mining technology
An overview of Microsoft data mining technologyMark Tabladillo
 
An overview of microsoft data mining technology
An overview of microsoft data mining technologyAn overview of microsoft data mining technology
An overview of microsoft data mining technologyMark Tabladillo
 
Modernización del manejo de datos con v fabric
Modernización del manejo de datos con v fabricModernización del manejo de datos con v fabric
Modernización del manejo de datos con v fabricSoftware Guru
 
Secrets of Enterprise Data Mining
Secrets of Enterprise Data Mining Secrets of Enterprise Data Mining
Secrets of Enterprise Data Mining Mark Tabladillo
 
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQLUlf Wendel
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesBernd Ocklin
 
Deep Dive on Amazon Relational Database Service
Deep Dive on Amazon Relational Database ServiceDeep Dive on Amazon Relational Database Service
Deep Dive on Amazon Relational Database ServiceAmazon Web Services
 
豆瓣 Qcon2009 Beijing
豆瓣 Qcon2009 Beijing豆瓣 Qcon2009 Beijing
豆瓣 Qcon2009 Beijingyiditushe
 
豆瓣技术架构的发展历程
豆瓣技术架构的发展历程豆瓣技术架构的发展历程
豆瓣技术架构的发展历程George Ang
 
Dynamo DB & RDS Deep Dive - AWS India Summit 2012
Dynamo DB & RDS Deep Dive - AWS India Summit 2012Dynamo DB & RDS Deep Dive - AWS India Summit 2012
Dynamo DB & RDS Deep Dive - AWS India Summit 2012Amazon Web Services
 
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemFour Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemTreasure Data, Inc.
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkVincent Poncet
 
MS Sql Server: Datamining Introduction
MS Sql Server: Datamining IntroductionMS Sql Server: Datamining Introduction
MS Sql Server: Datamining Introductionsqlserver content
 
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr
 
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...Instaclustr
 

Similaire à GMG302 Scaling Social Games with Ubisoft - AWS re: Invent 2012 (20)

A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...
 
An overview of Microsoft data mining technology
An overview of Microsoft data mining technologyAn overview of Microsoft data mining technology
An overview of Microsoft data mining technology
 
An overview of microsoft data mining technology
An overview of microsoft data mining technologyAn overview of microsoft data mining technology
An overview of microsoft data mining technology
 
Modernización del manejo de datos con v fabric
Modernización del manejo de datos con v fabricModernización del manejo de datos con v fabric
Modernización del manejo de datos con v fabric
 
Secrets of Enterprise Data Mining
Secrets of Enterprise Data Mining Secrets of Enterprise Data Mining
Secrets of Enterprise Data Mining
 
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQL
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion Queries
 
Deep Dive on Amazon Relational Database Service
Deep Dive on Amazon Relational Database ServiceDeep Dive on Amazon Relational Database Service
Deep Dive on Amazon Relational Database Service
 
豆瓣 Qcon2009 Beijing
豆瓣 Qcon2009 Beijing豆瓣 Qcon2009 Beijing
豆瓣 Qcon2009 Beijing
 
豆瓣技术架构的发展历程
豆瓣技术架构的发展历程豆瓣技术架构的发展历程
豆瓣技术架构的发展历程
 
No Sql
No SqlNo Sql
No Sql
 
Dynamo DB & RDS Deep Dive - AWS India Summit 2012
Dynamo DB & RDS Deep Dive - AWS India Summit 2012Dynamo DB & RDS Deep Dive - AWS India Summit 2012
Dynamo DB & RDS Deep Dive - AWS India Summit 2012
 
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemFour Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
MS Sql Server: Datamining Introduction
MS Sql Server: Datamining IntroductionMS Sql Server: Datamining Introduction
MS Sql Server: Datamining Introduction
 
SQL Server: Data Mining
SQL Server: Data MiningSQL Server: Data Mining
SQL Server: Data Mining
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
 
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...
Instaclustr webinar 50,000 transactions per second with Apache Spark on Apach...
 

Plus de 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
 

Plus de 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
 

GMG302 Scaling Social Games with Ubisoft - AWS re: Invent 2012

  • 1.
  • 2. Amazon Elastic Amazon Relational Amazon DynamoDB Compute Cloud Database Service (EC2) (RDS)
  • 3.
  • 4. MySQL App M Servers
  • 5. MySQL M Asynchronous Replication App Servers MySQL S
  • 6. MySQL M App Servers MySQL S
  • 7. MySQL M Asynchronous Replication App Servers MySQL S
  • 8. MySQL M Asynchronous Replication App Servers MySQL S
  • 9. App Servers MySQL M
  • 10. MySQL S Asynchronous Replication App Servers MySQL M
  • 11. data data data data MySQL data data data data M data data data data
  • 12. MySQL MySQL M S MySQL M MySQL MySQL M S
  • 13.
  • 14.
  • 15. data data MySQL MySQL App logs logs M S Servers Asynchronous Replication
  • 16. data data MySQL MySQL logs logs M S Asynchronous Replication App Servers Memcached Instance01
  • 17. - High concurrency of requests - Maximum instance size - I/O capacity on the EBS volumes - Latency on the EBS volumes
  • 18. - Client-side caching - Request batching - Stripe over multiple EBS volumes - Shard the users between multiple data base instances: … function getDbId($userID) { $db_id = ($userID % CONFIG::NUM_SHARDS); return $db_id; } … - Cache extensively - Memcache - Application server cache
  • 19. MySQL MySQL data logs data logs Memcached M S Shard_N Shard_N ... App MySQL MySQL data logs data logs Memcached Servers M Shard_01 S Shard_01 Memcached MySQL MySQL data logs data logs M S Main_01 Main_01
  • 20. - Persistence from Memcache to MySQL - Failure of Memcache will degrade performance of the shard - Horizontal scalability during growth - Cluster maintenance
  • 21. - Change database technology – what will that mean? - New knowledge to be build in dev and ops - Changes in the development process - Data abstraction layer - Data relation model - Changes in the operational process - Cluster extension and upgrades - Monitoring, backup and recovery - Technology maturity and support
  • 22. - Change the least code as possible - Re-use work already done around Memcache - Change data structure and relation: USR_ACHVM_ID: USR_ID: { USR_ACC: { “type_id": 1, { "status": 1, “cntr": 2, “id": 83463746374, "xp": 2, “mtime": 1352203436, “activation_time": 1351203195, “mtime": 1352203436, “reached": 1352203195, “lastlogin_time": 1352203034, "last_active": 1352203195, “sub_achvms": [2,3,4,6], ... "last_action": 1352203200, ... } "frnd_lst": [34234234,12425434,34311234], } “team_lst": [34234234,34311234], “data": [], ... }
  • 23. Couchbase data MySQL data logs Node_N S ... Main_02 App Couchbase data Servers MySQL data logs Node_02 M Main_01 Couchbase data Node_01
  • 24. - Improved performance - Allowed for easier scalability - Simplified the data layer - Facilitated the cluster operations and monitoring
  • 25. - Serialization and deserialization - Secondary indexes* - Text search* - Cluster replication * * - will be addressed in v2.0 of Couchbase or existing workarounds
  • 26. - Know the limitations of each component from your stack - Do not implement new technology as a fashion trend - Don’t cut corners for delivery – you will work twice as hard to fix them - Development and operation teams are the best allies for success
  • 27. rds-modify-db-instance mydbinstance -c db.m1.xlarge --apply-immediately
  • 28. Synchronous Replication App Servers
  • 30. Synchronous Replication App Servers
  • 32. Synchronous App Replication Servers
  • 34. We are sincerely eager to hear your feedback on this presentation and on re:Invent. Please fill out an evaluation form when you have a chance.