Blog | Article

Inside the Boards on Fire Cloud

Many companies, both large and small, rely on Boards on Fire to power their digital daily management. In this blog post, I’ll explain the underlying architecture that is ready every day to deliver world-class daily management. You’ll get an inside look at what happens behind the scenes when, for example, you add a new deviation, update a KPI, or send data from another system to Boards on Fire.

Boards on Fire in Microsoft Azure

When the decision was made to move beyond our initial proof of concept, coded in Ruby on Rails, a key requirement for the next generation of Boards on Fire was a robust, scalable, and secure cloud infrastructure. Ultimately, we chose Microsoft Azure as our cloud provider, which gives us access to a wide range of services that support both scalability and security. By leveraging the Azure platform, we can manage the complexity required for a modern data-driven application.

To meet our needs, we’ve built a serverless infrastructure that can easily grow and scale based on actual demand. Services in Microsoft Azure assist us with everything from DNS and authentication to data storage and monitoring of system health.

The first layer

The first layer you encounter as a user working in Boards on Fire is Azure Front Door combined with Microsoft Azure Web Application Firewall. This layer provides both load balancing and security protection, allowing us to deliver content quickly and securely, even during high traffic. The global load balancing in Front Door is automatically based on the user’s geographical location to ensure content is delivered as fast as possible.

With Web Application Firewall, we also gain an extra layer of constantly updated protection against common security threats such as SQL injections, cross-site scripting (XSS), and DDoS attacks. Additionally, there is a built-in, up-to-date list of bot networks, enabling early-stage blocking of requests from these sources.

In combination with services like Azure Blob Storage, Azure Cache for Redis, and Azure Static Web Apps, this setup allows us to ensure that content delivery and user interactions are always fast and reliable. Whether it’s managing internal data within Boards on Fire or integrating with external systems, the architecture is designed to handle both efficiently.

The core is REST API

Our core architecture is built around both an internal and a public API running on Azure Web Apps, which provides us with security, detailed logging, and the flexibility to easily scale up or down based on load and user behavior. Azure Web Apps also makes it easy for us to work with continuous releases without any downtime for our users.

The APIs communicate with Azure Database for PostgreSQL for efficient and secure data management. Additionally, we use Azure Queues and Azure Functions to support asynchronous operations and event-driven workflows.

This entire architecture is scalable, allowing us to dynamically allocate resources based on current traffic needs, ensuring the infrastructure can grow with increasing demands without negatively impacting performance. Thanks to built-in features in Azure Web Apps, we can easily scale horizontally by adding more instances to handle increased load during peak times, while also keeping costs down during quieter periods.

Your Data – Always up-to-date

To ensure that the data you see in Boards on Fire is always up-to-date, we have implemented real-time communication in the platform. If someone in another department enters data into a dashboard, it is instantly updated on your end as well. This process is handled via Azure SignalR, which provides reliable and stable real-time updates. Azure SignalR assists with protocol management, automated connection logic, message routing, and the ability to scale up during peak data flow times in Boards on Fire.

Easy to integrate with

A large part of Boards on Fire revolves around data flows, making it essential to seamlessly integrate other systems with Boards on Fire. This can include ERP systems, production systems, or systems for managing workplace safety incidents.

At the time of writing, there are two ways to integrate with Boards on Fire. For companies with developer resources, our REST API provides an easy integration option. It’s a dynamic API tailored to each customer’s unique setup. Consequently, the API documentation is also automatically generated according to OpenAPI standards and is available directly within Boards on Fire.

It’s also possible to import data by uploading files, which are then automatically mapped and imported into the correct dashboard based on the settings you configure. This process is event-driven and leverages the flexibility and scalability of Azure Queues and Azure Functions. Data automatically passes through various layers for validation, processing, mapping, and import.

With security in mind

Security is our top priority, and beyond the external layers, we use Azure Key Vault to securely manage sensitive information such as API keys, certificates, and secrets. This ensures that critical data is encrypted and accessible only to authorized components within our system.

To ensure compliance with industry standards, we have also implemented detailed audit logs throughout the infrastructure, from the database to the API layer. Azure Table Storage is used to store these audit logs, where we record every data change and selected data reads. This enables us to trace activities and provides a clear overview of who has accessed or modified data. The audit logs belong to the customer, giving them full ownership of the logs and the ability to request them at any time.

Real-Time Monitoring

At Boards on Fire, we take a proactive approach to monitoring and optimizing our cloud infrastructure. We use Azure’s built-in services, such as Azure App Insights, Azure Monitor, and Azure Log Analytics, to gain real-time insights into system performance and health. This allows us to identify and address potential issues before they impact users. Through health checks, automated alerts, and comprehensive dashboards, we can keep the system optimized around the clock. We also just got early access to a preview of Azure Monitor AI Investigator which looks very promising for identification of anomalies.

On our public status page, you can always find the latest updates regarding availability for our services.

A Future-Proof architecture that continuously evolves

Our infrastructure is designed to grow with your business, whether you’re in the early stages or experiencing rapid expansion. Thanks to Azure's built-in scalability, our cloud architecture can easily expand without compromising performance or security, allowing us to deliver smooth and efficient digital daily management that adapts to increasing workloads as your business evolves.

Just as our customers work with continuous improvements in Boards on Fire, we strive every day to evolve and evaluate new technologies, services, and solutions that can further strengthen and future-proof our system. Recently, we've been exploring (not surprisingly) Microsoft Azure OpenAI, which could open exciting new possibilities for our customers.

https://www.datocms-assets.com/56488/1661954976-tobias-runesson-22.jpg

Tobias Runesson

Developer

Related articles

Happens at Boards on Fire

Latest from the blog

Free web demo

We can tell you all about Boards on Fire. But it's easier to show you. Our web demo gives you the basics in 30 min.