Slide 1

Slide 1 text

Backend without code. parse.com: myth vs reality

Slide 2

Slide 2 text

Mobile Backend as a Service without MBaaS • need own server, database, services • time/costs/devs to setup • flexible server configuration Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015 with MBaaS • ready to start • no need of server developers* • dependent on MBaaS configuration

Slide 3

Slide 3 text

our background social network • facebook login • likes, shares, comments • complicated relations between users yet another social network • many pictures • anonymous users • lots of push notifications (incl geo-based) • moderation • complicated business logic (smart feed) personal dairy • many photos • offline mode with synchronization medication alarm • push notifications • offline mode • customizations ‘on the fly’ • client-friendly users’ statistics Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 4

Slide 4 text

why would I use Parse? • cross platform • easy setup • proof of concept / mvp • push notifications • cost saving* • cloud code disclaimer: i don’t work for parse.com Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 5

Slide 5 text

be careful if • huge application (many objects) • million of users • streaming • chatting Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 6

Slide 6 text

security questionable Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 7

Slide 7 text

security • application keys are public • easy to find keys and connect to db • easy to generate spam requests • turn off the “Allow client class creation” • set the correct ACL permissions • do not allow read/edit data to non-authorized users Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 8

Slide 8 text

easy setup • create Parse application • download SDK • write code • write+deploy cloud code* Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 9

Slide 9 text

client (iOS) SDK • cocoapods • “saveEventually” • cache • inner storage • working with files (PFFile) • in-app purchases support • ready UI interfaces • weird crashes —> Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 10

Slide 10 text

saving pictures from phone • restrictions: 10MB per file • native support of uploading, downloading, progress (PFFile) • long upload* • Amazon S3 as alternative Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 11

Slide 11 text

cloud code: awesomeness • mongoDB • REST API • javascript + python • better to do everything on cloud • debug mode: “parse develop AppName” • cloud modules (email sending) Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 12

Slide 12 text

cloud code: awesomeness (2) • triggers (beforeSave, afterSave) • join queries • background jobs • Parse.Promises (a-la semaphores) • paging support (limit, offset) Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 13

Slide 13 text

cloud code: pain • async (“callback hell”) • debugging: • change CC -> deploy -> check -> change • logs only • short execution time • 15/3 sec for function/trigger • 15 min for job • application keys in global.json file Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 14

Slide 14 text

cloud code: pain (2) • inner queries • 1000 objects limit per query • limited ‘count’ operation Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 15

Slide 15 text

dev and prod apps • create dev app in Parse • develop-develop-develop • master build points on dev app • iOS keys • javascript keys • use ‘parse develop AppName’ to debug CC • create/clone prod app in Parse • deploy CC • appstore build points on prod app • iOS keys • javascript keys Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 16

Slide 16 text

dev and prod apps separate applications on Parse different keys inside iOS Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 17

Slide 17 text

dev and prod apps save user version on iOS check version on CC user table Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 18

Slide 18 text

to migrate from Parse • update client applications (iOS) • one click export -> json files Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 19

Slide 19 text

benefits from dev perspective • easy to integrate, easy to use • cool client SDK • awesome* documentation and forum • push notifications (fast and easy setup) • cloud code awesomeness Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 20

Slide 20 text

benefits from customer/manager perspective • reduce time to market • reduce development/support cost* • various analytics (users, events, crashes..) • various services out of the box (email confirmation, sending emails..) • flexible pricing • user-friendly admin db Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 21

Slide 21 text

disadvantages from developer perspective • request-driven development (limits) • not developer-friendly admin site (can’t drop class programmatically) • no autobackups for free plan • cloud code pain Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 22

Slide 22 text

disadvantages from client/manager perspective • dependence on 3rd-party servers • long-term strategy risks (“what if Parse will be shut tomorrow?”) • performance issues* • not flexible for business (“we can’t implement this!”) • limited build-in set of tools • cost* • hard to foresee spendings Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 23

Slide 23 text

useful links https://parse.com/docs/ what is the best baas http://www.quora.com/What-is-the-best-backend-as-a-service-provider http://www.quora.com/What-is-Baas-Backend-as-a-service-How-does-Parse-StackMob- FireBase-Go-Instant-differ-from-each-other baas or not bass http://venturebeat.com/2014/04/10/to-baas-or-not-to-baas-3-things-to-consider-before-you- make-the-call/ http://www.smashingmagazine.com/2014/12/15/understanding-mobile-back-end-as-a-service/ Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 24

Slide 24 text

useful links (2) limits of Parse http://profi.co/all-the-limits-of-parse/ https://parse.com/docs/cloud_code_guide#functions-resource https://parse.com/docs/cloud_code_guide#jobs Parse scalability http://stackoverflow.com/questions/11283729/how-scalable-is-parse https://parse.com/questions/scalability http://blog.parse.com/2013/12/19/building-scalable-apps-on-parse/ Parse performance http://blog.blastlab.co/post/95809259581/performance-tests-of-the-parse-com Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 25

Slide 25 text

useful links (3) Parse security https://parse.com/about/security http://blog.parse.com/2014/06/30/parse-security-i-are-you-the-key-master/ http://blog.parse.com/2014/07/07/parse-security-ii-class-hysteria/ http://blog.parse.com/2014/07/14/parse-security-iii-are-you-on-the-list/ http://blog.parse.com/2014/07/21/parse-security-iv-ahead-in-the-cloud/ http://blog.parse.com/2014/07/28/parse-security-v-how-to-make-friends/ https://www.linkedin.com/groups/Is-Parse-secure-solution-2204708.S.277308762 https://www.webniraj.com/2013/08/01/using-the-parse-javascript-sdk-be-careful/ Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 26

Slide 26 text

useful links (4) experience using Parse https://news.ycombinator.com/item?id=8347310 migration http://blog.parse.com/2013/05/13/launch-and-iterate-parse-data-migrations/ http://blog.parse.com/2012/03/09/one-click-export/ http://blog.human-friendly.com/parse-data-collection-disabled https://catalyze.io/blog/migrating-from-parse-to-catalyze Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 27

Slide 27 text

useful links (5) "Безопасность Parse в iOS приложении" http://habrahabr.ru/post/247541/ "Социальная сеть без сервера. История разработки iOS-клиента и backend" http://habrahabr.ru/post/198864/ "Сайт без бекэнда: аутентификация пользователя в BaaS parse.com через социальные сети” http://habrahabr.ru/post/248511/ Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 28

Slide 28 text

illustrations Alexander Aksinin http://www.aksinin.com/gallery.php?lang=en&graphic Mark Knol https://www.flickr.com/photos/markknol/with/4387497595/ James Bills http://butdoesitfloat.com/Time-travel-in-the-classic-sense-has-no-place-in-rational-theory-but Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015

Slide 29

Slide 29 text

Last slide @vixentael Backend without code. parse.com: myth vs reality. Stanfy MadCode Meetup, stanfy.com, 08.04.2015