MouMie
@moumie.org
1
 Explore a cloud platform :AZURE
 Develop a realtime multiplayer game using nodeJs, Socket.io, Mongodb
 Develop a responsive and mobile first application.
 Deliver a realtime application that suitably fit the requirements of a typical cloud
computing model as recommended by the NIST
 Evaluation of the application scalability , security and privacy on different service models
 Report and analyze challenges
 Proposes improvement directives and alternatives as future work
2
 Azure
 NodeJs
 Socket.io
 Bootstrap
 MongoDb
 Mongoose ODM
 Others
3
 Authentication
 Question generation
 Answering questions
 Evaluation
 Rewards
 Reports
 Administrative tasks
4
 On demand self-service
 Broad network access
 Resource pooling
 Rapid elasticity
 Measured service
5
6
 Platform as-a-service : WebApp
 Infrastructure as-a-service: Virtual
MachineScale Set
7
8
9
10
11
12
 Setting the development environment
 Locally test theWeb App
 Create an empty
 Deploy the app to Azure
 Use GIT for the local to remote transfer
13
14
15
16
17
 Database isolation
 DBaaS : MLAB
 Single connection instance in the script with customized option
 Upgrade to a premium account
 high scalability features: a zero-downtime vertical scaling via rolling
upgrades and a zero-downtime horizontal scaling via sharding
18
19
20
 Create a normal virtual machine
 Perform the setup
 Customize the firewall
 Test the application
21
22
23
24
 The dedicated cluster account offered by MLAB provides a High-availability of
the database through a multi-zone automatic failover Perform the setup
 This failover scheme comprises a multiple redundant nodes each in isolated
fault zones (on cloud providers that support this) and an automatic failover to a
secondary node should the primary become unreachable.
 Dedicated virtual machines must have greater than 3 GB of RAM to qualify for
theAvailability service level agreement (SLA).
25
 Standard & premium mode
 Affected by the planned maintenance and the unplanned
maintenance
 Scale sets automatically incorporate availability sets for
more than two (02) instances.
 Azure provideVM with a SLA uptime of more than 99.95%
26
 MongoDB with authentication enabled
 a two-factor authentication (2FA)
 the ability to firewall database port(s)
 the ability to enable SSL MongoDB connections however an additional
subscription fee applies for SSL domains.
27
 At the infrastructure level security is provided byAzure through its security
center as per SLA.
 These security features are more effective only if the data collection for the
subscription is turned on.
 Threats alerts and notifications.
 At the application level is postponed to future work.
28
 We acknowledge that users care about their privacy and how their personal
information is used and shared.
 MLAB has a firm commitment to the privacy and protection of its users.
 Azure has a firm commitment to the privacy and protection of its users.
 This realtime game application SLA is to be finalized at the end of the
development.
29
 Accelerated development and innovation.
 Managing scalablity, availability, security, backup, recovery and more are easily
done with just few clicks.
 Design and development shift required
 The freedom was more restricted as the ‚Web App‘is a kind of sandbox.
 Online debugging is painful and time consuming.
 Logs accessible throug FTP.
 Difficulties observed with Mongoose.
 Less portability of theWebApp.
30
 Smooth transition and the portabilty between the local system and the cloud.
 Working with the virtual machine in the scale set is similar to the normal local machine
environment.
 Complete control and freedom over the infrastructure
 Possible to customize the entire environment to fit the business need.
 Slow development and reduced innovation.
 Scaling is very difficult and complex
 Scale set feature still immature.
 Administration through the powershell.
 Paintfull platform maitenance with all the associated security risks require a dedicated
and professional IT
 Scale set single storage !!
31
32
 For this application, PaaS is cheaper than IaaS.
 Microsoft Azure ressource charge scheme is not flexible .
 This application is forced to pay for storage it does not need
 Fined-grained controls over the cloud infrastructure could allow the reduction
of the running cost and making the application more profitable.
 However in general the choice between IaaS and PaaS will depend on the type
of application and its long term goals.
33
 Developed an entertaining and educative realtime application allowing
many players to challenge themselves on a broad and diverse range of
questions.
 Successfully bind together MongoDB, Socket.io, NodeJs and Bootstrap
on different services of Microsoft Azure cloud platform.
 The lack of flexibility observed in the Microsoft Azure charge scheme
makes this application less suitable for it while AWS with its more
customizable offers is more appealing regarding the lowering of the
running cost.
 PaaS is recommended for this application
34
 Completing all the remaining features of the application as per initial
requirement
 Explore other database alternatives.
 Carry out a similar study on other cloud platforms (AWS, Google cloud).
 Perfomr a study aiming at exploring different ways lowering the running cost
and making the application more profitable.
35
36

