The backend is always a web app

Your own backend or mobile backend as a service?

Individual backend development or use of mobile backend as a service? We reveal the advantages of the respective solutions and how they can be combined.

Anna-Maria Schmider

7 minutes to read

What is a backend?

Frontend and backend are well-known buzzwords in the development world. In today's blog post, we want to explain in more detail what is behind these terms and what different backend options there are.

A front end is what the visitor to a website or application perceives. This includes all visible content such as the design of the website or texts and images. The front end can be defined as a software interface.

The backend, on the other hand, is responsible for the part “behind the scenes” and is therefore not visible to the user. This is where the functions of a website or software are developed and established. In addition to the technical aspects, the design of the front end is also regulated, media elements are added or connections to databases are established.

It is important to know that every software has a front end and a back end.

Develop your own backend

A separate implementation of the backend for an application takes place here. The installation of this backend takes place on a dedicated server - a server that is only available for a certain service and provides the entire service or the resources for this. For this process, your own developers are required to set up and maintain the backend. This includes, among other things, the creation and control of database connections to the server. With a dedicated server, costs can be calculated very well because a fixed price is set for a service. The size of the database memory and the amount of included data transfer in gigabytes are known.

In terms of data protection, security is guaranteed by developing your own backend. Control over the server and how data backups are carried out and when they take place is guaranteed here. An individual backend development also means that there is no dependency on third-party providers and you can choose which server location is most suitable.

Scalability from your own backend

A server has only a limited capacity - if the data volume and the number of requests exceed the capacity, it must be scaled horizontally and vertically. For example, for a larger number of users, several servers are required to take care of the web requests. The data must also be scaled when saving. Several storage servers are required here in order to process a large amount of data. No server is protected from failure, so backup server and disaster recovery must be taken into account when planning.

The server location also plays a major role - if an app is created that is mainly used in Germany and America, servers must be operated on site in both countries. Otherwise, users may wait a long time for logical processes within the apps, which leads to frustration.

Backend as a service

The latest trend is always more in the direction of Backend as a Service (BaaS) respectively mobile backend as a service (mBaaS). But what exactly is meant by the English term?

It is a hosted third-party backend infrastructure used by application developers (mBaaS) or Websites (BaaS) be able to create an individual backend in just a few steps. With the help of provided APIs or REST interfaces, developers can simply address the hosted server. A lot of time can be saved as some functions are already included. Would developers like to get results quickly or prototypes or Minimal Viable Products (MVP) be able to present in a short time is BaaS or. mBaaS a good solution.

We also support our customers with mBaaS and BaaS implemented software solutions. Do you have any questions about the backend services or do you need support with implementation? Contact our specialist advisors.

BaaS / mBaaS providers and services

Google Firebase

  • Realtime database
    The Google Firebase Realtime Database is a cloud-based NoSQL database that can be used to store and synchronize user data in real time. Real-time synchronization enables users to access their data from various devices (web or mobile) and to easily work with other users. Developers are from Google With SDKs for smartphone platforms and web frameworks and can therefore save data without needing a separate server. Optimization is also carried out here for offline use of smartphone apps. When users go offline with their application, the Realtime Database SDKs to the local device cache in order to back up and save data there. When the mobile device goes online again, the local data is automatically synchronized in the background.
  • Authentication
    With Firebase Authentication it is easily possible to create secure authentication systems. The option of end-to-end encryption (end-to-end identity solution) and options such as registration via email and password, phone authentication or social media logins are available. Mobile phone numbers can now also be verified via SMS.
  • Cloud Functions
    Logical processes can be carried out using the Cloud Functions at Google stored and executed on their servers.

Amazon

  • Amazon S3
    Here is from Amazon with Amazon S3 offered a service with which any large amount of data can be stored and retrieved. Storage locations are websites and mobile apps, but also IoT devices or company applications. Amazon S3 is a cloud storage platform with which large data analyzes can be carried out without having to export the data to another program.
  • Amazon Cognito
    With Amazon Cognito user logins and registrations can be inserted into apps. An example here is the authentication of users via social identity - i.e. via Facebook, Twitter or Amazon. The local storage of data on the devices is also included Amazon Cognito possible - there are no restrictions in the functionality of apps if the devices used are offline. Another feature is the synchronization of data on all devices of a user, which means that he can use the app on each of his devices.
  • Amazon EC2
    Amazon Elastic Compute Cloud is a hosting service that makes server instances available for rent. Developers can run their backend services on these instances. The server capacities can be configured or adapted individually and complete control of the computing resources is guaranteed.

How can the advantages of both worlds be combined?

It is often helpful to use a hybrid approach for backend development. This means that parts of the logic are outsourced to your own backend - for example, the authentication data should be on your own server to ensure data security. For the scalability of images can Amazon S3 should be used as this is the cheapest data storage. Google on the other hand offers a very good possibility of data scaling with the Google Firebase Realtime Database, since the scaling takes place here automatically in real time. This outsourcing of data is usually unavoidable for large applications, as a server is no longer sufficient for a certain amount of data.

Backend solutions for our customers

We decide how we develop the respective backend based on the needs of our customers. In some software projects we successfully use the backend service BaaS / mBaaS and were able to provide optimal support during implementation. The hosting services from Google and Amazon offer efficient solutions, especially for start-ups and SMEs who want to have an app developed quickly and inexpensively.
With the mobile application Emily’s World and the web applications kybun and KLEVERBILL, we were able to use the cloud-based development platform Google Firebase to save and synchronize user data. The cloud online storage Amazon S3 was implemented in the software products to secure, scale and retrieve sent image files via chat.

Latest articles

To the blog