SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Build a Scalable
mobile app
Presentation by Mohamed Aboul-Fotouh
AT First what is the problem
● Guess your app currently serves about
10000 users and is running smoothly. But
what happened when so many users
accessing the app all at once !
● It starts to stall and becomes
unresponsive.running out of memory,
computing power and network bandwidth.
Time To Die !
1. index
➔ What is scalability
➔ Scaling mobile app Main concerns
➔ Two approach to scale a mobile app requirements
➔ Scale out VS Scale up
➔ Single Server VS Multi-Server architecture
➔ Develop in cloud
➔ Microservices Architecture
➔ DataBase Architecture
➔ Server Architecture
“Scaling an app is like replacing all
components of a car while driving it at
100mph”Mike Krieger, Instagram
But adding resources on the go
is easier if the app is built to
scale from the beginning
Comparison between mobile app development and web app development
● Operating Systems (OSes)
● hardware and software capabilities
● User Experience(UX)
● Mobile app Code !
○ the code must be re-written for every new device type and OS (And there
are so many of them! – Android, iOS, Blackberry and the list goes on).
○ coding for minimal network usage to optimize app performance.
SCALING MOBILE APPS: MAIN
CONCERNS
Comparison between mobile app development and web app development
● Mobile app Code !
○ Graphics tend to slow down the app and should be minimized or
removed for better performance
○ The amount of data that needs to move back and forth on a page needs
to be minimized.
○ Designing to reduce network requirements and lower number of
roundtrips between server and device will optimize app performance and
help in easy scalability.
SCALING MOBILE APPS: MAIN
CONCERNS
Comparison between mobile app development and web app development
● Mobile app Code !
○ Graphics tend to slow down the app and should be minimized or
removed for better performance
○ the amount of data that needs to move back and forth on a page needs
to be minimized.
○ Designing to reduce network requirements and lower number of
roundtrips between server and device will optimize app performance and
help in easy scalability.
SCALING MOBILE APPS: MAIN
CONCERNS
Mobile app requirements Scalability
● Case 1 : Develop for one platform , then extend to another platforms
(Native Development )
➔ Knows as phased development model
➔ For example, retailers usually develop for Android first to tap
into a much larger customer pool.
➔ Likewise, publishing companies may opt only for iPad or
android tablet apps as a larger screen lends a better UX
➔ As the app gains popularity it may be extended across other
device classes.
Mobile app requirements Scalability
● Case 2 : Use cross platforms ( Code base, Cross platform )
➔ Cross platforms : The hybrid apps developed using
cross-platform tools provide native-like experience to the end
user though they are not pure native apps. Developers build
apps quickly using a single development environment.
➔ The overall code is a collection of reusable units. Such
modular development allows easy portability of the app to
other OS and device types.
➔ Like titanium , cordova , React native or etc
The first Step to build a scalable mobile app
➔ is to define your scaling requirements correctly.
➔ The volume of information to be handled, concurrent access
and session lengths need to be considered.
➔ For instance, displaying static information is vastly different
from connecting a million people to exchange information in
real-time.
Scale out Vs Scale up
Scale up ( Vertical Scale )
● Fixed resource controller for all
processing.
● To add capacity, you attach
disk-shelves up to the maximum
for which the controller is rated.
● you will hit the upper limit on
computing and memory power
available on a single PC.
Scale out ( Horizontal scale )
● scale performance and capacity
separately or in lockstep by not
relying on a single controller
● If designed properly it can
provide infinite scalability at a low
cost.
● But design and development is
slightly complicated.
Single server Vs Multi-server architecture
Single Server
● use single server architecture
for their minimum viable
product (MVP)
● In single server architecture, one
server is hosting all of your
code, database and files
● Having a single point of failure is
risky as you may lose some data
● more cores and greater RAM
capacity are costlier
Multi-Server
● Use multi-server architecture
● separate servers for database,
code and content files right from
beginning and is easier to scale
● load balancer to distribute
requests between the servers
Single server Approach
Load balancer
● A load balancer is a device that distributes network or application traffic
across a cluster of servers. Load balancing improves responsiveness and
increases availability of applications.
● When one application server becomes unavailable, the load balancer
directs all new application requests to other available servers in the pool.
Load balancing algorithms and methods
● The Least Connection Method
● The Round Robin Method
● The Least Response Time Method
● The Least Bandwidth Method
● The Least Packets Method
● The Custom Load Method
Multi-server Approach
Multi-server Approach
Develop in cloud
● Pay-as-you-go model to keep
costs low .
● Cloud architecture ensures
scalability and brings down
expenditure on IT provisioning.
● Small developer teams in
startups can benefit from the
managed services provided by
cloud vendors.
Microservices architecture
● A collection of small, autonomous services. Each service is
self-contained and should implement a single business capability.
● Each service is a separate codebase, which can be managed by a
small development team.
● Services can be deployed independently. A team can update an
existing service without rebuilding and redeploying the entire
application.
● Services communicate with each other by using well-defined APIs.
Internal implementation details of each service are hidden from other
services.
● Services don't need to share the same technology stack, libraries, or
frameworks.
Database architecture
● A scalable application has good database architecture. Few things to
keep in mind while designing your database for scaling:
● Query Optimization: Check index usage and add new indexes to get
better response time on slow-running queries. But maintaining
balance is crucial as too many indexes can hurt performance. Look
out for queries that place read/write locks on a table in your
database. Such queries can slowdown performance.
Database architecture
● Caching Servers: If you have queries returning the same data
repeatedly then instead of accessing the database each time, it can
be programmed to return the cached version from caching server.
● Optimizing your database to keep query response time low and
capacity building for higher traffic will ensure database scalability
when needed.
Thanks & Good luck!
Contact me
/moh.aboelfetouh
/aboelfetouh_
/in/mohamedaboelfetoh

