ECMWF Newsletter #164

Introducing Sites: static websites as a service

Manuel Martins

 

‘Sites’ is a new service that allows ECMWF staff to create and expose static content, internally or externally, in a secure, uniform and reliable way without any technical support. A static website does not use any external database and is fully coded in Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS), using JavaScript and images, where changes are rare, making it easy to cache.

Motivation

ECMWF provides a vast range of web services for multi-purpose use. These include tools such as Drupal, Confluence, FTP, Microsoft Teams, etc. But there are occasions when people need to host HTML or large files on a web server and expose these both internally and externally. Such content is not necessarily suitable for the existing services. As a result, over the years it has often been disseminated through unsuitable channels or has been misplaced, making it difficult to identify, access and manage.

Many ECMWF staff currently host, in one form or another, a website for their own convenience. This enables them to share, within a team or department, charts, experimental results, benchmarking etc. However, many of these websites are run on desktops, which results in a lack of internal and external exposure, conventional subdomains, security, proper storage, monitoring, etc. Use cases identified over the years include:

  • Sharing static charts, results or reports with internal and external users
  • Storing or providing eLearning content
  • Storing or sharing documentation such as reference manuals
  • Storing content from legacy services
  • Sharing large files accessed over HTTPS from a web interface.

These use cases were consolidated while gathering requirements for the migration of computing services and facilities to ECMWF’s new data centre under construction in Bologna, Italy.

Sites Hub screenshot.
Sites Hub screenshot. The Sites Hub helps users to find sites of interest through a free text search facility.

How it works

Over the last few months, a platform to support these requirements has been developed on top of the application deployment and management platform Kubernetes, following a cloud native approach. The main portal, the Hub, is a centralized application which aggregates and manages all websites. Here, it is possible to navigate through the list of all available websites. Each website is independent and has its own web server, web application programming interface (API), web administration interface and storage. The web API and web administration interface are the content management tools and allow users to update the website whether they are running automated tasks (using the web API) or simply dragging and dropping files (using the web administration interface).

A website can be either private or public. If a website is private, proper authorisation will be needed to access its contents. Each website can be configured with a list of users or policies/groups that can manage and/or view the content of that website. Users log in using their ECMWF credentials. Creating new websites is quick and easy. All requests for new websites are validated by ECMWF’s web management team and in some cases users might be redirected to a more appropriate service. A retention date is specified as part of the website creation process and is reviewed once it has expired. This is important in cases where the website has a pre-defined lifetime, e.g. because it is linked to a project. The site can then be decommissioned soon after.

Current status

Sites has been in production since April 2020 and currently hosts more than 20 websites, some of which are operational while others are just proofs of concept.

Some of the public websites that have already been migrated to Sites are: