What’s BaaS?

Backend as a Service (BaaS) is a form of cloud service, which offers the generic server functions required to manage a mobile application service.

Similar server functions are always required for mobile applications

Today, hardly any stand-alone mobile applications put every function on the device side. When developing a mobile application, you always need to build a server and develop a server-side program as well. Building a server and developing a server-side program requires as much time and cost as developing a mobile application itself and is an important factor that determines the success of your mobile application business. Conversely, most smartphones use a touch screen as a main user interface, and how mobile phones are used is much the same regardless of the mobile terminal and carrier. As a result, similar server-side functions are demanded.
  • Users need to be registered, and logged-in authentication functionality needs to be provided.
  • Contents such as newsletters from the provider need to be delivered from the administrator’s site.
  • User data and files need to be stored on the server.
  • Some data and files need to be shared among users.
Backend as a Service (BaaS), which includes appiaries, provides those common server functions necessary for mobile applications as a cloud service. By using BaaS, application developers and administrators no longer have to repeat similar work for preparation and development at the server side and can concentrate resources in developing a mobile application itself.

Difference from conventional server construction or use of cloud service

Backend Types Housing Hosting IaaS PaaS BaaS SaaS
Examples of Providers IIJ GIO, Amazon EC2 Google App Engine, Windows Azure Salesforce Sales Cloud, Google Docs
Initial Cost High Middle Low Low Low Low
Idle Capacity High High Low Low Low Low
Ease of Scale-Up ×
Costs to build and manage OS or Middleware High Middle High Low Low Low
Ease of Scale-Out × × ×
Costs of Server-Programming High High High Middle Zero Zero
Ease of Customize ×

Issues with scalability and idle cost

Two of the biggest concerns when building a server for a mobile application are scalability (extensibility of processing power) and idle cost. When the user numbers for a mobile application rise, the server load increases accordingly. When the existing server can no longer handle the load, resources must to be added to the server hardware or more servers are needed – respectively termed scaling-up and scaling-out. If you use a conventional rental server or install your own hardware on a housing rack in a data center, you must stop this service when the server is scaled up, and in some cases, move the data to a new server.
If you use a server with a large capacity beforehand to support future scaling-up, the server has a considerable idle cost. Conversely, scaling-out requires deliberate design and advanced server management technology, and the actual execution is challenging. To solve such problems, cloud services such as Amazon EC2, Google App Engine, and Windows Azure are becoming popular.

Difference between Amazon EC2 and BaaS

Amazon EC2 is a type of cloud service called Infrastructure as a Service (IaaS), which also encompasses many cloud services offered by rental server providers such as IIJ, GIO, GMO Cloud Public, and NIFTY Cloud. IaaS provides resources on a cloud that corresponds to hardware in the case of a server. If you use IaaS for your mobile application business, you must develop a server program, install an OS and middleware from scratch and maintain them once they are set up. IaaS provides resources on a cloud that corresponds to hardware in the case of a server. If you use IaaS for your mobile application business, you must develop a server program, install an OS and middleware from scratch and maintain them once they are set up Compared to IaaS, BaaS can eliminate such cost and time factors.

Difference of BaaS from Google App Engine and Windows Azure

Google App Engine and Windows Azure belong to a type of cloud service called Platform as a Service (PaaS), which also encompasses some services offered by providers outside Japan such as Heroku, OpenShift, and DotCloud. PaaS offers hardware and OS/middleware as a set on a cloud. By balancing the load among multiple servers, PaaS offers an environment for program execution that supports increased user numbers (scaling-out). However, PaaS still requires the development of a server program to run in that environment. If you use BaaS, even the need to develop a server program is eliminated. In addition, quite a few PaaS services require manual adjustment of the performance and the number of server instances. If so, application service administrators must constantly monitor the load and control the performance and number of server instances accordingly.

Difference between BaaS and Salesforce Sales Cloud, Google Docs

Salesforce Sales Cloud and Google Docs belong to a type of cloud service called Software as a Service (SaaS), the scope of which also includes services such as Microsoft Office 365. SaaS is a cloud service that offers software with specific functions. An increasing number of SaaS services offer an API to facilitate connecting from outside. In some cases, plenty of dedicated client applications are also offered. Conversely, SaaS does not offer customizable server functions for an individual mobile application. One benefit of using SaaS is that since it is designed to use preset software, you need not maintain a server-side system or software. BaaS is a cloud service in-between SaaS and PaaS. Like SaaS, it eliminates the need for maintenance, while also offering you flexible use of the service to suit your needs, like PaaS.

Various ways of using BaaS “appiaries”

appiaries works as a backend for a mobile application and can be used in many ways.

Information delivery application with a user function

appiaries can be used as a simple content management system (CMS). Administrators can enter contents from the administrator’s site, and users can constantly browse the latest information. By using a user registration/authentication mechanism, the administrators can also deliver special contents such as coupons and campaign information to users only. For example, on a mobile application for a retailer, restaurant, or fashion brand, the product and store database can be easily updated and the latest contents such as news and campaigns can be delivered. appiaries is suitable for such cases.

Synchronization and backup of private data

appiaries can be used for storing private data saved on a mobile application on a cloud and retrieving the same data and environment, even after switching mobile phones. You can also set up detailed access control for an appiaries database. In so doing, you can avoid serious troubles such as displaying data to the wrong users, and ensure data is stored safely.

One-to-one chat application

appiaries can also be used to develop a chat messaging application that allows messages to specific users to be stored in the database. If you use the file database at the same time, messages with multimedia data such as photos, movies, and audio files can be sent and received.