SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
The Rise of BaaS
A Utopia for Client-Side Developers
This is a comment.
1Saturday, March 15, 14
State of the Union
How client-side applications are built today
2Saturday, March 15, 14
CLIENT SIDE APP APIs
Web
Server
Hosting Tooling
DATA
MANAGEMENT
USER
MANAGEMENT
BUSINESS
LOGIC
BUSINESS LOGIC
* your backend serves up data that your client-
side code uses to render the different views
* when your view needs to change the client-
side code makes a request to the backend to
re-render the view via xhr or websocket
* talk to the backend to perform any action or to
talk to third-party api's
3Saturday, March 15, 14
• your backend serves up data that your client-side code uses to render the different views
• when your view needs to change the client-side code makes a request to the backend to re-render the view via xhr or websocket
• talk to the backend to perform any action or to talk to third-party api's
How often do you change your
backend to support the needs
of your client side app?
4Saturday, March 15, 14
How often must you
upgrade your back-end to
extend your application?
Constantly.
* data and access controls (all the security) lives
inside the backend so in order to extend your
application you have to build out new routes
5Saturday, March 15, 14
• data and access controls (all the security) lives inside the backend so in order to extend your application you have to build out new routes
The chase
begins
6Saturday, March 15, 14
The communication nightmare kicks-off, the standard formation in most companies is that the client-side guys handle the users world and the back-end guys write the backend.
Now, to make a change that the back-end doesn't support means that you have to coordinate with them to build out the feature.
So instead of focusing on building an amazing application for your customers, you end up spending time working with the back-end team and their schedule.
So what do we settle for?
APIs
DATA MANAGEMENT
Storage
7Saturday, March 15, 14
The communication nightmare kicks-off
Every application has unique requirements
DATA MANAGEMENT
USER
MANAGEMENT
HOSTING
SECURITY
8Saturday, March 15, 14
Blog:
• Comments, users and posts
• Each post has a user and many comments
• You want to order the posts by date and select a range of them, perhaps you also want to filter by category
• Similar, for comments, you want to order by date and select a range of them
• For users, you need some sort of authentication and user management system
• For creating posts, you want some type of user admin role
Let’s face reality, we’ve been
reinventing the wheel
And it’s a fracking head-ache.
9Saturday, March 15, 14
This approach has consequences
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
• Inflexible
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
• Inflexible
• Expensive
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
• Inflexible
• Expensive
• Incomplete
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
• Inflexible
• Expensive
• Incomplete
• Limited extensibility
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
This approach has consequences
• Tightly coupled to the
server
• Inflexible
• Expensive
• Incomplete
• Limited extensibility
• The list as you know,
does not end here
10Saturday, March 15, 14
Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
Imagine for a moment, the
ultimate back-end.
One that could fuel
any & every feature.
11Saturday, March 15, 14
Ian Livingstone
@ianlivingstone
VP Engineering, GoInstant
12Saturday, March 15, 14
We’re obsessive about
this problem.
13Saturday, March 15, 14
Started as co-browse, started transitioning BaaS because we found we needed every component, and none existed.
14Saturday, March 15, 14
The question that keeps us
up at night?
14Saturday, March 15, 14
The question that keeps us
up at night?
What would this ultimate
backend look like?
14Saturday, March 15, 14
The Vision: BaaS
15Saturday, March 15, 14
The Vision: BaaS
One really really awesome
round wheel, we all share.
15Saturday, March 15, 14
CLIENT SIDE APP APIs
Web
Server
Hosting Tooling
DATA
MANAGEMENT
USER
MANAGEMENT
BaaS
BUSINESS LOGIC
16Saturday, March 15, 14
CLIENT SIDE APP APIs
Web
Server
Hosting Tooling
DATA
MANAGEMENT
USER
MANAGEMENT
BaaS
BUSINESS LOGIC
16Saturday, March 15, 14
CLIENT SIDE APP APIs
Web
Server
Hosting Tooling
DATA
MANAGEMENT
USER
MANAGEMENT
BaaS
BUSINESS LOGIC
16Saturday, March 15, 14
CLIENT SIDE APP APIs
Web
Server
Hosting Tooling
DATA
MANAGEMENT
USER
MANAGEMENT
BaaS
BUSINESS LOGIC
16Saturday, March 15, 14
Ok that looks awesome
Let’s make it a reality!
17Saturday, March 15, 14
Connectivity
web sockets and xhr-polling we have the
technology to create "full-duplex" connections
even in older browsers
this gives us a mechanism for pushing data
between server and client
18Saturday, March 15, 14
• web sockets and xhr-polling we have the technology to create "full-duplex" connections even in older browsers
• this gives us a mechanism for pushing data between server and client
Data Management
* already exists just needs an API
built for it on the client
* support querying
* transactions
* all json types
19Saturday, March 15, 14
• already exists just needs an API built for it on the client
• support querying
• transactions
• all json type
User Management
* built on-top of the data model
* standardized by convention
* id
* groups (or roles) built in
* extensible to store extra data
required
20Saturday, March 15, 14
• built on-top of the data model
• standardized by convention
• id
• groups (or roles) built in
• extensible to store extra data required
•
Security & Access Control
* having data on client means there are a lot of security concerns
* access control layer around who can read and write data based on
their id and groups
* input validation to guarantee data integrity
* output sanitization to prevent different forms of injection attacks
* enforced on server via schema of some form
21Saturday, March 15, 14
• having data on client means there are a lot of security concerns
• access control layer around who can read and write data based on their id and groups
• input validation to guarantee data integrity
• output sanitization to prevent different forms of injection attacks
• enforced on server via schema of some form
Tooling
* API is a black box you won’t control
* tooling is *really* important
* even with less surface area, there will
still be bugs
* so what type of tooling do we need?
22Saturday, March 15, 14
Data Tooling
• Ability to view the data
• Ability to export and import backups
• Ability to run arbitrary queries on the data
• Audit logs for monitoring how data changes
• Schema visualizer
◦ Exploring how access controls are enforced
◦ Testing input validation and output sanitization
• Available via Web UI and CLI
23Saturday, March 15, 14
• Ability to view the data
• Ability to export and import backups
• Ability to run arbitrary queries on the data
• Audit logs for monitoring how data changes
• Schema visualizer
• Exploring how access controls are enforced
• Testing input validation and output sanitization
• Available via Web UI and CLI
Organizational Tooling
• Support for multiple collaborators
• Support for multiple environments
• Varying access controls based on environment
• Ability to perform data migrations
24Saturday, March 15, 14
• Support for multiple collaborators
• Support for multiple environments
• Varying access controls based on environment
• Ability to perform data migrations
Hosting
* to truly remove the operational burden, we also need to provide static application
hosting
* but it can't just host static html, css, js -- it needs to be living and breathing as
well
* schema provides access control to routes and redirect controls
25Saturday, March 15, 14
• to truly remove the operational burden, we also need to provide static application hosting
• but it can't just host static html, css, js -- it needs to be living and breathing as well
• schema provides access control to routes and redirect controls
All together now
26Saturday, March 15, 14
CONNECTIVITY
All together now
26Saturday, March 15, 14
CONNECTIVITY
DATA
MANAGEMENT
All together now
26Saturday, March 15, 14
CONNECTIVITY
DATA
MANAGEMENT
USER
MANAGEMENT
All together now
26Saturday, March 15, 14
CONNECTIVITY
DATA
MANAGEMENT
USER
MANAGEMENT
SECURITY
All together now
26Saturday, March 15, 14
CONNECTIVITY
DATA
MANAGEMENT
USER
MANAGEMENT
SECURITY
TOOLING
All together now
26Saturday, March 15, 14
CONNECTIVITY
DATA
MANAGEMENT
USER
MANAGEMENT
SECURITY
TOOLING
HOSTING
All together now
26Saturday, March 15, 14
We’ve found some obvious advantages
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
✓ specialization
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
✓ specialization
✓ scale
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
✓ specialization
✓ scale
✓ reliability
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
✓ specialization
✓ scale
✓ reliability
✓ extensibility
27Saturday, March 15, 14
We’ve found some obvious advantages
✓ crowd source quality
✓ specialization
✓ scale
✓ reliability
✓ extensibility
✓ lower cost
27Saturday, March 15, 14
28Saturday, March 15, 14
“The whole is
greater than the
sum of its parts.”
– Aristotle
28Saturday, March 15, 14
Data Synchronization
* evolved from BaaS movement
* user a modifies data, automatically updates the view of user b
* possible because of the full-duplex connection and event subscriptions
* subscribe to “change” events in data model
* server pushes new data and client-side api trigger event listener
* by leveraging this pattern you now have “real-time” out of the box, you
don’t have to manage this! It’s given to you!
* show code example of what this looks like!
29Saturday, March 15, 14
Offline Support
* now we have this mechanism for forcing our view to re-render
* with this we can update the view of the application when the
user reconnects (from sleep mode, or connects to wifi, etc.)
* all the data transferred to the client from the server is cached
so we can have read-only offline mode support out of the box
*
30Saturday, March 15, 14
Shared Integrations
31Saturday, March 15, 14
In this utopia, how long would it
take to build the application of your
users dreams.
Better question,
how much time could you save?
32Saturday, March 15, 14
Baas Today
This utopia will be built,
one brick at a time
33Saturday, March 15, 14
Talk through current solutions available
The Players
34Saturday, March 15, 14
In Conclusion
• Client-side developers
waste time and money on
infrastructure
• BaaS will fundamentally
change how client-side
applications are
developed
• The work is already
under-way
• It’s an extension of the
platform movement
35Saturday, March 15, 14
Join the BaaS
movement
An intersection of developer
productivity and the platformization
revolution
36Saturday, March 15, 14
Q&A
37Saturday, March 15, 14

