Meet the New TempoIQ - Customer-Oriented Architecture
This is our fourth post in an introductory series about the new features of TempoIQ. If you missed our previous posts, we talked about our motivation for moving from TempoDB to TempoIQ, our new data model around devices, and our real-time monitoring engine.
In this post, we’ll give an overview of our new customer-oriented architecture and how it helps customers achieve scale while keeping their sensor data isolated and their performance consistent.
As we moved from a database service to a sensor analytics backend, one of the things we heard over and over again was that companies needed more isolation around their infrastructure. Due to the critical nature of the data that was stored in our system, these companies wanted something more private than a traditional multi-tenant cloud environment. Our backend can power real-time analytics for anything from turbines to medical devices, and we needed to accommodate those use cases.
As a result, we adapted our architecture to our expanded product. Instead of building TempoIQ as a multi-tenant environment, where one system serves all customers, we built what we call a customer-oriented architecture, where we provide a private cloud to each of our customers that runs separate instances of TempoIQ.
Below is an overview of two key pieces of this architecture: a single-tenant data plane where our customers’ data is isolated and scaled up and down to their needs, and a multi-tenant control plane where we can manage all of our separate customer environments in one place.
Single-Tenant Data Plane
A critical design consideration when building our new infrastructure was that each customer needed their own private environment. As mentioned above, a multi-tenant environment works for many businesses, but critical operational data generated by devices requires more isolation and predictable performance.
In response, we built a system that creates separate instances of TempoIQ for each our customers’ backends. If a customer wants a production and a development environment, for example, we deploy two services that are logically separate from each other. These services are accessed at their own hostname, so Customer X would read and write their data from prod-customerx.tempoiq.com and dev-customerx.tempoiq.com. Each private cloud runs all of the services required to perform sensor analytics, from storage to real-time monitoring to historical analysis.
Multi-Tenant Control Plane
With our customers’ data stored in it’s own environment, we needed a scalable way to manage many different environments across clients and across data centers. Whether our customers wanted staging and production environments, or whether they wanted us to host on-premise, we needed a solution that would fit their use case.
As a result, we built all of our management tools in what we call a multi-tenant control plane, which is comprised of a collection of services that allows us to provision new environments and perform maintenance across each of our customer’s private instances.
One key benefit of our multi-tenant control plane is the ability to deploy to different data centers. Using some of the work we did around intra-datacenter tunneling, we are able to provision TempoIQ and perform maintenance in other cloud environments like AWS or on-premise installations.
We’ve put a lot of thought into how we can give customers the privacy and security of an on-premise solution along with the scalability and convenience of a cloud service. We believe our customer-oriented architecture strikes the right balance, and allows our customers to launch and grow quickly with the peace of mind that their data is safe.
With a new data model, a real-time monitoring engine, and a customer-oriented architecture, we’ve built a sensor analytics backend that can give you the power to build real-time, actionable analytics applications in days and weeks, not months. We look forward to rolling out the new TempoIQ to our customers and are excited to see what they build on top of it.