Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BaaS 2.0 - Speed up app development with prefab...

Avatar for Ryan Done Ryan Done
September 16, 2016

BaaS 2.0 - Speed up app development with prefabricated, extensible, open-source backends

Building modern apps requires a LOT of boilerplate backend code -- setting up server endpoints, forwarding requests to the database, and performing authentication are examples of code that developers have to write over and over again.

In this talk you'll learn how to dramatically cut down development time by using prefabricated, open-source backends like deepstream.io and Horizon. We'll also talk about how prefabricated backends are changing application architectures, and the impact end-to-end event driven application development is making on end-user experience.

We’ll also talk about how Horizon.io and RethinkDB provide a fantastic solution to these problems, and how I expect the future of web development to unfold. If we have time, we'll dig into some code using Horizon and see just how simple it is to build applications by starting with a prefab backend.

Avatar for Ryan Done

Ryan Done

September 16, 2016

More Decks by Ryan Done

Other Decks in Technology

Transcript

  1. preface • I am not Mike Glukhovsky
 • Mike _really_

    wanted to be here, and he sincerely apologizes that he can’t be!
 • I have presented on very similar topics and am excited to speak today
  2. who am i? • web developer • worked at novell,

    mycanvas, ancestry.com, ClientSuccess • i’ve built full-stack products used by hundreds to millions of customers • using clojure, java, c#, javascript, html, css, etc. • father of 4
  3. // TODO: 1. What is BaaS? 2. Why should I

    care? 3. Is it viable today?
  4. // TODO: 1. What is BaaS? 2. Why should I

    care? 3. Is it viable today?
  5. wikipedia [Baas] is a model for providing web and mobile

    app developers with a way to link their applications to backend cloud storage and APIs exposed by back end applications while also providing features such as user management, push notifications, and integration with social networking services.[4]
  6. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL
  7. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend IaaS Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL
  8. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend IaaS PaaS Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL
  9. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend BaaS IaaS PaaS Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL
  10. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend BaaS IaaS PaaS Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL SaaS
  11. what is BaaS? • Backend cloud storage • RESTful API

    to internal and external systems • Additional features • user management • security • social networking services • push notifications (for mobile)
  12. features / modules • User management • Social logins /

    LDAP / Active Directory • Realtime data sync • Analytics • Easy integration with internal and external APIs • API forwarding / “Data forwarding” • CRUD operations auto setup • SaaS OR Internal hosting • Media Streaming • Data encryption • Data and File store • Offline data caching • Custom server-side code
 - API data validation
 - Business logic • Push notifications • Email services • Environments (dev / test / live) • Versioning • Client code generation
  13. Horizon: other features • OAuth (Google, Slack, Auth0, etc.) •

    Users and Groups • Open-source! • RxJS • Extendable (plugin architecture coming soon)
  14. // TODO: 1. What is BaaS? 2. Why should I

    care? 3. Is it viable today?
  15. Pros of BE Dev • Choice / customization • Built

    how i want it • Can use whatever frameworks and technologies I need • Full control over security, api, tech stack, etc. • No vendor lock-in • Less reliance on third-party APIs • Possibly easier to support (no middle man)
  16. Java Spring Jackson Hibernate Load Balancer Bandwidth Servers Blades OAuth

    2.0 User Mgt javascript html css Infrastructure Backend Frontend BaaS IaaS PaaS Tomcat Security Reliability Scaling File Storage Racks REST API Ubuntu Ext4 MySQL
  17. Pros of BaaS • Faster time to market • Lower

    costs • Lower initial cost • Incremental costs depend upon usage • Resources sharing • Fewer developers • Easier to Manage • No servers to maintain • Less Code (less maintenance) • Easy scaling • Built-in service management • Fewer developers
  18. // TODO: 1. What is BaaS? 2. Why should I

    care? 3. Is it viable today?
  19. users • inVision (for sharing) • ContentBox • Vibram •

    Petco • Vibram • USA Today • Citrix • Food Network • Travel Channel • Cadillac • Hipmunk • TOMS • CBS • Korea Telecom • Apigee • Salesforce • Splunk • Apple • Symantec
  20. vendors Hosted (shorter list) • Parse • Kinvey • AnyPresence

    • Backendless • GoInstant • built.io Open Source • Apache usergrid_ • LoopBack.io • deepstream.io • Horizon.io • deployd • DreamFactory • Appcellerator
 Cloud • Syncano • Salesforce1 • Firebase • Microsoft (Azure Mobile Services) • Apple (CloudKit) many more! http://baas.apievangelist.com/compan
  21. features • User management • Social logins / LDAP /

    Active Directory • Realtime data sync • Analytics • Easy integration with internal and external APIs • API forwarding / “Data forwarding” • CRUD operations auto setup • SaaS OR Internal hosting • Media Streaming • Data encryption • Data and File store • Offline data caching • Custom server-side code
 - API data validation
 - Business logic • Push notifications • Email services • Environments (dev / test / live) • Versioning • Client code generation
  22. vendors Hosted (shorter list) • Parse • Kinvey • AnyPresence

    • Backendless • GoInstant • built.io Open Source • Apache usergrid_ • LoopBack.io • deepstream.io • Horizon.io • deployd • DreamFactory • Appcellerator
 Cloud • Syncano • Salesforce1 • Firebase • Microsoft (Azure Mobile Services) • Apple (CloudKit) many more! http://baas.apievangelist.com/compan
  23. Thank you “For the time will soon come when [App

    Developers] will shape the fortunes of all.” – Galadriel