Contenu connexe

Tendances

Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedIn
Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedInCouchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedIn
Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedInMichael Kehoe
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!BizTalk360
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Varun Manik
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them3scale
 
Using SaltStack to Auto Triage and Remediate Production Systems
Using SaltStack to Auto Triage and Remediate Production SystemsUsing SaltStack to Auto Triage and Remediate Production Systems
Using SaltStack to Auto Triage and Remediate Production SystemsMichael Kehoe
 
Tracking and business intelligence
Tracking and business intelligenceTracking and business intelligence
Tracking and business intelligenceSebastian Schleicher
 
Serverless Architecture at iRobot
Serverless Architecture at iRobotServerless Architecture at iRobot
Serverless Architecture at iRobotBen Kehoe
 
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONSBUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONSCodeOps Technologies LLP
 
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Aaron Saunders
 
Stream based mobile and web event tracking backed by aws kinesis
Stream based mobile and web event tracking backed by aws kinesisStream based mobile and web event tracking backed by aws kinesis
Stream based mobile and web event tracking backed by aws kinesisSebastian Schleicher
 
Serverless for visual journalism at the bbc
Serverless for visual journalism at the bbc Serverless for visual journalism at the bbc
Serverless for visual journalism at the bbc AWSCOMSUM
 
Couchbase Connect 2016
Couchbase Connect 2016Couchbase Connect 2016
Couchbase Connect 2016Michael Kehoe
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesSheenBrisals
 
