đŸ—ī¸ Architecture

The diagram below illustrates the content and management approach of the Kubefly Operator.

In red, you can see the content responsible for the frontend and backend.
In blue, you can see everything related to handling Kubernetes native content.
In green, you can see the content managed and controlled by the Kubefly Operator.

Each Kubernetes resource is created and managed within a Kubernetes namespace named after the project ID.

architecture

The architecture design aims to operate within the Kubernetes ecosystem, focusing on simplifying and managing container deployments. Here is a high-level view of its main components:

  • Frontend System: Developed using Next.js, the frontend provides the user interface. Its primary role is to facilitate user interaction and input, and to pass requests to the backend for processing.
  • Backend System: The backend is driven by NextBaaS, acting as the central processing unit. It interprets requests from the frontend and manages the necessary API calls and interactions within the Kubernetes environment.
  • Kubernetes Cluster Interaction: The backend is responsible for coordinating various elements within the Kubernetes cluster. A key function is the creation and management of namespaces, isolating projects to maintain an orderly and independent operational environment.
  • Custom Resource Management (Rollouts): Rollouts, as custom resource definitions (CRDs) in Kubernetes, are managed by the backend. These are the core of the deployment and operation processes, serving as customized objects for system requirements.
  • Kubefly Kubernetes Operator: This component simplifies interactions with Kubernetes. It automatically handles multiple native Kubernetes objects and processes, including deployments, scaling, and resource allocation. The operator is crucial for simplifying complex tasks and ensuring the system runs efficiently.
  • System Scalability: The architecture design considers scalability, leveraging Kubernetes' capabilities to handle various workloads and adjusting according to the scale and needs of different projects.

The architecture aims to simplify the container deployment process, providing an efficient and manageable system that fully leverages the advantages of Kubernetes, Next.js, and NextBaaS.