...
FOLIO is a system built on micro-services, designed for a multi-tenant cloud environment. Having said that, some institutions will choose to deploy FOLIO on premise and the community can expect a wide range of deployment environment and mechanisms. This page will describe some of the issues that need to be understood and the choices around those issues. We will also label what are felt to be best practices when possible.
Folio Platform Architectural Diagram
Hosting Environment Choices
...
OpenStack is an open source cloud computing platform. It is written in Python. It has a large number of components and is known to be very complex. The component for Docker orchestration in OpenStack is called Magnum.
OpenShift
OpenShift is the open source "enterprise kubernetes platfrom" by RedHat. It is built on top of Kubernetes running on RHEL. It governs applications in productive hybrid-cloud environments. Red Hat OpenShift Container Platform is a validated and certified Kubernetes solution. It can be run on-premise or in a public cloud.
Continuous Delivery
Continuous delivery solutions help to avoid downtimes for upgrades and installing patches. In a microservice environment, it might be a frequent task to exchange a container. Continuous delivery helps you manage such repeatable deployments without a downtime.
Spinnaker
An open source, multi-cloud continuous delivery platform is Spinnaker. Spinnaker helps you release software changes with high velocity and confidence.
It does so by using Pipelines as deployment manager construct. A pipeline is a sequence of stages. A stage can be a function to manipulate the infrastructure, like to deploy, resize (scale up or down), clone or disable a cluster. A Cluster in Spinnaker is a logical grouping of server groups. A server group identifies the deployable artifacts (VM image, Docker image etc.) in the cloud and a basic configuration setting. When deployed, a server group is a collection of instances of the running software (VM instances, Kubernetes pods etc.).
Spinnaker is installed on a Kubernetes cluster or on a single machine which uses Debian packages (the latter for smaller deployments). Spinnaker uses Halyard, which can be installed on Ubuntu, Debian or MacOS (virtual) machines or on a Docker container. Spinnaker is designed to be built on top of a public coud provider (AWS, Azure, DC/OS, Google Cloud, Kubernetes Cluster, OpenStack). Spinnaker deploys your applications via an account enabled by a cloud provider.
Reference Deployment Environments
...