Big data at AWS Chicago User Group - 2014
Big data at AWS Chicago User Group - 2014Big data at AWS Chicago User Group - 2014
Big data at AWS Chicago User Group - 2014AWS Chicago
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to FirebaseFarah Nazifa
 
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Cohesive Networks
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - IntroductionChristopher Gomez
 

Tendances (20)

Azure Web Apps Advanced Security
Azure Web Apps Advanced SecurityAzure Web Apps Advanced Security
Azure Web Apps Advanced Security
 
Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedIn
Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedInCouchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedIn
Couchbase Connect 2016: Monitoring Production Deployments The Tools – LinkedIn
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them
 
Using SaltStack to Auto Triage and Remediate Production Systems
Using SaltStack to Auto Triage and Remediate Production SystemsUsing SaltStack to Auto Triage and Remediate Production Systems
Using SaltStack to Auto Triage and Remediate Production Systems
 
Tracking and business intelligence
Tracking and business intelligenceTracking and business intelligence
Tracking and business intelligence
 
Serverless Architecture at iRobot
Serverless Architecture at iRobotServerless Architecture at iRobot
Serverless Architecture at iRobot
 
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONSBUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
 
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
 
Stream based mobile and web event tracking backed by aws kinesis
Stream based mobile and web event tracking backed by aws kinesisStream based mobile and web event tracking backed by aws kinesis
Stream based mobile and web event tracking backed by aws kinesis
 
Stackato
StackatoStackato
Stackato
 
