The Challenges of Hosting Multiple Applications in the Cloud.

15 April 2024 by Catalyst

At Catalyst, clients frequently approach us with requests to host various applications in the cloud. These requests typically fall into two categories:

1. Hosting multiple versions of the same application (e.g. multiple Moodle sites)

2. Hosting multiple different applications together

Let’s have a look at each scenario, some of their challenges and how they are best managed.

Hosting multiple Moodle instances.

Some of our clients need to host multiple instances of Moodle for different segments/locations of their organisation. This means running several distinct applications designed to function in tandem, each performing unique tasks.

This comes with some obvious challenges such as version control and managing updates, data security and performance monitoring.

However, a lot of organisations are unaware of some of the less obvious challenges and hidden costs – essentially inefficiencies in resource allocation due to doubling up on common technical and administrative tasks.

There are several strategies that we implement to achieve efficiencies in managing and monitoring multiple sites belonging to the same client. The key one is to keep the sites’ code identical wherever possible, streamlining the process of patching and upgrading and therefore optimising costs.

There are limits to these efficiencies which are in part due to whether your sites are in single or multiple regions and whether they have many variations between them.

Sites with regional variations.

For clients requiring sites with minor regional variations, such as theming or additional plugins, we utilise a strategy involving a common upstream Git repository. This repository receives all upgrades and security patches, while individual branches cater to site-specific customisations. Catalyst’s sophisticated continuous integration pipelines ensure synchronisation and simplify deployment by applying upstream updates and individual branches on a per-site basis.

A significant advantage of this approach is the robust isolation it provides between sites, preventing administrators from one site from accessing another. However, this isolation can complicate the sharing of content between Moodle instances. Course backup and restoration, especially for modern courses with extensive media, can be cumbersome and not an ideal way to manage multiple completions for single users.

Upon request, we do offer services to bulk export and transfer courses between Moodle sites and we recommend building internal capability to understand and do this. Additionally in certain situations (internal vs external audiences) we suggest that clients upgrade from Moodle to Moodle Workplace to make use of the multi-tenancy options available.

Some of the challenges in hosting multiple applications with major regional variations include:

  • Data regulations – having to comply with various regional regulations regarding data storage, security and privacy
  • Cost management – maintaining your sites’ performance and various compliance requirements while trying to optimize costs is challenging and potentially best left to experts who are experienced in complicated cloud hosting and management
  • Performance – latency (slower server response times) can be an issue, due to server proximity, and can impact your user experience. Network connectivity is another factor that can affect performance and user experience.
  • Language and culture differences – these may affect the choices you make not just around content translation but overall design of your user interface and features

A robust infrastructure, localisation and resource allocation plan supported by a knowledgeable team will help deliver the critical elements in a multi-region application hosting scenario.

Using a containerised application hosting approach.

Catalyst uses a containerised application hosting approach. This allows us to put each site in it’s own independent scaling group. The key benefit is that we can separate similar sites by potential load requirements and support needs.

For example, one site that is constantly busy can scale automatically and access additional resources to remain performant and meet user expectations; while a second site for the same client can be significantly less busy and not require the same resource allocation. By using containerised hosting we can apply appropriate resources to each site and maintain a scaling policy that fits with the on and off periods of each site.

Achieving economies of scale for Moodle users.

Catalyst has used this isolated environment approach to host near identical copies of Moodle all over the globe, allowing local administrators the flexibility to manage their own users and content, while also keeping the application fast and local to the end users.

Hosting multiple different applications together.

Hosting multiple, distinct applications in the cloud presents its own set of challenges but can result in a high-value, superior user experience when executed correctly.

Here are some things to consider:

Theming

Consider Moodle, Mahara, and WordPress – three applications that, out of the box, appear very different. A crucial first step is to unify their appearance through custom theming aligned with your branding guidelines, thereby standardising the look and menu structure across all three applications.

Authentication

In environments rich in media and learning content, seamless authentication is essential. The inconvenience of managing separate usernames and passwords for each site is eliminated by implementing Single Sign-On (SSO) solutions, leveraging either a preferred organisational identity provider (like Google or Azure) or a locally hosted solution such as SAML.

Integration

Apart from SSO, further integration can be achieved through leveraging the web services offered by each application, enabling the exchange of information such as profile syncing, course enrolment from WordPress to Moodle, or course data sharing between Moodle and Mahara. The possibilities for integration are vast.

Data analytics

Data analytics, particularly in scenarios involving multiple applications, can be challenging due to the separation of data. Catalyst can facilitate data analysis by providing nightly database backups for ingestion into a data lake or by installing each application into independent PostgreSQL schemas within the same database.

This approach maintains strong data isolation while allowing tools like PowerBI or Metabase to perform real-time, read-only SQL queries across all datasets.

Cyber security

Maintaining the security of internet-facing applications necessitates regular updates, often leading to temporary downtime. This can be particularly disruptive when applications are closely integrated. Catalyst addresses this issue by employing CI/CD pipelines capable of placing all applications into maintenance mode or displaying a maintenance page during scheduled updates, minimising inconvenience.

By tackling these challenges, Catalyst ensures a streamlined, secure, and cohesive hosting environment for our clients who need to host multiple applications in the cloud.

A certified AWS partner, we provide 24/7 Follow the Sun support and are trusted by major organisations around the world including universities, colleges, registered training organisations, as well as major organisations in health, non-for-profit, government and commercial sectors.

For more useful tips on cloud hosting check out the blogs below:

What is cloud automation and orchestration?

Understanding managed service in the cloud

Are you paying enough attention to your AWS spend? A few tips on how you can save thousands.

Data protection with cloud backup as a service

Cloud computing risk and mitigation