• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Claudio Tesoriero
 

HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Claudio Tesoriero

on

  • 461 views

Talk tenuto da BaasBox durante il meeting di HTML5 Italy. ...

Talk tenuto da BaasBox durante il meeting di HTML5 Italy.
Scegliere su quale servizio di back end appoggiarsi per realizzare le nostre App non è così semplice come può sembrare a prima vista. Ce ne sono tanti, con differenti approcci, costi e vantaggi. Vedremo i pregi e i difetti dei maggiori player di mercato del segmento BaaS (Backend as a Service) per capire quale servizio e' il piu' adatto alle nostre esigenze di sviluppatori. Concluderemo con una demo live su come si costruisce un app con il software BaasBox

Statistics

Views

Total Views
461
Views on SlideShare
461
Embed Views
0

Actions

Likes
1
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Claudio Tesoriero HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Claudio Tesoriero Presentation Transcript

    • Back-end ecosystems for your applications Claudio Tesoriero @baasbox Cesare RocchiMonday, February 25, 13
    • Outline • Needs when choosing a backend • Features • Overview of different approaches SWIPE CONFERENCE 2012Monday, February 25, 13
    • Who am I? SWIPE CONFERENCE 2012Monday, February 25, 13
    • UX designer and developer SWIPE CONFERENCE 2012Monday, February 25, 13
    • Who are you? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Quick version SWIPE CONFERENCE 2012Monday, February 25, 13
    • It’s complicated SWIPE CONFERENCE 2012Monday, February 25, 13
    • Thank you! SWIPE CONFERENCE 2012Monday, February 25, 13
    • App Target • Not apps where mobile is “just a view” • Apps which are inherently mobile • From web to app • App needs a back-end SWIPE CONFERENCE 2012Monday, February 25, 13
    • Examples SWIPE CONFERENCE 2012Monday, February 25, 13
    • dayoneapp.com SWIPE CONFERENCE 2012Monday, February 25, 13
    • culturedcode.com/things SWIPE CONFERENCE 2012Monday, February 25, 13
    • Questions SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to manage it? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to manage it? • At which level? • Am I able to do it? • Have I time to learn? • Is it worth it? SWIPE CONFERENCE 2012Monday, February 25, 13
    • What’s the synch model? SWIPE CONFERENCE 2012Monday, February 25, 13
    • What’s the synch model? • Does it match my goals? • Can I change it if needed? • What about protocols? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to pay? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to pay? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Who is to pay? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Impact on UX? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Impact on UX? • Does it break any flow? • How frequently? • is it “ok” with that? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Lock-in? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Lock-in? • How to migrate data? • Switching cost? • Effort • Code front-end • Data compatibility • Cash SWIPE CONFERENCE 2012Monday, February 25, 13
    • Options • iCloud • Dropbox • Custom • Back-end as a Service (BaaS) SWIPE CONFERENCE 2012Monday, February 25, 13
    • What is iCloud? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Stores and synchs stuff SWIPE CONFERENCE 2012Monday, February 25, 13
    • It just works ... SWIPE CONFERENCE 2012Monday, February 25, 13
    • ... when it works. SWIPE CONFERENCE 2012Monday, February 25, 13
    • SWIPE CONFERENCE 2012Monday, February 25, 13
    • SWIPE CONFERENCE 2012Monday, February 25, 13
    • SWIPE CONFERENCE 2012Monday, February 25, 13
    • SWIPE CONFERENCE 2012Monday, February 25, 13
    • Questions • Have I to manage it? • What’s the synch model? • Who’s to pay? • Impact on UX? • Lock-in? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to manage it? • Learn the API • Apple takes care of • installation • scalability SWIPE CONFERENCE 2012Monday, February 25, 13
    • What’s the synch model? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Daemon • Monitors changes • Works on metadata • Shreds files • Supports conflict resolution SWIPE CONFERENCE 2012Monday, February 25, 13
    • Special folder, synched SWIPE CONFERENCE 2012Monday, February 25, 13
    • Synched when “appropriate” SWIPE CONFERENCE 2012Monday, February 25, 13
    • Types of Information • Key-value • Documents • CoreData SWIPE CONFERENCE 2012Monday, February 25, 13
    • Who’s to pay? • The final user • Your app will use his quota • 5Gb for free SWIPE CONFERENCE 2012Monday, February 25, 13
    • Impact on UX? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Impact on UX? • User expectation • No control on upload • “Why isn’t there?” • Open the app to synch • User turns off iCloud? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Lock-in • Huge • Only on iOS • No way to migrate SWIPE CONFERENCE 2012Monday, February 25, 13
    • Dropbox SWIPE CONFERENCE 2012Monday, February 25, 13
    • Dropbox • File-based • Special folder • Synchronized across devices • Supports other platforms SWIPE CONFERENCE 2012Monday, February 25, 13
    • Have I to manage it? • Already set up • installation • bandwidth • scalability SWIPE CONFERENCE 2012Monday, February 25, 13
    • What’s the synch model? • Desktop synchronizes continuously • Mobile apps have to query the backend • HTTP API • SDKs for iOS, Android, Ruby, Python SWIPE CONFERENCE 2012Monday, February 25, 13
    • What’s the synch model? • No conflict resolution (revision #) • Data serialization is up to you • No file shredding SWIPE CONFERENCE 2012Monday, February 25, 13
    • Who’s to pay? • The final user • Your app will use his disk quota • 2 Gb for free SWIPE CONFERENCE 2012Monday, February 25, 13
    • Impact on UX? • Authentication the first time • User might modify files • Control on the upload SWIPE CONFERENCE 2012Monday, February 25, 13
    • Lock-in • None • Each user owns his data • Personal/team usage • ... but nothing more SWIPE CONFERENCE 2012Monday, February 25, 13
    • Similar • box.net • sugarsync.com • google drive • amazon S3 SWIPE CONFERENCE 2012Monday, February 25, 13
    • Custom SWIPE CONFERENCE 2012Monday, February 25, 13
    • SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS PaaS SaaS SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS PaaS SaaS • Data • Data • Application • Application • Runtime • Middleware • OS SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS PaaS SaaS • Data • Data • Application • Application • Runtime • Middleware • OS AWS, Rackspace, ... Heroku, Appfog, ... Baasbox SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS PaaS • Data • Data • Application • Application • Runtime • Middleware • OS AWS, Rackspace, ... Heroku, Appfog, ... SWIPE CONFERENCE 2012Monday, February 25, 13
    • PaaS • Data • Application SWIPE CONFERENCE 2012Monday, February 25, 13
    • PaaS Questions • Which language? • Which DB? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Heroku SWIPE CONFERENCE 2012Monday, February 25, 13
    • Languages • Ruby • Python • Java • Scala • Closure • Node.js SWIPE CONFERENCE 2012Monday, February 25, 13
    • DBs • Postgres • MySQL (via addon) • MongoDB (via addon) SWIPE CONFERENCE 2012Monday, February 25, 13
    • Dyno • Essentially a process • Web • Worker • # of dynos + db profile + addons = backend cost SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS PaaS • OS • Data • Middleware • Application • Runtime • Data • Application SWIPE CONFERENCE 2012Monday, February 25, 13
    • IaaS • OS • Middleware • Runtime • Data • Application SWIPE CONFERENCE 2012Monday, February 25, 13
    • Questions • Which OS? • Which language? • Which DB? • How many machines? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Amazon Web Services SWIPE CONFERENCE 2012Monday, February 25, 13
    • Amazon Web Services • CDN • Storage • Networking • DBs • Services: email, queue managers • Con: cost estimation SWIPE CONFERENCE 2012Monday, February 25, 13
    • Good old way • Buy a server • pick the hardware • install OS • rent space/bandwidth in a farm SWIPE CONFERENCE 2012Monday, February 25, 13
    • Server side frameworks SWIPE CONFERENCE 2012Monday, February 25, 13
    • Ruby • http://rubyonrails.org • http://www.sinatrarb.com • http://www.padrinorb.com SWIPE CONFERENCE 2012Monday, February 25, 13
    • Python • https://www.djangoproject.com • http://www.pylonsproject.org • http://flask.pocoo.org SWIPE CONFERENCE 2012Monday, February 25, 13
    • Node.js • http://expressjs.com • http://geddyjs.org • http://flatironjs.org • http://railwayjs.com • http://towerjs.org SWIPE CONFERENCE 2012Monday, February 25, 13
    • ORM • ActiveRecord • DataMapper • Sequel • SQLAlchemy SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaaS SWIPE CONFERENCE 2012Monday, February 25, 13
    • Baas • Backend for mobile apps • Files, key-value • API SDK • Push notifications SWIPE CONFERENCE 2012Monday, February 25, 13
    • Baas • User management • account creation/verification • Login with Twitter/Facebook • ACL SWIPE CONFERENCE 2012Monday, February 25, 13
    • Baas • Time to market • Focus on the front-end SWIPE CONFERENCE 2012Monday, February 25, 13
    • Services • cloudmine.me • stackmob.com • kinvey.com • parse.com • buddy.com • sencha.io SWIPE CONFERENCE 2012Monday, February 25, 13
    • Blood pact SWIPE CONFERENCE 2012Monday, February 25, 13
    • Claudio Tesoriero SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox • No application server • No database server • JVM only requirement • Runs everywhere SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox • User management • ACL • Assets • Collections SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox • Download • ./start SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox on OpenShift rhc app create pizzabox diy-0.1 cd pizzabox tar xvfz baasbox-openshift-xx.tar.gz git add . git commit -m "init" git push SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox on CentOS yum install java-1.7.0-openjdk scp baasbox-xx.tar.gz user@host:remotepath cd remotepath ./start SWIPE CONFERENCE 2012Monday, February 25, 13
    • PizzaBox Dev BaasBox Pizzaiolo Clienti SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox Console SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox Web app SWIPE CONFERENCE 2012Monday, February 25, 13
    • BaasBox iPhone app SWIPE CONFERENCE 2012Monday, February 25, 13
    • Asset curl --form file=@margherita.png --form name=margherita --user admin:admin -H X-BAASBOX-APPCODE:1234567890 http://localhost:9000/admin/asset SWIPE CONFERENCE 2012Monday, February 25, 13
    • Menu curl -d "name=menu&meta=[ { "name": "Margherita", "id" : "margherita", "price": 5, "ingredients": "Pizza con pomodoro e mozzarella" }, ... ]" --user admin:admin -H X-BAASBOX-APPCODE:1234567890 http://localhost:9000/admin/asset SWIPE CONFERENCE 2012Monday, February 25, 13
    • Orders curl -d "" -H X-BAASBOX-APPCODE:1234567890 --user admin:admin http://localhost:9000/admin/collection/orders SWIPE CONFERENCE 2012Monday, February 25, 13
    • Create order curl -d "{ "list": {"margherita": 2,"quattrostagioni": 2}, "user": { "name": "Cesare", "surname": "Rocchi", "address": "Via delle vie 12, Roma", ... }, "time": "2013-01-02Z14:21", "total": 12.5, }" -H X-BAASBOX-APPCODE:1234567890 --user cesare:cesare http://localhost:9000/document/orders SWIPE CONFERENCE 2012Monday, February 25, 13
    • Demo SWIPE CONFERENCE 2012Monday, February 25, 13
    • Migration SWIPE CONFERENCE 2012Monday, February 25, 13
    • Now we are working on • Push Notification • SDK (iOS, Android, JS) • 3rd party authentication • Business analytics SWIPE CONFERENCE 2012Monday, February 25, 13
    • Federico Pacilli CEO BaasBox SWIPE CONFERENCE 2012Monday, February 25, 13
    • How can we help each other? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Video Tutorials SWIPE CONFERENCE 2012Monday, February 25, 13
    • How can YOU make money? SWIPE CONFERENCE 2012Monday, February 25, 13
    • Marketplace SWIPE CONFERENCE 2012Monday, February 25, 13
    • PizzaBox Dev BaasBox Pizzaiolo Clienti SWIPE CONFERENCE 2012Monday, February 25, 13
    • Marketplace • Referral program (30%) • 35% if non-exclusive • 50%-70% if selling exclusive SWIPE CONFERENCE 2012Monday, February 25, 13
    • We have 3 ideas SWIPE CONFERENCE 2012Monday, February 25, 13
    • You can candidate job@baasbox.com SWIPE CONFERENCE 2012Monday, February 25, 13
    • We provide back-end support SWIPE CONFERENCE 2012Monday, February 25, 13
    • 70% for the first year (+ 30% referral) SWIPE CONFERENCE 2012Monday, February 25, 13
    • 1000€ upfront SWIPE CONFERENCE 2012Monday, February 25, 13
    • Contacts • http://www.baasbox.com • twitter.com/baasbox • facebook.com/baasbox • github.com/baasbox • info@baasbox.com SWIPE CONFERENCE 2012Monday, February 25, 13
    • jobs@baasbox.com SWIPE CONFERENCE 2012Monday, February 25, 13
    • youtube.com/user/LiveSeeweb Lunedi 25 alle 18.30 SWIPE CONFERENCE 2012Monday, February 25, 13