Tech Architecture
Last updated
Last updated
The Nected platform is engineered as a task-oriented architecture, designed to efficiently execute backend logic flows in a no-code/low-code environment. This architecture is a harmonious interplay of various components, each serving a distinct yet integral role in the system's overall functionality.
1. Overall Architecture:
Fundamental Approach: Nected adopts a task-oriented approach where backend logic flows, created through the Nected console, are executed as a chain of tasks. These tasks, ranging from simple CRUD operations to complex user segmentations, can be executed independently by any worker within the system.
Execution Engine: At the core of Nected is its execution engine, responsible for carrying out the backend logic flows at scale. This engine is pivotal in ensuring the platform's scalability and high-performance capabilities.
2. Core Components:
Router Service:
Functionality: This lightweight GoLang service handles API/webhook triggers for backend logic flows. It is responsible for validating requests, applying throttling, and authenticating incoming requests. Upon validation, it triggers execution using temporal technology and awaits responses.
Accessibility: The Router Service is the entry point to the cluster, with all other services being internal. It is only accessible through Load Balancer / API Gateway from outside of network.
Task Manager:
Technology: We have used Temporal, an open-source durable execution framework, for managing tasks and task queues.
Role: The Task Manager interfaces with a Temporal cluster, which uses Cassandra as a persistent store, facilitating efficient task execution and management.
Executor Service:
Capabilities: Another lightweight Golang service, the Executor Service is responsible for fetching and executing tasks. It independently scales to maintain high scalability and is tasked with executing functions such as fetchData, callAPI, and executeRuleCondition.
Scalability: Configured to scale as required, it contributes to the overall flexibility and adaptability of the Nected platform.
3. Deployment and Fault Tolerance:
Deployment on Kubernetes: All services within Nected are deployed on a Kubernetes cluster. This choice of infrastructure underlines the platform's emphasis on scalability and reliability.
Fault Tolerance: Each service is designed to be fault-tolerant, ensuring the platform's resilience and uninterrupted operation.
4. Performance Benchmarking Setup:
Objective: The aim was to benchmark a Kubernetes cluster capable of handling ~300rps throughput with specific Cassandra configurations.
Configuration Details: The Router Service was configured with a minimum of 2 and a maximum of 8 pods, each equipped with 200m CPU and 512MB memory.
In conclusion, the Nected platform’s architecture is a well-orchestrated system of services, each optimized for performance and scalability. This architecture not only enables efficient execution of backend logic flows but also ensures high availability and resilience, making Nected a reliable solution for various no-code/low-code backend applications.
Nected is built for mission-critical, customer-facing flows and is highly scalable and performing. We aim to respond under 200-500ms depending on complexity of the rules. We had performed our own load testing benchmarks, published here.
Nected is further horizontally auto-scalable and infra can be fine-tuned once at time of setup or afterwards, depending on peak anticipated load.