Backend as a Service Comparison
-
Upload
serhiy-snizhny -
Category
Mobile
-
view
126 -
download
0
Transcript of Backend as a Service Comparison
What is BaaS?
● Also known as mBaaS (mobile backend)● Cloud storage for web and mobile devs● Registration & login, social networks integration● Push notifications● File storage● Analytics● Hosting● ...and many more
Allows mobile/front-end developers to NOT have to develop backend
Pros & consby Kelly Rice @ Kinvey
● Save time● Save money● Richer apps● More productivity● Data liberation
● No complete control● Latency issues● Business is business
Initialization
● Same model for all:– Application ID– Client Key– Application version (for Backendless)
● In Kinvey, configuration can be separated in properties file
Platforms
● Mobile– iOS– Android– Windows Phone– Unity– Xamarin– React.js– REST API
● Desktop & Web– OSX
– Windows
– Javascript
– PHP
– .NET
● Embedded– Arduino
– Embedded C
Platforms
● Android (Java)● iOS (OSX)● Windows Phone (.NET)● ActionScript (Flex/AIR)● Javascript● REST API
Platforms
● iOS● Android● Java● HTML5● AngularJS● Backbone.js● Ember.js
● PhoneGap● Titanium● Node.js● Xamarin● REST API
Data Service
● Local datastore● Eventual save● Similarity to JSON● Embedded query functions
● Embedded query functions● ..and it kinda stops here
● Relational data model● No additional set up for classes● External databases (currently MySQL only)● SQL-like where clause for queries
Geo Service
● Stores only geo point's coordinates● Relations from data object to geo point● “whereNear” method: returns closest points
● No separate entity for geo point● Instead, objects may have _geoloc property
● Geo points has metadata – key-values● Relations from geo point to data object● SQL-like where clause for queries
– Backendless.Geo.find( “latitude=55.3 AND city='Tampa'” )
– where “latitude” is one of coords and “city” is GeoPoint's metadata
Cloud Code
● Javascript● Hooks to when data is added/removed● Cloud functions● Logging
● Javascript● Hooks to collections (data tables)● Cloud functions
● Java● Local CodeRunner for debug● Hooks to almost all events● Cloud functions● Logging● Timers
Security
● User roles● Data object permissions● Class-level permissions● Master key for cloud functions (Parse.Cloud.useMasterKey() )
● Ownership for entities● Class-level permissions● Object-level permissions (set in class itself)
● User roles● All kinds of permissions (Data, Roles,
Files, Geo, etc.)● Ownership for data and files
Pricing
● https://parse.com/plans● Unlimited analytics● 1 background job
● http://www.kinvey.com/pricing● No free tier ?
● https://backendless.com/pricing/● Unlimited API calls● Unlimited data storage● In-depth analytics
Sources
● What are the pros and cons of using a backend-as-a-service?– http://www.quora.com/What-are-the-pros-and-cons-of-using-a-backend-as-a-service
● BaaS comparison table– https://docs.google.com/spreadsheet/ccc?key=0Al7M8fgKPXoidENFa0M5VnJpb3pMeHQtS0RDcHFvY1E&usp=sharing#gid=0
● BaaS Android API Comparison– https://gist.github.com/gdaniels/3495006
● BaaS Data Model comparison– http://maxrohde.com/2014/09/09/a-comparison-of-data-models-in-baas-backend-as-a-service/
● BaaS general comparison– http://www.slideshare.net/pyro2927/baas-comparison-iosmn
– http://baas.apievangelist.com/
– http://yourstory.com/2014/01/mobile-backend-players/
– http://www.developereconomics.com/finding-right-baas/
– http://yalantis.com/blog/four-mbaas-platforms-compared-android-point-view/