Más contenido relacionado

La actualidad más candente

SRS for smart health care system,srs for health system,health management doc...
SRS  for smart health care system,srs for health system,health management doc...SRS  for smart health care system,srs for health system,health management doc...
SRS for smart health care system,srs for health system,health management doc...AnilkumarSingh129
 
Fresher java j2ee resume
Fresher java j2ee resumeFresher java j2ee resume
Fresher java j2ee resumeVikram Rawani
 
Heart disease prediction using machine learning algorithm
Heart disease prediction using machine learning algorithm Heart disease prediction using machine learning algorithm
Heart disease prediction using machine learning algorithm Kedar Damkondwar
 
Food delivery application report
Food delivery application reportFood delivery application report
Food delivery application reportAshwinBicholiya
 
Vehicle Tracking System Android Project Report
Vehicle Tracking System Android Project ReportVehicle Tracking System Android Project Report
Vehicle Tracking System Android Project ReportSujit9561
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 
online news portal system
online news portal systemonline news portal system
online news portal systemArman Ahmed
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopThe Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopSynergyTop Inc
 
Online Quiz System Project Report
Online Quiz System Project Report Online Quiz System Project Report
Online Quiz System Project Report Kishan Maurya
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...RealTime-at-Work (RTaW)
 
Car Game - Final Year Project
Car Game - Final Year ProjectCar Game - Final Year Project
Car Game - Final Year ProjectVivek Naskar
 
Accident detection
Accident detection Accident detection
Accident detection Samana Rao
 
mLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn
 

La actualidad más candente (20)

SRS for smart health care system,srs for health system,health management doc...
SRS  for smart health care system,srs for health system,health management doc...SRS  for smart health care system,srs for health system,health management doc...
SRS for smart health care system,srs for health system,health management doc...
 
Fresher java j2ee resume
Fresher java j2ee resumeFresher java j2ee resume
Fresher java j2ee resume
 
android report
android reportandroid report
android report
 
Heart disease prediction using machine learning algorithm
Heart disease prediction using machine learning algorithm Heart disease prediction using machine learning algorithm
Heart disease prediction using machine learning algorithm
 
Food delivery application report
Food delivery application reportFood delivery application report
Food delivery application report
 
Vehicle Tracking System Android Project Report
Vehicle Tracking System Android Project ReportVehicle Tracking System Android Project Report
Vehicle Tracking System Android Project Report
 
Housing price prediction
Housing price predictionHousing price prediction
Housing price prediction
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 
Flutter
FlutterFlutter
Flutter
 
online news portal system
online news portal systemonline news portal system
online news portal system
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopThe Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
 
Online Quiz System Project Report
Online Quiz System Project Report Online Quiz System Project Report
Online Quiz System Project Report
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
 
Car Game - Final Year Project
Car Game - Final Year ProjectCar Game - Final Year Project
Car Game - Final Year Project
 
Srs for banking system
Srs for banking systemSrs for banking system
Srs for banking system
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Accident detection
Accident detection Accident detection
Accident detection
 
Gps tracking system
Gps tracking systemGps tracking system
Gps tracking system
 
