Xuất bản: 2016-04-19 20:21:53
Bằng cách sử dụng Mobile Backend as a Services (MBaaS), các nhà sản xuất và phát triển ứng dụng có thể tiết kiệm được nhiều thời gian xây dựng hệ thống và các chi phí vận hành.
Push notification, tích hợp mạng xã hội, quản lý chứng thực người dùng là một trong số những chức năng thường xuất hiện trên các ứng dụng cho thiết bị di động và web hiện nay. Với Push notification cho phép các hệ thống thực hiện chuyển thông báo tới người dùng cuối một cách đồng loạt. Với chức năng tích hợp mạng xã hội, ứng dụng cho phép người dùng có thể dễ dàng chia sẽ những thông tin của bản thân từ ứng dụng cũng như nhận những thông tin, kiến thức được chia sẽ từ những người dùng khác… Các chức năng đó đối với các ứng dụng ngày nay được xem như một thành phần không thể thiếu. Tuy nhiên, có một thực tế mà các nhà sản xuất và phát triển ứng dụng trên nền tảng di động và web đã và đang trải qua đó là họ thường phải xây dựng lại những tính năng này cho các hệ thống khác nhau của họ. Việc xây dựng các tính năng này cho một hệ thống thường tốn nhiều thời gian và tiền bạc. Bên cạnh các xử lý ở phía client, đòi hỏi hệ thống còn xử lý thêm các nghiệp vụ phía backend. Và như một xu thế tất yếu, Mobile backend as a Services (MBaas) ra đời để góp phần giải quyết những bất cập đó.
Vậy MBaas là gì?
Còn được biết đến với cái tên Backend as a service (Baas), là một mô hình hỗ trợ cho việc phát triển ứng dụng trên nền tảng di động hoặc web bằng cách liên kết các ứng dụng với các đám mấy lưu trữ ở backend (backend cloud storage) và các giao diện lập trình ứng dụng (APIs) được cung cấp bởi backend. MBaas cung cấp các dịch vụ nổi bật như: quản lý người dùng, push notification, tích hợp với mạng xã hội, dịch vụ dựa trên vị trí... Những dịch vụ này được cung cấp thông qua việc sử dụng các bộ công cụ phát triển phần mềm (SDKs) và giao diện lập trình ứng dụng (APIs). MBaas gần đây có mối quan hệ mật thiết với sự phát triển của lĩnh vực điện toán đám mây. Mặc dù đây được xem như một lĩnh vực còn non trẻ nhưng hứa hẹn sẽ có những bước phát triển vượt bậc nhất là đối với khối khách hàng doanh nghiệp.
MBaas đem lại điều gì?
Bằng cách sử dụng MBaas, các nhà sản xuất và phát triển ứng dụng có thể tiết kiệm được nhiều thời gian xây dựng hệ thống và các chi phí vận hành. Thông qua MBaas các dịch vụ ứng dụng như : push notify, tích hợp mạng xã hội, message & chat function… được cung cấp sẵn bằng các bộ SDK và API đồng nhất, nhà phát triển ứng dụng thay vì phải tự mình xây dựng các hệ thống này từ đầu cho ứng dụng của mình thì bây giờ có thể sự dụng các dịch vụ này thông qua các hệ thống MBaas. Nhờ đó quá trình phát triển ứng dụng có thể được tiết kiệm thời gian hơn, qua đó cũng tiết kiệm được chi phí sản xuất, nâng cao hiệu quả dự án. Bên cạnh đó MBaas cũng cung cấp các phương tiện để quản lý dữ liệu ở backend cho các dịch vụ sử dụng trong ứng dụng.
Các dịch vụ MBaas nổi bật
- Push notification: tính năng này hiện có mặt trong nhiều ứng dụng trên nền tảng di động hiện nay. Khi nhà cung cấp dịch vụ cho ra đời một sản phẩm mới hoặc có một chương trình khuyến mãi mới áp dụng cho một nhóm khách hàng, các thông tin quảng bá này có thể được chuyển tới khách hàng thông qua hình thức push notification.
- Dịch vụ quản lý người dùng: Cho phép chứng thực người dùng từ ứng dụng Android, iOS và JavaScript SDK. Chứng thực người dùng có thể thực hiện thông qua tài khoản: Email, Facebook, Twitter, GitHub, Google và hình thức chứng thực nặc danh. Nhà phát triển ứng dụng chỉ cần xử lý nghiệp vụ đăng nhập hệ thống ở phía client bằng cách tương tác với các API của MBaas, điều này giúp họ tiết kiệm thời gian và công sức với việc phát triển hệ thống backend.
- Dịch vụ dựa trên vị trí: Thông qua dữ liệu về vị trí của khách hàng, các hệ thống MBaas có thể cung cấp nhiều dịch vụ khác nhau. Các dịch vụ dựa trên vị trí có thể chia thành các nhóm dịch vụ cá nhân, nhóm dịch vụ doanh nghiệp và nhóm dịch vụ công cộng và ứng cứu khẩn cấp. Có thể thấy được rõ ràng lợi ích của các nhóm dịch vụ dựa trên vị trí này trong nhiều lĩnh vực cuộc sống. Điển hình như trong lĩnh vực ứng cứu khẩn cấp, từ thông tin về vị trí của nạn nhân sẽ giúp hệ thống có thể điều hướng các phương tiện cứu nạn đến nơi nhanh chóng thông qua việc tính toán lộ trình di chuyển phù hợp cho các phương tiện này. Hay trong các lĩnh vực như mua sắm, du lịch… các dịch vụ dựa trên vị trí cũng được ứng dụng rộng rãi. Sẽ chẳng có gì bất ngờ nếu một ngày bạn đi ngang một vùng đất mới và bạn nhận được những thông tin quảng bá về các dịch vụ, món ăn, các địa điểm vui chơi thú vị… tại nơi đó.
Các hệ thống MBaas phổ biến hiện nay
- AnyPresence: Mục tiêu của AnyPresence không chỉ là giúp các doanh nghiệp build hệ thống backend cho các ứng dụng di động của họ. Anypresence còn kết hợp cả việc build ứng dụng, dịch vụ back-end và cung cấp các cổng kết nối API. Anypresence có chức năng cho phép sinh đoạn mã back-end, đoạn mã sử dụng trên ứng dụng di động hoặc thậm chí chỉnh sửa các API trực tuyến từ dịch vụ của họ. Tất cả các đoạn mã sinh ra có thể được tải về, chỉnh sửa và chạy trên các nền tảng tương thích. Ví dụ một trong những khách hàng nổi tiếng của AnyPresence hiện nay là Master Card thông qua anyPresence cho phép các đối tác của họ xây dựng các ứng dụng di động tương tác với các API, dịch vụ mở của MasterCard. AnyPresence có khả năng sinh ra các đoạn mã sử dụng trên các nền tảng như: JQuery, Android, iOS, WindownPhone, HTML5…
- Appcelerator: xuất hiện trong lĩnh vực phát triển ứng dụng di động cách đây một vài năm, với các bộ dịch vụ cho phép biên dịch đoạn mã Javascript thành các đoạn mã native cho Android, iOS và các nền tảng khác. Đến 7/2014 Appcelerator cung cấp thêm dịch vụ MBaas với khoảng 25 APIs, hỗ trợ Node JS và phân tích dữ liệu trực tuyến. Appcelerator đã đưa ra cộng đồng các giao thức MBaas của họ thông qua đó cho phép các nhà phát triển tích hợp các ứng dụng của họ với dịch vụ từ các native SDK, mặc dù Appcelerator Studio IDE chưa hỗ trợ các native SDK.
- FeedHenry: Tập trung vào mảng ứng dụng hỗ trợ cho nhóm khách hàng doanh nghiệp. FeedHenry được xây dựng dựa trên Node JS, nền tảng ứng dụng di động và MBaas hướng đến đối tượng doanh nghiệp. Nó có một mảng tích hợp các dịch vụ rộng lớn, cho phép phát triển trong môi trường online hoặc offline. FeedHenry đã được tách ra từ Viện Nghiên cứu Ireland vào năm 2010 và được mua lại bởi Red Hat vào tháng năm 2014.
- Google Firebase: Là đứa con của gã khổng lồ công nghệ Google, firebase hứa hẹn sẽ có nhiều bước phát triển mạnh mẽ trong tương lai. Hiện nay firebase cung cấp ba mảng dịch vụ lớn đó là: Cơ sở dữ liệu thời gian thực (Real time Database), Chứng thực (Authentication) và Lưu trữ (Hosting). Người dùng firebase có thể lựa chọn sử dụng các gói dịch vụ dưới hình thức miễn phí hoặc trả phí. Hiện nay Firebase đã được hơn 400.000 các nhà phát triển tin tưởng sử dụng.
- Đặc điểm chung:
o Sử dụng MongoDB để lưu trử dữ liệu. MongoDB là một opensouce cơ sở dữ liệu NoSQL, dùng để lưu trữ các JSON object.
o Cung cấp các thiết kế UI giống nhau cho hệ thống lưu trữ dữ liệu với MongoDB.
o Khả dụng với kiến trúc multitenant Cloud.
o Đều cung cấp dịch vụ push notify và APIs cho chứng thực người dùng.
o Hỗ trợ native app iOS và Android (tuy ở mức độ khác nhau).
o Cho phép lập trình viên cài đặt một vài thiết lập đối với server logic.
- Điểm khác biệt:
o Mức độ hiệu quả và khả năng hỗ trợ: Điểm khác nhau chính giữa các hệ thống MBaas này là mức độ hiệu quả và khả năng hỗ trợ của chúng. Ví dụ, chúng hỗ trợ tích hợp các ứng dụng cho doanh nghiệp với cơ sở dữ liệu trong khoảng từ mức cơ bản đến việc gọi các giao thức REST để trả về cấu trúc JSON để tích hợp sâu các ứng dụng với cơ sở dữ liệu. Thời gian một developer cần để cài đặt quá trình tích hợp với MBaas từ nhiều ngày cho đến vài phút, điều này phụ thuộc vào mức độ hỗ trợ của các hệ thống MBaas trong việc thiết lập các thông số tích hợp.
o Tiêu chuẩn bảo mật: Một vài hệ thống MBaas có tính mở, trong khi một số khác chỉ khả dụng với Private Cloud. Một vài hệ thống tuân thủ theo các tiêu chuẩn bảo mật dữ liệu của Châu Âu. Một số hệ thống khác tự xây dựng công cụ để kiểm tra. Bên cạnh đó một số hệ thống MBaas còn cho phép build ứng dụng di động thông qua các dịch vụ đám mây của chúng.
o Khả năng hỗ trợ Cross platform: Một vài hệ thống hỗ trợ HTML5 và các ứng dụng hybrid. Một số khác thì biên dịch mã javascript thành các native code, hỗ trợ các trình cross platform như PhoneGap, Apache Cordova. Một số hệ thống chống lại việc chuyển đổi các mã nguồn của ứng dụng hybrid bằng việc cung cấp cac giải pháp như gen ra đoạn mã cho các ứng dụng native.
o Backend Platform: Phần back end của các hệ thống này có thể sử dụng Node js, Rails hoặc một vài nền tảng nào đó chưa xác định. Một số MBaas còn hỗ trợ cả Black Berry, WP8, Windows 8 và Unity.
o IDE và Framework: Một vài hệ thống cung cấp các công cụ IDE từ đám mây của họ, một số cung cấp các nền tảng IDE khác nhau trên desktop, một số khác chỉ hỗ trợ thông qua command line để thực hiện các hoạt động điều khiển liên quan đến dịch vụ đám mây. Trong khi đó một số hệ thống MBaas hỗ trợ sử dụng nhiều Framework JavaScript phổ biến hiện nay như Angular, Backbone thì một số khác sử dụng các framework javascript của chính họ xây dựng, nó có thể tương thích với một framework open source cụ thể nào đó.
Vai trò và tiềm năng phát triển
Các nhà cung cấp MBaas tạo ra doanh thu từ dịch vụ của họ theo nhiều cách khác nhau, thông thường dưới dạng một mô hình miễn phí. Với mô hình này, khách hàng nhận được một số lượng có giới hạn số tài khoản hoạt động (active users) và số lần gọi API trên tháng, và trả tiền cho mỗi người dùng hoạt động hoặc số lần gọi API phát sinh quá giới hạn. Bên cạnh đó, khách hàng có thể lựa chọn hình thức trả phí theo gói, với hình thức này cho phép họ có được số lượng active users và số lần gọi API lớn hơn trên tháng. Một số nhà cung cấp dịch vụ miễn phí không giới hạn số lần gọi tới API của họ trong khi một số khác thường cung cấp dưới dạng dịch vụ thương mại. Bên cạnh các mô hình kinh doanh đa dạng, các nhà cung cấp dịch vụ MBaas cũng ngày càng đa dạng hoá các dịch vụ MBaas của mình.
Có thể thấy rằng sự phát triển của lĩnh vực ứng dụng trên nền tảng di động và web có sự gắn kết mật thiết với MBaas. Thông qua việc sử dụng MBaas, các nhà phát triển có thể tiết kiệm được số lượng đáng kể chi phí cũng như thời gian phát triển ứng dụng. Sự phát triển của lĩnh vực MBaas cũng tạo ra một cuộc cạnh tranh ngày càng khốc liệt giữa các nhà cung cấp dịch vụ, do đó đòi hỏi họ phải không ngừng thay đổi và linh hoạt hơn trong việc cung cấp dịch vụ để được đông đảo người dùng đón nhận.
Vũ Phan
Nhận xét