Evaluation Guide

Platform deployment

Deploying the Genus platform involves setting up the infrastructure where your Genus applications will operate. Unlike Model Deployment, where you deploy applications created using the Genus platform, Platform Deployment refers to setting up the Genus platform itself within your chosen environment.

The Genus deployment architecture is flexible, allowing deployment in any cloud environment, on-premises, or in third-party hosting environments. Genus ensures standardized components across all environments and provides technical resources to help you design your optimal deployment architecture.

    • Infrastructure Requirements:

      • DNS Setup: Maps your domain names to a load balancer.

      • Load Balancer: Any supported choice, such as Azure or AWS default balancers, or MetaILB.

      • Ingress Controller: Examples include Traefik or ALB (Amazon).

      • Kubernetes Cluster: Linux virtual machines (nodes).

      • Database System: Supports a variety of databases, including Microsoft SQL Server, Azure SQL Database, Oracle, DB2, or Amazon Aurora (MySQL).

      • Identity Providers: Genus integrates with a range of ID Providers to ensure secure access to the cluster, supporting enterprise-grade authentication and access control mechanisms.

    • Command-Line Interfaces:

      • Kubernetes CLI: Administrators can deploy and manage Genus microservices, inspect cluster resources, and view detailed logs using Kubectl or similar tools.

      • Helm CLI: Used to manage Genus releases in the Kubernetes cluster.

    • Container Registry:

      • Genus uses an Azure Container Registry to store container images, ready for deployment into your cluster.

    • Genus Operator:

      • Genus Operator simplifies deployment and management of Genus Services, automating tasks such as scaling, monitoring, and configuration within the Kubernetes cluster.

    1. High Availability:

      • Genus leverages Kubernetes’ standard high-availability features, such as Pod Disruption Budgets (PDBs), which ensure application stability by defining how many pods can be unavailable during maintenance or disruptions. These budgets help maintain sufficient pod distribution across underlying nodes.

      • Load balancers, DNS, and ingress controllers are configured for high availability to prevent single points of failure.

    2. Disaster Recovery:

      • Disaster recovery is supported through clusters and databases distributed across multiple regions or availability zones with configuration, data replication, and backups.

      • This can be efficiently achieved with cloud vendors like Azure or AWS, but third-party vendors can also support these setups, as Genus uses standardized technologies.

    3. Application Isolation:

      • Multiple Genus applications can be deployed into separate Kubernetes clusters for maximum isolation.

      • Alternatively, multiple applications can run within the same Kubernetes cluster, separated by Kubernetes namespaces and controlled via Role-Based Access Control (RBAC).

    4. Scalability:

      • Scalability is handled using standard Kubernetes features, including the Horizontal Pod Autoscaler (HPA), which can automatically scale pods for all microservices managed by the Genus Operator.

      • Cloud vendor-specific options, such as Azure’s automatic scheduling of new nodes, are also supported.

    1. Error Detection and Recovery:

      • Standard Kubernetes mechanisms detect failures in Genus microservices and restart them automatically.

      • All microservices are instrumented with metrics in the standard OpenMetrics format, enabling seamless integration with monitoring tools.

      • We provide ready-to-use Prometheus rules to generate alerts based on these metrics, ensuring timely detection and resolution of issues.

      • Events are logged and can be integrated into your monitoring setup for immediate alerts and diagnostics.

      2. Node Repair:

      • Some cloud providers support automatic node repair, ensuring nodes are automatically addressed if they fail or become unresponsive.