Serverless for visual journalism at the bbc
Serverless for visual journalism at the bbc Serverless for visual journalism at the bbc
Serverless for visual journalism at the bbc
 
Couchbase Connect 2016
Couchbase Connect 2016Couchbase Connect 2016
Couchbase Connect 2016
 
Startup Showcase - QuizUp
Startup Showcase - QuizUpStartup Showcase - QuizUp
Startup Showcase - QuizUp
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 
Big data at AWS Chicago User Group - 2014
Big data at AWS Chicago User Group - 2014Big data at AWS Chicago User Group - 2014
Big data at AWS Chicago User Group - 2014
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
 
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - Introduction
 

En vedette

BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnpyro2927
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicHyker Security
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service ComparisonSerhiy Snizhny
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSApigee | Google Cloud
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)Imam Raza
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentApigee | Google Cloud
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareRahul Krishnan P
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry天青 王
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Jim McKeeth
 
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話Tomokazu Tochi
 

En vedette (12)

BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographic
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app development
 
Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話
 
cloud computing ppt
cloud computing pptcloud computing ppt
cloud computing ppt
 

Similaire à The Rise of BaaS

The Rise of BaaS A Utopia for Client-Side Developers
The Rise of BaaS A Utopia for Client-Side DevelopersThe Rise of BaaS A Utopia for Client-Side Developers
The Rise of BaaS A Utopia for Client-Side DevelopersMarc Manthey
 
ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015Dan Boutin
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for EducationChris Love
 
Distilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMGDistilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMGBuchi Reddy Busi Reddy
 
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache SparkData-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache SparkDatabricks
 
Scribe online 01 best practices for sol performance
Scribe online 01   best practices for sol performanceScribe online 01   best practices for sol performance
Scribe online 01 best practices for sol performanceScribe Software Corp.
 
Sharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldSharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldWSO2
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database RoundtableEric Kavanagh
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresEDB
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network AutomationAndy Davidson
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Josiah Renaudin
 
SOASTA mPulse update webinar
SOASTA mPulse update webinarSOASTA mPulse update webinar
SOASTA mPulse update webinarCloudBees
 
xConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfxConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfWesley Reisz
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST APINishanth Kadiyala
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Salesforce Partners
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayGaurav Ahluwalia
 

Similaire à The Rise of BaaS (20)

The Rise of BaaS A Utopia for Client-Side Developers
The Rise of BaaS A Utopia for Client-Side DevelopersThe Rise of BaaS A Utopia for Client-Side Developers
The Rise of BaaS A Utopia for Client-Side Developers
 
ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for Education
 
Distilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMGDistilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMG
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
 
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache SparkData-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
 
Scribe online 01 best practices for sol performance
Scribe online 01   best practices for sol performanceScribe online 01   best practices for sol performance
Scribe online 01 best practices for sol performance
 
Sharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldSharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration Battlefield
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database Roundtable
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network Automation
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
What is web scraping?
What is web scraping?What is web scraping?
What is web scraping?
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
 
SOASTA mPulse update webinar
SOASTA mPulse update webinarSOASTA mPulse update webinar
SOASTA mPulse update webinar
 
xConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfxConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdf
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST API
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gateway
 

