Evaluation Guide

Model deployment

The Genus application model, or “app model”, is a description of the business functionality in your application. Your end-users are using the published version of the application model in their application. Thus, by deploying an application model in Genus, you publish a version and make it accessible to the end users.

  • Genus uses a blue-green approach for application model deployment. Blue-green deployment means running two parallel environments and choosing which environment the users should be routed to.

    This approach minimizes downtime and the risks involved in deployment by:

    • Making it possible to test and verify the deployment before users are routed to the environment; and

    • Enabling rollback to earlier model version quickly in case of critical error.

  • A Kubernetes namespace is a way to organize the Kubernetes clusters into virtual sub-clusters. A typical Genus application model is contained in four Kubernetes namespaces that host Genus microservices:

    Origin: Directly reads the source application model, and is continuously up-to-date with all changes

    Blue: Reads the application model from the blue model deployment

    Green: Reads the application model from the green model deployment

    Operator: Contains the Kubernetes operator, handling the restart of microservices in blue and green as well as routing to the currently active namespace. The operator namespace also stores user sessions, so that they are preserved when routing is changed between green and blue.

    Origin, blue and green namespaces each host a complete set of Genus microservices (see Runtime Architecture), and can run independently of each other. This means that it is possible to scale down namespaces not currently in use.

    The end-users are routed to either the blue or green namespace, depending on which of them is set as the active namespace.

  • The deployment process of an application model thus involves the following steps:

    1. The business engineer working in Genus Studio makes changes to the application model. When ready, the business engineer initiates deployment of the current application model to the current passive namespace.

    2. The Operator automatically restarts Genus Services in the passive namespace, and the new application model is interpreted. The business engineer and other test personnel can now verify the changes in the passive namespace before making it available to all users.

    3. The business engineer orders a switch of the active namespace (e.g. from blue to green) at a desired time.

    4. At this point, the Operator automatically changes the ingress to route the users to the new active namespace.

    All deployment activities are automatically logged by the Genus platform and are accessible for revision.