Axelerant Delivery Services

How We Built A Blazingly Fast & Secure Knowledge Management System Using JAMstack

Knowledge Management Using Slack Powered By JAMstack

FrontEnd-JamStack-Featured-Desktop_1

To address knowledge management challenges at Axelerant, we built a system that classifies and aggregates data from Slack, while remaining scalable as the amount of data and the number of users grows.

The Problem

Lorem ipsum

While our team at Axelerant uses multiple mechanisms to share information between stakeholders, Slack is perhaps the only application that every Axelerant team member uses across domains.

 

When it comes to solving problems and sharing knowledge internally between peers, we like to use a Q&A format within Slack. Asking a question is as easy as going to the designated channel (#internal-support in our case) and posting it there. Gradually, people with related experience contribute in the thread with their suggestions and solutions.

 

As of today, we have around 13,000 posts in this Slack channel, and each post has several replies as a part of the thread. This number will keep growing exponentially as our team size increases, and with this, we have started to run into a too-much-data problem.

 

Some of the challenges we were facing:

  •  01. Searching: Even though Slack provides an intuitive search functionality, it isn't always easy to find relevant information. Unlike search solutions like Apache Solr or Elasticsearch which have lots of room for customization, with Slack we are limited to what’s provided out of the box.

  • 02 Tagging: Questions posted in a Slack channel do not have any form of classification. These are usually plain text or media (images, videos), and there is no metadata related to them. Because of this, we weren’t able to group questions based on the type of technology or domain.

  • 03 Data Ownership: Even though Slack does support exporting workspace data, it isn't immediately usable by the administrator or accessible to other Slack team members who have limited permissions.

 

The Solution

Lorem ipsum

When considering building a knowledge management system, we had some strong preferences, especially around security and user experience.

 

With JAMstack, we were able to build a collection of microservices that helped reduce the surface area of vulnerabilities and attacks. And since the application is primarily static content served over a CDN, we paired it with client-side enhancements to build a fast yet pleasing user experience.

 

JAMstack helped us reach our goal while keeping the application blazingly fast, secure from vulnerabilities, and cheaper in terms of development effort and infrastructure expenses.

The Impact

Lorem ipsum

  • Improved Security: Unlike traditional systems with JAMstack, we were able to reduce the surface area of vulnerabilities significantly by moving to a system that uses a collection of microservices accessible only to a limited set of resources.
  • High Performance: JAMstack applications are rebuilt on-demand, converted to static files, and then served over a CDN. This cuts down the processing time on the server, need for caching mechanisms, and the latency due to the distance between where the application is hosted and where the user is accessing it from.

  • Easy to Scale: JAMstack applications have a minimal infrastructure footprint. Besides relying on a CDN, static files storage, and a serverless compute environment, these applications also tend to use third-party services. However, all of this infrastructure is scalable and can be availed on a pay-per-use basis.