Architecture
Discover GlassFlow architecture and key components.
Last updated
Discover GlassFlow architecture and key components.
Last updated
© 2023 GlassFlow
The GlassFlow platform is composed of four main components:
Developer Interface: Including Web Application, Command Line Interface (CLI), or Python SDK allows users to interact with GlassFlow’s core functionalities.
GlassFlow API: Acts as the primary entry point for all requests from WebApp, CLI, or Python SDK, handling authentication, and authorization. Through the API, users can create, modify, and manage data pipelines, initiate data transformations, and monitor the status of their real-time data processes.
Serverless Execution Engine: Enables quick execution of Python code in response to events from the message broker and easy deployment of custom functions to the cloud.
The following diagram illustrates and describes the overall data flow in GlassFlow, from pipeline creation to events processing.
The authentication process in GlassFlow, powered by Auth0, provides a secure, efficient, and user-friendly way for users to access the platform through the Web Application or CLI.
Users do not need to deploy their data pipelines manually. The whole process is managed by the GlassFlow platform using containerization (Docker), and orchestration tools (Kubernetes).
When you create a pipeline from a CLI or via the web app, your function code and configuration will be validated and dockerized, a new Docker image is generated, and this image is then submitted to the GlassFlow serverless engine, as part of the deployment process.
When developing a Python-based stream processing application with GlassFlow, you create a new pipeline that defines the flow of data from a source to a destination. You specify the transformation functions that will process the data. The pipeline can be efficiently managed through CLI and visualized in the Web App.
Any modifications to the pipeline configuration in one environment can be seamlessly integrated into another. This capability supports thorough testing of changes in a separate environment before a production deployment.