Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: General edits. Added Reference Deployment Environments section for future completion

...

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.

====NOTE - IN PROGRESS of CHANGES - April 26, 2018 =====


Hosting Environment Choices

Generally hosing environments will include some set of the following alternatives:

...

FOLIO has been designed and developed with PostgreSQL as the default database engine, although using Postgres isn't mandatory. Postgres is not the most widely adopted database - less common than products such as Oracle, SQL Server or even MySQL. For this reason sites will have to may consider which database they want to use under the hood of FOLIO, however, replacing Postgres is not a task to be taken lightly.

Orchestration Tools

Orchestration tools automatically deploy, scale and manage containerized applications.

...

Kubernetes is very complex in installation and maintenance. It is designed for medium to big deployments. We Some might consider it too heavy-weighted for a single library. But it might be an appropriate tool for a consortia hosting many tenants in a computer center. 

Docker Swarm

Released in July 2016. Initially shipped as part of the Docker Engine in version 1.12. Docker Swarm is free to use in the Docker Community Edition and commercial support is available as part of Docker Enterprise edition offered by Docker, Inc.

Docker swarm is simple relatively straightforward to set up. Docker swarm is a great may be the best option if simplicity is a primary requirement.

Docker Swarm services are defined by Docker Compose files. A compose file brings up a group of containers on a single machine and can also be run across many machines. A compose file is specified in YAML.

...

Orchestration Tools: Public Cloud

Note that all tools that are available as on-premise are also available in public cloud environments, since one can use the public cloud as a blank canvas of raw computing.


Public Cloud Solutions

Public Cloud providers will vary in their products and what technologies they support in their proprietary offerings. As mentioned above, it can be assumed that you could treat public cloud as "bare metal", but more likely a site will take advantage of packaged capabilities that improve the value proposition for using public cloud infrastructure. This packaging along with proprietary toolsets and capabilities will differentiate public cloud providers from each other as well as from on-premise capabilities. 

Amazon Web Services (AWS)

AWS is the public cloud services giant. It offers a . It supports many technologies and has perhaps the largest number of proprietary services. The list below outlines some of the choices a site would have within AWS.

  • Container Orchestration:
    •  It offers a proprietary AWS container orchestration solution called ECS (Elastic Container Services), which is not based on Kubernetes, Swarm or Mesos.

...

    •  
    • It also offers a version of ECS that is based on Kubernetes called Amazon EKS
    • As mentioned below sites can choose to use any container orchestration solution if they want to configure and run it themselves within AWS.
  • Database: 
  • Compute: 
    • Docker Images stored in ECR.
    • Docker containers running in ECS.  
  • Networking: 
  • Frontend:
  • Logging/Monitoring:

IBM

...

Software

Microsoft Azure

Google Cloud Engine

...

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.


Reference Deployment Environments

Below are descriptions of reference deployments:

FOLIO-Stable

  • Container Orchestration:
  • Database: 
  • Compute: 
  • Networking: 
  • Frontend:
  • Logging/Monitoring:

FOLIO-Performance

  • Container Orchestration:
  • Database:
    •  
  • Compute:
    •  
  • Networking:
    •  
  • Frontend:
  • Logging/Monitoring:



...

Sources:

...