Dernier

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Dernier (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

The Rise of BaaS

  • 1. The Rise of BaaS A Utopia for Client-Side Developers This is a comment. 1Saturday, March 15, 14
  • 2. State of the Union How client-side applications are built today 2Saturday, March 15, 14
  • 3. CLIENT SIDE APP APIs Web Server Hosting Tooling DATA MANAGEMENT USER MANAGEMENT BUSINESS LOGIC BUSINESS LOGIC * your backend serves up data that your client- side code uses to render the different views * when your view needs to change the client- side code makes a request to the backend to re-render the view via xhr or websocket * talk to the backend to perform any action or to talk to third-party api's 3Saturday, March 15, 14 • your backend serves up data that your client-side code uses to render the different views • when your view needs to change the client-side code makes a request to the backend to re-render the view via xhr or websocket • talk to the backend to perform any action or to talk to third-party api's
  • 4. How often do you change your backend to support the needs of your client side app? 4Saturday, March 15, 14
  • 5. How often must you upgrade your back-end to extend your application? Constantly. * data and access controls (all the security) lives inside the backend so in order to extend your application you have to build out new routes 5Saturday, March 15, 14 • data and access controls (all the security) lives inside the backend so in order to extend your application you have to build out new routes
  • 6. The chase begins 6Saturday, March 15, 14 The communication nightmare kicks-off, the standard formation in most companies is that the client-side guys handle the users world and the back-end guys write the backend. Now, to make a change that the back-end doesn't support means that you have to coordinate with them to build out the feature. So instead of focusing on building an amazing application for your customers, you end up spending time working with the back-end team and their schedule.
  • 7. So what do we settle for? APIs DATA MANAGEMENT Storage 7Saturday, March 15, 14 The communication nightmare kicks-off
  • 8. Every application has unique requirements DATA MANAGEMENT USER MANAGEMENT HOSTING SECURITY 8Saturday, March 15, 14 Blog: • Comments, users and posts • Each post has a user and many comments • You want to order the posts by date and select a range of them, perhaps you also want to filter by category • Similar, for comments, you want to order by date and select a range of them • For users, you need some sort of authentication and user management system • For creating posts, you want some type of user admin role
  • 9. Let’s face reality, we’ve been reinventing the wheel And it’s a fracking head-ache. 9Saturday, March 15, 14
  • 10. This approach has consequences 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 11. This approach has consequences • Tightly coupled to the server 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 12. This approach has consequences • Tightly coupled to the server • Inflexible 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 13. This approach has consequences • Tightly coupled to the server • Inflexible • Expensive 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 14. This approach has consequences • Tightly coupled to the server • Inflexible • Expensive • Incomplete 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 15. This approach has consequences • Tightly coupled to the server • Inflexible • Expensive • Incomplete • Limited extensibility 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 16. This approach has consequences • Tightly coupled to the server • Inflexible • Expensive • Incomplete • Limited extensibility • The list as you know, does not end here 10Saturday, March 15, 14 Repeating the same pattern over and over (creating an API to wrap the data structure) and creates additional risks
  • 17. Imagine for a moment, the ultimate back-end. One that could fuel any & every feature. 11Saturday, March 15, 14
  • 18. Ian Livingstone @ianlivingstone VP Engineering, GoInstant 12Saturday, March 15, 14
  • 19. We’re obsessive about this problem. 13Saturday, March 15, 14 Started as co-browse, started transitioning BaaS because we found we needed every component, and none existed.
  • 21. The question that keeps us up at night? 14Saturday, March 15, 14
  • 22. The question that keeps us up at night? What would this ultimate backend look like? 14Saturday, March 15, 14
  • 24. The Vision: BaaS One really really awesome round wheel, we all share. 15Saturday, March 15, 14
  • 25. CLIENT SIDE APP APIs Web Server Hosting Tooling DATA MANAGEMENT USER MANAGEMENT BaaS BUSINESS LOGIC 16Saturday, March 15, 14
  • 26. CLIENT SIDE APP APIs Web Server Hosting Tooling DATA MANAGEMENT USER MANAGEMENT BaaS BUSINESS LOGIC 16Saturday, March 15, 14
  • 27. CLIENT SIDE APP APIs Web Server Hosting Tooling DATA MANAGEMENT USER MANAGEMENT BaaS BUSINESS LOGIC 16Saturday, March 15, 14
  • 28. CLIENT SIDE APP APIs Web Server Hosting Tooling DATA MANAGEMENT USER MANAGEMENT BaaS BUSINESS LOGIC 16Saturday, March 15, 14
  • 29. Ok that looks awesome Let’s make it a reality! 17Saturday, March 15, 14
  • 30. Connectivity web sockets and xhr-polling we have the technology to create "full-duplex" connections even in older browsers this gives us a mechanism for pushing data between server and client 18Saturday, March 15, 14 • web sockets and xhr-polling we have the technology to create "full-duplex" connections even in older browsers • this gives us a mechanism for pushing data between server and client
  • 31. Data Management * already exists just needs an API built for it on the client * support querying * transactions * all json types 19Saturday, March 15, 14 • already exists just needs an API built for it on the client • support querying • transactions • all json type
  • 32. User Management * built on-top of the data model * standardized by convention * id * groups (or roles) built in * extensible to store extra data required 20Saturday, March 15, 14 • built on-top of the data model • standardized by convention • id • groups (or roles) built in • extensible to store extra data required •
  • 33. Security & Access Control * having data on client means there are a lot of security concerns * access control layer around who can read and write data based on their id and groups * input validation to guarantee data integrity * output sanitization to prevent different forms of injection attacks * enforced on server via schema of some form 21Saturday, March 15, 14 • having data on client means there are a lot of security concerns • access control layer around who can read and write data based on their id and groups • input validation to guarantee data integrity • output sanitization to prevent different forms of injection attacks • enforced on server via schema of some form
  • 34. Tooling * API is a black box you won’t control * tooling is *really* important * even with less surface area, there will still be bugs * so what type of tooling do we need? 22Saturday, March 15, 14
  • 35. Data Tooling • Ability to view the data • Ability to export and import backups • Ability to run arbitrary queries on the data • Audit logs for monitoring how data changes • Schema visualizer ◦ Exploring how access controls are enforced ◦ Testing input validation and output sanitization • Available via Web UI and CLI 23Saturday, March 15, 14 • Ability to view the data • Ability to export and import backups • Ability to run arbitrary queries on the data • Audit logs for monitoring how data changes • Schema visualizer • Exploring how access controls are enforced • Testing input validation and output sanitization • Available via Web UI and CLI
  • 36. Organizational Tooling • Support for multiple collaborators • Support for multiple environments • Varying access controls based on environment • Ability to perform data migrations 24Saturday, March 15, 14 • Support for multiple collaborators • Support for multiple environments • Varying access controls based on environment • Ability to perform data migrations
  • 37. Hosting * to truly remove the operational burden, we also need to provide static application hosting * but it can't just host static html, css, js -- it needs to be living and breathing as well * schema provides access control to routes and redirect controls 25Saturday, March 15, 14 • to truly remove the operational burden, we also need to provide static application hosting • but it can't just host static html, css, js -- it needs to be living and breathing as well • schema provides access control to routes and redirect controls
  • 45. We’ve found some obvious advantages 27Saturday, March 15, 14
  • 46. We’ve found some obvious advantages ✓ crowd source quality 27Saturday, March 15, 14
  • 47. We’ve found some obvious advantages ✓ crowd source quality ✓ specialization 27Saturday, March 15, 14
  • 48. We’ve found some obvious advantages ✓ crowd source quality ✓ specialization ✓ scale 27Saturday, March 15, 14
  • 49. We’ve found some obvious advantages ✓ crowd source quality ✓ specialization ✓ scale ✓ reliability 27Saturday, March 15, 14
  • 50. We’ve found some obvious advantages ✓ crowd source quality ✓ specialization ✓ scale ✓ reliability ✓ extensibility 27Saturday, March 15, 14
  • 51. We’ve found some obvious advantages ✓ crowd source quality ✓ specialization ✓ scale ✓ reliability ✓ extensibility ✓ lower cost 27Saturday, March 15, 14
  • 53. “The whole is greater than the sum of its parts.” – Aristotle 28Saturday, March 15, 14
  • 54. Data Synchronization * evolved from BaaS movement * user a modifies data, automatically updates the view of user b * possible because of the full-duplex connection and event subscriptions * subscribe to “change” events in data model * server pushes new data and client-side api trigger event listener * by leveraging this pattern you now have “real-time” out of the box, you don’t have to manage this! It’s given to you! * show code example of what this looks like! 29Saturday, March 15, 14
  • 55. Offline Support * now we have this mechanism for forcing our view to re-render * with this we can update the view of the application when the user reconnects (from sleep mode, or connects to wifi, etc.) * all the data transferred to the client from the server is cached so we can have read-only offline mode support out of the box * 30Saturday, March 15, 14
  • 57. In this utopia, how long would it take to build the application of your users dreams. Better question, how much time could you save? 32Saturday, March 15, 14
  • 58. Baas Today This utopia will be built, one brick at a time 33Saturday, March 15, 14 Talk through current solutions available
  • 60. In Conclusion • Client-side developers waste time and money on infrastructure • BaaS will fundamentally change how client-side applications are developed • The work is already under-way • It’s an extension of the platform movement 35Saturday, March 15, 14
  • 61. Join the BaaS movement An intersection of developer productivity and the platformization revolution 36Saturday, March 15, 14