Developing a real time application on the cloud using node js , socket.io and mongodb slides

  • 1.
  • 2.
     Explore acloud platform :AZURE  Develop a realtime multiplayer game using nodeJs, Socket.io, Mongodb  Develop a responsive and mobile first application.  Deliver a realtime application that suitably fit the requirements of a typical cloud computing model as recommended by the NIST  Evaluation of the application scalability , security and privacy on different service models  Report and analyze challenges  Proposes improvement directives and alternatives as future work 2
  • 3.
     Azure  NodeJs Socket.io  Bootstrap  MongoDb  Mongoose ODM  Others 3
  • 4.
     Authentication  Questiongeneration  Answering questions  Evaluation  Rewards  Reports  Administrative tasks 4
  • 5.
     On demandself-service  Broad network access  Resource pooling  Rapid elasticity  Measured service 5
  • 6.
  • 7.
     Platform as-a-service: WebApp  Infrastructure as-a-service: Virtual MachineScale Set 7
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
     Setting thedevelopment environment  Locally test theWeb App  Create an empty  Deploy the app to Azure  Use GIT for the local to remote transfer 13
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
     Database isolation DBaaS : MLAB  Single connection instance in the script with customized option  Upgrade to a premium account  high scalability features: a zero-downtime vertical scaling via rolling upgrades and a zero-downtime horizontal scaling via sharding 18
  • 19.
  • 20.
  • 21.
     Create anormal virtual machine  Perform the setup  Customize the firewall  Test the application 21
  • 22.
  • 23.
  • 24.
  • 25.
     The dedicatedcluster account offered by MLAB provides a High-availability of the database through a multi-zone automatic failover Perform the setup  This failover scheme comprises a multiple redundant nodes each in isolated fault zones (on cloud providers that support this) and an automatic failover to a secondary node should the primary become unreachable.  Dedicated virtual machines must have greater than 3 GB of RAM to qualify for theAvailability service level agreement (SLA). 25
  • 26.
     Standard &premium mode  Affected by the planned maintenance and the unplanned maintenance  Scale sets automatically incorporate availability sets for more than two (02) instances.  Azure provideVM with a SLA uptime of more than 99.95% 26
  • 27.
     MongoDB withauthentication enabled  a two-factor authentication (2FA)  the ability to firewall database port(s)  the ability to enable SSL MongoDB connections however an additional subscription fee applies for SSL domains. 27
  • 28.
     At theinfrastructure level security is provided byAzure through its security center as per SLA.  These security features are more effective only if the data collection for the subscription is turned on.  Threats alerts and notifications.  At the application level is postponed to future work. 28
  • 29.
     We acknowledgethat users care about their privacy and how their personal information is used and shared.  MLAB has a firm commitment to the privacy and protection of its users.  Azure has a firm commitment to the privacy and protection of its users.  This realtime game application SLA is to be finalized at the end of the development. 29
  • 30.
     Accelerated developmentand innovation.  Managing scalablity, availability, security, backup, recovery and more are easily done with just few clicks.  Design and development shift required  The freedom was more restricted as the ‚Web App‘is a kind of sandbox.  Online debugging is painful and time consuming.  Logs accessible throug FTP.  Difficulties observed with Mongoose.  Less portability of theWebApp. 30
  • 31.
     Smooth transitionand the portabilty between the local system and the cloud.  Working with the virtual machine in the scale set is similar to the normal local machine environment.  Complete control and freedom over the infrastructure  Possible to customize the entire environment to fit the business need.  Slow development and reduced innovation.  Scaling is very difficult and complex  Scale set feature still immature.  Administration through the powershell.  Paintfull platform maitenance with all the associated security risks require a dedicated and professional IT  Scale set single storage !! 31
  • 32.
  • 33.
     For thisapplication, PaaS is cheaper than IaaS.  Microsoft Azure ressource charge scheme is not flexible .  This application is forced to pay for storage it does not need  Fined-grained controls over the cloud infrastructure could allow the reduction of the running cost and making the application more profitable.  However in general the choice between IaaS and PaaS will depend on the type of application and its long term goals. 33
  • 34.
     Developed anentertaining and educative realtime application allowing many players to challenge themselves on a broad and diverse range of questions.  Successfully bind together MongoDB, Socket.io, NodeJs and Bootstrap on different services of Microsoft Azure cloud platform.  The lack of flexibility observed in the Microsoft Azure charge scheme makes this application less suitable for it while AWS with its more customizable offers is more appealing regarding the lowering of the running cost.  PaaS is recommended for this application 34
  • 35.
     Completing allthe remaining features of the application as per initial requirement  Explore other database alternatives.  Carry out a similar study on other cloud platforms (AWS, Google cloud).  Perfomr a study aiming at exploring different ways lowering the running cost and making the application more profitable. 35
  • 36.