The importance of backend services for mobile applications (already discussed in an earlier post) can hardly be overemphasized. The trick lies in finding a backend API tool that is robust enough to allow smooth data management as well as user-handling on one hand, as well as keep a tab on the overall resources required for building an app. Apache Usergrid (which became a part of the Apigee backend-as-a-service (BaaS) tool in 2012), is really helpful for app developers in this regard. In what follows, we will explain why you need to use the open-source Apache Usergrid mBaaS and Apigee Edge in your forthcoming mobile applications:
Support for agile app development
Usergrid offers end-end mBaaS services. It integrates application layer, updated SDKs (included in the client tier) and a powerful NoSQL database. These help developers create applications quickly, systematically, and with significantly lesser hassles. The presence of a wide range of common services and retrieval tools – data and file storage, user registration, geolocation & text-based search, for instance – is also a high point of Usergrid.
The Apigee Edge BaaS comes with a highly flexible and customizable platform. App development experts can easily store all types of application data on the Apigee platform – ranging from user associations to customized item catalogs. Since all the data gets stored in the form of entities, it becomes simple for coders to perform complex queries and searches (on any field), as and when required. The data storage method in Apigee is contextual, which keeps things understandable for developers.
JSON objects and asset management
The API BaaS project of Apigee has Usergrid as its foundation, and for good reason. The latter can expertly store and index JSON objects. Runtime queries of JSON objects are supported as well. While creating mobile apps and games, developers need to manage assets in an efficient manner, and Usergrid comes up trumps in this regard as well. Among the additional features that this resource offers, the push notifications system and the secure user authentication feature are worth a particular mention.
Moving beyond Swagger
Usergrid 2 is here
Apigee and Usergrid were always handy backend API technology tools for mobile app developers. However, coders did face certain glitches while working with Usergrid 1 (based on Cassandra) – like a sub-par performance of the index and query engine, and maintenance issues. These problems have been swept under the cover by Usergrid 2. Powered by ElasticSearch, the new iteration boasts of an excellent array of features, including an all-new built-in engine for query, index and persistence. Scalability has also been made easier than before, thanks to the separation of query/index from key-value persistence. Even if you had some qualms about Usergrid earlier in your apps, there is no reason to not use it now.
To be classified as a ‘good mobile backend API service provider’, a tool needs to have state-of-the-art security features. Apigee Edge delivers on this count, and then some more. Developers can take advantage of login and token authentication systems that are compliant with the OAuth 2.0 standard. To monitor access control and manage the overall data security, users have the option to define custom permissions. Custom events can be tracked, recorded and analyzed too.
Excellent app testing framework
With Usergrid, mobile app testing becomes just that much more foolproof. The software stack has a built-in Gatling load-testing framework – which was created by using a series of repeatable test cases. The framework ensures high performance levels and thorough validation (of the metrics) of each project. The Gatling scenarios are also open-source, just like Usergrid itself.
Auto-scaling to handle variations in API demand
According to professionals from the fields of software programming and mobile app development, fluctuations in the demand for APIs (from customers) tend to smooth out over time. However, two types of variations – the weakly or seasonal surges, and the sudden peaks that can last for a few hours to a couple of days (flash sales at e-commerce sites, anyone?) – have to be considered carefully. Apigee brings a custom auto-scaling feature, which can handle such peaks and surges. That, in turn, serves two purposes: i) it enhances the overall user-experience, and ii) it cuts down on unnecessary money/resource wastage. Changes in API demand does not affect the amount an Apigee customer has to make, but they have to be smartly managed nevertheless.
Push notifications for greater user-engagement
Yet another cool, developer-friendly feature of the Apigee API platform is the RESTful (Representational State Transfer) framework for generating push notifications. Those who make apps get full control over the audience to which notifications are to be sent, as well as the timings for sending notifications. The app footprint remains low, and all devices that are connected to the BaaS can receive the notifications. Apart from individual users, these push messages can be sent to devices as well as specific groups as well. User-engagement, understandably, gets a big boost.
Note: Apigee allows app developers to send as many as 10 million free push notifications every month.
10. Comprehensive monitoring of apps
The initial builds of apps are likely to have errors, even if the best developers in the world are working on it. The key lies in quick detection and resolution of such issues in subsequent builds – leading up to a completely bug-free final release. Apigee delivers top-class performance here as well, with its custom logging, usage-tracking, and monitoring of crashes. Richly detailed, high-quality visualizations are used to analyze the crashes and errors.
Apigee offers 10GB of free data storage space to app developers, enabling them to store JSON objects in the data store (NoSQL) without any hassles. The fact that Usergrid is a distributed BaaS that is operationally extendable makes it all the more useful for app makers. It’s high time you started using Apigee and Usergrid in your new mobile applications – they offer the smartest way to connect your app to the backend cloud.
Chief source: http://docs.apigee.com/api-baas