Blog

Serverless Chatbots- A Novel Approach to Building Chatbots

Written by Charan Sai Dasagrandhi | Jan 11, 2019 3:08:00 PM

Chatbots are becoming more relevant in the age of information delivery, regardless of the industry. With a serverless architecture framework, chatbots are becoming super easy to develop, which will scale up the chatbot market and reduce time-to-delivery and time-to-market costs. Serverless chatbots have a distinct advantage because they change how the  applications are created and maintained. 

Serverless, What’s that?

As defined by DZone, “Serverless architectures, refers to applications that significantly depend on third-party services (knows as Backend-as-a-Service or “BaaS”) or on custom code that’s run in ephemeral containers (Function-as-a-Service or “FaaS”) ”.

Serverless architecture is a framework that allows one to configure the development process according to the business needs. In this process, it enables one to upload personalized code and execute the code when needed without developers having to worry about the complexities of the entire process.  

Does this mean there is no server? No, there are servers. But as an end user, one doesn’t have to worry about how those servers are spawned, maintained or scaled. This layer of abstraction lets the end user configure services on those servers indirectly.

Why You Should Start Using Serverless

Cloud computing is a fairly popular term in IT. Among all the benefits it brings, Serverless computing tends to be one of the most promising, because of its “configure and deploy” approach to building solutions. We have witnessed the way cloud computing has transformed business and in a similar way, serverless computing holds the same potential in transforming many business models. The features like, security, scalability, ease of integration, and cost effectiveness, is what will make serverless platforms used globally across enterprises and startups alike.

The Rising Demand for Chatbots 

According to Forrester Research, “…. globally 57 percent of companies either use chatbots already or plan to do so in the coming year.” Chatbots consume less human resources and deliver better business value by automating customer interactions and business transactions at optimal cost. Moreover, with the current Artificial Intelligence, Machine Learning revolution, chatbots are only going to get better. In order to support this accelerated growth in chatbot development, businesses need mechanisms that are easy to configure, scalable, secure and robust. Serverless chatbot frameworks are all of these and more.

How Do You Build a Chatbot Traditionally?

The brain of a chatbot is an API, where the interactions happen via messages. The API needs to work in asynchronous mode and needs to be highly secure as many clients will be making calls at the same time to the same application. So considering these, on a high level, creating chatbots involve a three-step process:

  • Create and train a Machine Learning model for your chatbot.
  • Add an API layer to the model, host it in a secure environment.
  • Add a UI layer in the form of an app or something else, for the end user.

In the traditional development approach, you have to perform all these operations and then maintain the server, make periodic updates, and scale hardware/networks by yourself.

Benefits of Building a Chatbot with Serverless  

In Serverless approach step 1 and 2 would be combined into just one task: “Configuring the service”. This would require 80% – 90% less efforts and time than the previous process because developers don't need to go through the cumbersome process of maintenance and scaling the hosting environment. All these tasks will be taken care of by the Serverless framework.

Some other benefits of Serverless Chatbot frameworks:

  • Automatic Scaling: Serverless infrastructures scale automatically depending on the frequency of incoming messages. That is the reason why it has no limit on the number of requests the back end can handle, making it specifically beneficial in the context of chatbots.
  • Cheaper Cost: As this is  pay-as-you-go model, developers need to pay only for what is being used. No need to create a large buffer, assuming the future needs and end up paying for the large under utilized resources. 
  • Easy Integration: It’s exceptionally easy to integrate with any other service from the same provider. For example, if you use a Microsoft service it integrates seamlessly with other products in the Microsoft stack. Even if all layers are not on the same tech stack, configuring them to work with each other is very easy.

Disadvantages

Despite having many advantages some of the setbacks in this method include:

  • Less Control: As most of the functionality is controlled and maintained by the API vendor, as an end user you have less control than having your own system or VM.
  • Hard to Debug: As the back-end is not implemented by you, if something goes wrong, it’s sometimes harder to debug and fix.
  • Limited Customization: As the service is a generic one and configured as per your need, it’s hard to implement custom functionalities.

In spite of having some setbacks, serverless chatbots are the way to shape chatbots for the most dynamically varying future needs.

Available Options

The serverless method offers a vast set of options when it comes to choosing a serverless conversation service, as most of the enterprise cloud service providers are having serverless chatbot APIs in their bucket of offerings. Also, many of the startups are solely based on conversation services. Top names in the game are:

  • IBM Watson Assitant
  • Google's Dialog Flow
  • Microsoft's LUIS
  • Amazon's LEX

About Author

Aritra Das is a Software Engineer at V-Soft, specialized in mobile application development. He holds deep knowledge in developing end-to-end solutions on different technology stacks. He is keen on using innovative technologies to solve business problems. Apart from this core area, he is actively invovled in developing applications on IoT, AR, AI and ML technologies. He has been actively contributing to technical blogs and various open source projects.