End-to-End Cloud-Native Application Development with Google Cloud

Learn how our GCP team was able to build a unique SaaS-based application that allows customer support agents to communicate in real-time with clients

Royal Cyber Inc.
4 min readJan 20, 2022

Cloud service providers’ partners are expected to develop custom end-to-end solutions that help meet business objectives with the combination of knowledge in both business needs and cloud platforms’ products and services. Our primary goal as Google Cloud partners is to enable digital transformation across industries with the help of advanced cloud computing.

With the help of Google Cloud products and services, our team of experts created a unique, cloud-native app that offered special customer support features such as real-time audio/video communication with clients for guided user experience. In addition, we also managed to create an app with increased user scalability (upwards of 500k user concurrency) and improved infrastructure automation. This blog aims to uncover the challenges faced and the tech stack developed to build this application.

Identifying the Challenges and Requirements for Application Development

The client is a software company that aims to develop a unique customer support app that allows end-to-end guided user experience and support. With this app, their clients, primarily retailers/sales agents, can directly observe and engage with people who visited their website. However, several obstacles need to be overcome to build this application, such as:

1. Developing a scalable platform to support high traffic of concurrent real-time connected users

2. Developing unique customer support features like streaming the HTML elements and having video/audio and screen share capability

3. Delivering an overall low latency real-time user experience

Within the initial stages of application development, our team recognized a need to identify whom this application would best serve and develop the features that best cater to these users to build this app effectively. Therefore, along with the client’s team, the GCP team developed the application for the two primary users:

  1. The Sales Agent Dashboard:

a. Agents can see the customer window and interact with it.

b. Agents can generate audio /video calls view customer screens on request.

c. Using this dashboard, agents can invite other agents to the board and set privacy and other settings.

2. Customer Experience:

a. Customers get a notification when an agent requests an audio call /video call

b. Customers get a permission dialogue when an agent wishes to control/view their screen

c. Customers can dial calls to the agents.

Cloud-Native Tech Stack Development:

Once the users were identified and the features needed were finalized, the next step was to build the tech stack to help overcome the challenges identified and meet the client’s needs simultaneously. Our experts utilized the following tools and services to develop and enhance the end-to-end application:

Representation of solution implemented by the GCP team for our client

1. Firebase

The Firebase application is central to building cloud-native SaaS-based applications with Google Cloud. With Firebase, there is access to multiple in-built Google Cloud services such as Cloud Functions. There are several vital functions that Firebase carries out:

A. Authentication

Firebase authentication gives a quick, intuitive sign-in process using built-in authentication. Typically, a custom-built authentication service takes 1–2 weeks to collaborate using code, and one needs to keep track of scaling and debugging constantly. With Firebase, teams can quickly integrate, auto scale, and increase connectivity.

B. Autoscaling

Firebase is built for performance and scalability. In addition, Firebase helps calculate the minimum set of updates needed to maintain client synchronization when there is a change in the data.

C. Fire store Database

With the in-built service of Fire store Database, developers get access to a cloud-hosted NoSQL database that enables data to be stored and synced between users in real-time.

D. Firebase Hosting

Firebase Hosting is a Google hosting service that provides a fully managed hosting service for static and dynamic content and microservices to the user secure, fast, and easy way. For example, our team used Firebase hosting for hosting the agent dashboard.

2. Agora SDK and React

Our GCP team successfully implemented the audio/video and screen share feature using Agora SDK. They built it from scratch using React. React is a powerful Javascript framework to build single-page applications. React was built with Typescript to ensure that future developers would have to follow a base set of guidelines for future iterations

3. Cloud Run

Google Cloud Run provides a serverless and stateless container service. Cloud run allows our team to develop and deploy highly scalable containerized applications on a fully managed serverless platform.

4. Redis & Cloud Memorystore

When developers can build individual containers on Cloud Run, one cannot guarantee that the same container instance will process the requests of the same user. So, there is a need to keep the user session in external storage. Redis is the most popular choice for storing session data, thanks to its speed and simplicity. So, for this app, our team used Redis for synchronizing the session details. And to ease the process of managing Redis, Cloud Memorystore was utilized. Please read our blog, which gives an overview of how GCP and Redis are successfully integrated.

Conclusion

By collaborating with the client’s team in the initial stages of application development, our team could help in creating a first-of-its-kind customer support application that is entirely cloud-native. Furthermore, by partnering in innovating and developing the application, our GCP team was able to control the development and support stage in application development. And the results achieved exceeded expectations!

Read our case study to learn more about the challenges and impact of developing this solution.

--

--

Royal Cyber Inc.
Royal Cyber Inc.

Written by Royal Cyber Inc.

Royal Cyber Inc is one of North America’s leading technology solutions provider based in Naperville IL. We have grown and transformed over the past 20+ years.

No responses yet