mLearn Project 2012 Full Report
mLearn Project 2012 Full ReportmLearn Project 2012 Full Report
mLearn Project 2012 Full Report
 

Similar a Build A Scalable Mobile App

Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Cloud computing and software engineering
Cloud computing and software engineeringCloud computing and software engineering
Cloud computing and software engineeringRavindra Dastikop
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with MicroservicesRishabh Dugar
 
A viewof cloud computing
A viewof cloud computingA viewof cloud computing
A viewof cloud computingpurplesea
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignGDSCVJTI
 
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBNuoDB
 
AViewofCloudComputing.ppt
AViewofCloudComputing.pptAViewofCloudComputing.ppt
AViewofCloudComputing.pptMrGopirajanPV
 
A View of Cloud Computing.ppt
A View of Cloud Computing.pptA View of Cloud Computing.ppt
A View of Cloud Computing.pptAriaNasi
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native EnvironmentsWSO2
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Lightbend
 
CloudComputing
CloudComputingCloudComputing
CloudComputingAdi Challa
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectBitCot
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Azure Overview Business Model Overview
Azure Overview Business Model OverviewAzure Overview Business Model Overview
Azure Overview Business Model Overviewrramabad
 

Similar a Build A Scalable Mobile App (20)

Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Cloud computing and software engineering
Cloud computing and software engineeringCloud computing and software engineering
Cloud computing and software engineering
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
 
A viewof cloud computing
A viewof cloud computingA viewof cloud computing
A viewof cloud computing
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP Campaign
 
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDB
 
AViewofCloudComputing.ppt
AViewofCloudComputing.pptAViewofCloudComputing.ppt
AViewofCloudComputing.ppt
 
AViewofCloudComputing.ppt
AViewofCloudComputing.pptAViewofCloudComputing.ppt
AViewofCloudComputing.ppt
 
A View of Cloud Computing.ppt
A View of Cloud Computing.pptA View of Cloud Computing.ppt
A View of Cloud Computing.ppt
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments
 
Akhil518
Akhil518Akhil518
Akhil518
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
 
CloudComputing
CloudComputingCloudComputing
CloudComputing
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your Project
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Azure Overview Business Model Overview
Azure Overview Business Model OverviewAzure Overview Business Model Overview
Azure Overview Business Model Overview
 

Más de Mohamed Aboul-Fotouh

Más de Mohamed Aboul-Fotouh (6)

Enterprise mobility
Enterprise mobility Enterprise mobility
Enterprise mobility
 
Mozilla egypt , How to contribute in mozilla #MozillaEgyptTour1
Mozilla egypt , How to contribute in mozilla #MozillaEgyptTour1Mozilla egypt , How to contribute in mozilla #MozillaEgyptTour1
Mozilla egypt , How to contribute in mozilla #MozillaEgyptTour1
 
How to build an admin guy
How to build an admin guyHow to build an admin guy
How to build an admin guy
 
#TwentyCAT documentation
#TwentyCAT documentation#TwentyCAT documentation
#TwentyCAT documentation
 
Twenty cat
Twenty catTwenty cat
Twenty cat
 
First CAT juniors session documentation
First CAT juniors session documentationFirst CAT juniors session documentation
First CAT juniors session documentation
 

Último

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 

Último (20)

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 

