SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Full report on blood bank management system
Full report on  blood bank management systemFull report on  blood bank management system
Full report on blood bank management systemJawhar Ali
 
Blood Bank Management System (including UML diagrams)
Blood Bank Management System (including UML diagrams)Blood Bank Management System (including UML diagrams)
Blood Bank Management System (including UML diagrams)Harshil Darji
 
TY BSc.IT Blackbook Main Report
TY BSc.IT  Blackbook  Main ReportTY BSc.IT  Blackbook  Main Report
TY BSc.IT Blackbook Main ReportAkashChauhan139
 
Uml diagram for_hospital_management_system
Uml diagram for_hospital_management_systemUml diagram for_hospital_management_system
Uml diagram for_hospital_management_systemPradeep Bhosale
 
Real estate management syem
Real estate management syemReal estate management syem
Real estate management syemsrivijaymanickam
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 
Hostel management system (5)
Hostel management system (5)Hostel management system (5)
Hostel management system (5)PRIYANKMZN
 
Hotel management system presentation
Hotel management system presentationHotel management system presentation
Hotel management system presentationjoilrahat
 
Online Hostel Management System Proposal
Online Hostel Management System Proposal Online Hostel Management System Proposal
Online Hostel Management System Proposal farhanamusthafa
 
Hotel Reservation System Project
Hotel Reservation System ProjectHotel Reservation System Project
Hotel Reservation System Projectraj_qn3
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report. Abu Kaisar
 
Property Management System Abstract 2017
Property Management System Abstract 2017Property Management System Abstract 2017
Property Management System Abstract 2017ioshean
 

Mais procurados (20)

Full report on blood bank management system
Full report on  blood bank management systemFull report on  blood bank management system
Full report on blood bank management system
 
Billing project
Billing projectBilling project
Billing project
 
Blood Bank Management System (including UML diagrams)
Blood Bank Management System (including UML diagrams)Blood Bank Management System (including UML diagrams)
Blood Bank Management System (including UML diagrams)
 
TY BSc.IT Blackbook Main Report
TY BSc.IT  Blackbook  Main ReportTY BSc.IT  Blackbook  Main Report
TY BSc.IT Blackbook Main Report
 
Web developnment
Web developnment Web developnment
Web developnment
 
Uml diagram for_hospital_management_system
Uml diagram for_hospital_management_systemUml diagram for_hospital_management_system
Uml diagram for_hospital_management_system
 
Real estate management syem
Real estate management syemReal estate management syem
Real estate management syem
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Java project-presentation
Java project-presentationJava project-presentation
Java project-presentation
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Hostel management system (5)
Hostel management system (5)Hostel management system (5)
Hostel management system (5)
 
Hotel management system presentation
Hotel management system presentationHotel management system presentation
Hotel management system presentation
 
Online Hostel Management System Proposal
Online Hostel Management System Proposal Online Hostel Management System Proposal
Online Hostel Management System Proposal
 
Report on web development
Report on web developmentReport on web development
Report on web development
 
Hotel Reservation System Project
Hotel Reservation System ProjectHotel Reservation System Project
Hotel Reservation System Project
 
Online exam
Online examOnline exam
Online exam
 
unit 1 ppt.pptx
unit 1 ppt.pptxunit 1 ppt.pptx
unit 1 ppt.pptx
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report.
 
Property Management System Abstract 2017
Property Management System Abstract 2017Property Management System Abstract 2017
Property Management System Abstract 2017
 

Semelhante 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
 

Semelhante 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
 

Mais de Mohamed Aboul-Fotouh

Mais 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

"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptxAsmae Rabhi
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxgalaxypingy
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 

Último (20)

"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 

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