Backend as a service

Most of the applications that we develop share a common set of functionalities. These functionalities may include the implementation of a user authentication database, providing a way for storage and retrieval of files, or sending notifications either through the use of emails or push notifications.

Most of the time, these functionalities are built into the application by introducing new components inside the application with which the other components can interact. The same is true for the Microservices-based applications, where these features are implemented, as different Microservices and the other Microservices interact with these services to achieve a certain outcome.

In the BaaS approach, we decouple these functionalities from the application by integrating these functionalities through the use of third-party cloud providers. When this happens, our applications usually integrate these functionalities through the use of the APIs that are provided by the third-party providers.

To understand this better, let's take a look at the serverless payroll-management system we introduced earlier. In this system, we have made the user authentication a disjointed part of our application by leveraging the BaaS offering provided by a third-party.

In this approach, our user authentication system and any of the data associated with it is managed by a third-party provider. This provider exposes some of the APIs for the service, which we can use to integrate the service with our application.

In our example, we exposed part of the user authentication service to the client through the use of the APIs exposed by the service. This allows the client to perform the user authentication directly with the service without going through the whole backend of the application. The second place where we used the BaaS offering was when we linked the employee search function with the user authentication service to retrieve a particular employee based on some criteria.

This concept of BaaS provides us with several advantages, such as the following:

  • Reduced development time: With BaaS, the developers of an application need not worry about the development for the common set of functionalities that they can consume directly from the third-party service providers by using the APIs provided by the service provider.
  • Ease of operations: Since the service and the infrastructure related to the service is managed by the cloud computing provider only, this reduced the complexity of managing the service and the operations it provides, allowing for reduced operational headaches.
  • Ease of scalability: The services provided by the cloud computing provider are managed directly by them, allowing for easy scalability, which is now done by the provider only.
  • Flexibility of integration: The services provided by the provider are usually integrated through the use of APIs. If the necessary API for the service integration is available for a provided platform, the platform can easily integrate with the service without worrying about the complexities behind the integration and hence allowing for support in different kinds of applications.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.124.177