Build A Scalable Mobile App

  • 1. Build a Scalable mobile app Presentation by Mohamed Aboul-Fotouh
  • 2. AT First what is the problem ● Guess your app currently serves about 10000 users and is running smoothly. But what happened when so many users accessing the app all at once ! ● It starts to stall and becomes unresponsive.running out of memory, computing power and network bandwidth.
  • 4. 1. index ➔ What is scalability ➔ Scaling mobile app Main concerns ➔ Two approach to scale a mobile app requirements ➔ Scale out VS Scale up ➔ Single Server VS Multi-Server architecture ➔ Develop in cloud ➔ Microservices Architecture ➔ DataBase Architecture ➔ Server Architecture
  • 5. “Scaling an app is like replacing all components of a car while driving it at 100mph”Mike Krieger, Instagram But adding resources on the go is easier if the app is built to scale from the beginning
  • 6. Comparison between mobile app development and web app development ● Operating Systems (OSes) ● hardware and software capabilities ● User Experience(UX) ● Mobile app Code ! ○ the code must be re-written for every new device type and OS (And there are so many of them! – Android, iOS, Blackberry and the list goes on). ○ coding for minimal network usage to optimize app performance. SCALING MOBILE APPS: MAIN CONCERNS
  • 7. Comparison between mobile app development and web app development ● Mobile app Code ! ○ Graphics tend to slow down the app and should be minimized or removed for better performance ○ The amount of data that needs to move back and forth on a page needs to be minimized. ○ Designing to reduce network requirements and lower number of roundtrips between server and device will optimize app performance and help in easy scalability. SCALING MOBILE APPS: MAIN CONCERNS
  • 8. Comparison between mobile app development and web app development ● Mobile app Code ! ○ Graphics tend to slow down the app and should be minimized or removed for better performance ○ the amount of data that needs to move back and forth on a page needs to be minimized. ○ Designing to reduce network requirements and lower number of roundtrips between server and device will optimize app performance and help in easy scalability. SCALING MOBILE APPS: MAIN CONCERNS
  • 9. Mobile app requirements Scalability ● Case 1 : Develop for one platform , then extend to another platforms (Native Development ) ➔ Knows as phased development model ➔ For example, retailers usually develop for Android first to tap into a much larger customer pool. ➔ Likewise, publishing companies may opt only for iPad or android tablet apps as a larger screen lends a better UX ➔ As the app gains popularity it may be extended across other device classes.
  • 10. Mobile app requirements Scalability ● Case 2 : Use cross platforms ( Code base, Cross platform ) ➔ Cross platforms : The hybrid apps developed using cross-platform tools provide native-like experience to the end user though they are not pure native apps. Developers build apps quickly using a single development environment. ➔ The overall code is a collection of reusable units. Such modular development allows easy portability of the app to other OS and device types. ➔ Like titanium , cordova , React native or etc
  • 11. The first Step to build a scalable mobile app ➔ is to define your scaling requirements correctly. ➔ The volume of information to be handled, concurrent access and session lengths need to be considered. ➔ For instance, displaying static information is vastly different from connecting a million people to exchange information in real-time.
  • 12. Scale out Vs Scale up Scale up ( Vertical Scale ) ● Fixed resource controller for all processing. ● To add capacity, you attach disk-shelves up to the maximum for which the controller is rated. ● you will hit the upper limit on computing and memory power available on a single PC. Scale out ( Horizontal scale ) ● scale performance and capacity separately or in lockstep by not relying on a single controller ● If designed properly it can provide infinite scalability at a low cost. ● But design and development is slightly complicated.
  • 13. Single server Vs Multi-server architecture Single Server ● use single server architecture for their minimum viable product (MVP) ● In single server architecture, one server is hosting all of your code, database and files ● Having a single point of failure is risky as you may lose some data ● more cores and greater RAM capacity are costlier Multi-Server ● Use multi-server architecture ● separate servers for database, code and content files right from beginning and is easier to scale ● load balancer to distribute requests between the servers
  • 15. Load balancer ● A load balancer is a device that distributes network or application traffic across a cluster of servers. Load balancing improves responsiveness and increases availability of applications. ● When one application server becomes unavailable, the load balancer directs all new application requests to other available servers in the pool. Load balancing algorithms and methods ● The Least Connection Method ● The Round Robin Method ● The Least Response Time Method ● The Least Bandwidth Method ● The Least Packets Method ● The Custom Load Method
  • 18. Develop in cloud ● Pay-as-you-go model to keep costs low . ● Cloud architecture ensures scalability and brings down expenditure on IT provisioning. ● Small developer teams in startups can benefit from the managed services provided by cloud vendors.
  • 19. Microservices architecture ● A collection of small, autonomous services. Each service is self-contained and should implement a single business capability. ● Each service is a separate codebase, which can be managed by a small development team. ● Services can be deployed independently. A team can update an existing service without rebuilding and redeploying the entire application. ● Services communicate with each other by using well-defined APIs. Internal implementation details of each service are hidden from other services. ● Services don't need to share the same technology stack, libraries, or frameworks.
  • 20. Database architecture ● A scalable application has good database architecture. Few things to keep in mind while designing your database for scaling: ● Query Optimization: Check index usage and add new indexes to get better response time on slow-running queries. But maintaining balance is crucial as too many indexes can hurt performance. Look out for queries that place read/write locks on a table in your database. Such queries can slowdown performance.
  • 21. Database architecture ● Caching Servers: If you have queries returning the same data repeatedly then instead of accessing the database each time, it can be programmed to return the cached version from caching server. ● Optimizing your database to keep query response time low and capacity building for higher traffic will ensure database scalability when needed.
  • 22. Thanks & Good luck! Contact me /moh.aboelfetouh /aboelfetouh_ /in/mohamedaboelfetoh