Upload
wso2-inc
View
1.694
Download
0
Embed Size (px)
Citation preview
Accelera'ng mobile app development with MBaaS
A8ham Azeez Director, Architecture
WSO2 Inc.
Credits: hEp://theemf.org/2013/09/10/enterprise-‐mobility-‐is-‐no-‐game/
Enterprise Mobility Challenges
• Backend integra'on • Channel security • Client side development • Fast delivery of apps
What is MBaaS?
• A model for providing web and mobile app developers with a way to link their applica'ons to backend cloud storage while also providing features such as user management, push no'fica'ons, and integra'on with social networking services.
• These services are provided via the use of custom SDKs and APIs.
Why MBaaS?
• Reduce the 'me and complexity required to build mobile applica'ons
• Allow developers to focus on core features instead of low-‐level tasks • virtual machine configura'on • developing common func'onality like user authen'ca'on
or no'fica'ons
When do you need an MBaaS?
• Many apps • Many developers • Many in-‐house integra'ons • Many backend systems • Many third party integra'on • Mul'ple mobile plaYorms • Mul'ple versions
Core components of an MBaaS • Cloud-‐based storage for mobile data • Cloud caching • Ability to automa'c generate REST-‐based interfaces to
read and write data • Internet op'mized data access • User & security management • SSO • Usage analy'cs • Loca'on service • Specialized integra'on with enterprise so]ware
MBaaS in a nutshell
App SDK
MBaaS
Service 1
Service 2
Service N
…
A"ham Azeez
Source: hEp://devcenter.kinvey.com/android/samples/scrump'ous
APNS
MBaaS
Push No'fica'ons
• A style of Internet-‐based communica'on where the request for a given transac'on is ini'ated by the publisher or central server
• Apple Push No'fica'ons (APNS) • Android Push No'fica'ons (Google Cloud Messaging for
Android) • Blackberry Push No'fica'ons • Microso] Push No'fica'ons
Types of MBaaS
• Consumer MBaaS • Enterprise MBaaS
Enterprise vs. Consumer Enterprise Consumer
Iden'ty Providers Ac've Directory, IBM Data Power, Salesforce.com
TwiEer, Facebook
Iden'ty Protocols SAML, WS-‐Trust, WS-‐Federa'on, Passive Profile, OAuth
OAuth, OpenID
Mobile Ops Management MDM, MAM integra'on No MDM, MAM integra'on
Compliance PCI, HIPAA, Compliance APIs No level of compliance
Cloud Topology Public, Private, Hybrid clouds Mostly public cloud
Environments Dev, QA, Produc'on Single environment
Data sources Business data sources Social, public
Tenancy Enterprises which are building mul'ple apps for 100s or 1000s of users
Developers building one app for mul'ple users
Pricing Model Based on number of users Based on number of API calls
Key Players
MBaaS SDK
• Sta'c SDK • Dynamic SDK • Provides a consistent developer experience irrespec've of
plaYorm • Java/JavaScript etc. • Handles the complexi'es of the transport protocol • Similar to service stubs • Can include MAM features
MBaaS vs. BaaS
• Not much different • BaaS synonymously used for MBaaS • Also wriEen as (M/m)BaaS • Arguably MBaaS is more op'mized towards mobile
app development • MBaaS == BaaS == PaaS?
Developer Experience without MBaaS
Developer experience with MBaaS
MBaaS Challenges
• Scalability • Availability • Extensibility
How to build an MBaaS using WSO2
Infrastructure-‐as-‐a-‐Service
Mobile Apps
Connectors
Service Cartridges
SDK
MBaaS & MEAP
MBaaS +
API Management vs. MBaaS
• (M)BaaS – Mobile add on to API Management • Mobile op'mized • Mobile SDK
Governance and MBaaS
• API call rate limi'ng • Policy enforcement
Corporate data cannot be accessed from certain NWs or geographic loca'ons
• SLA monitoring
Conclusion
• The need for mobile apps is exponen'ally growing • Mobile app developers need to fully concentrate on
(mobile) app development • High scalability, availability, extensibility, security are core
requirements • MBaaS, BaaS, PaaS -‐> same thing? • MBaaS is about the developer experience • Final thought; IoT & BaaS
Reference
• hEp://www.kidozen.com/enterprise-‐vs-‐consumer-‐mbaas/
• hEp://servicesangle.com/blog/2012/10/23/mobile-‐backend-‐as-‐a-‐service-‐mbaas-‐all-‐hype-‐or-‐here-‐to-‐stay/
• hEps://cloud.google.com/developers/ar'cles/mobile-‐backend-‐starter