About Jahia Cloud

January 2, 2024

Product overview

Jahia Cloud enables you to create a fully-dedicated, production-grade platform in a matter of minutes, without requiring technical skills. Jahia Cloud embeds all Jahia products and modules and is fully supported 24/7 by our teams.

Jahia is proud to be a partner with Amazon Web Services (AWS) and OVH for the hosting of its platforms, allowing for a global presence, great cross-region features and a dense grid of Content Delivery Networks for fast and reliable content delivery all around the world. We took the time to automate every aspect of our product's lifecycle so you don't have to, including environment creation, scaling, backup, restore, copy and migration in different regions.

We also know that your sites are critical to your business, so we have partnered with Datadog to provide great platform monitoring and optimization capability, which are bundled in all our Cloud offerings.

Jahia Cloud is built to scale. From small standalone environments to massive clustered Jahia and jExperience instances able to handle millions of visitors, we can accommodate your needs. Our Solutions Architect, Success Manager and Support teams can also provide guidance on the best way to meet your goals and get started with Jahia Cloud.

Multi-tenancy and security

We focused on finding a great balance between infrastructure sharing and cost optimization to make Jahia Cloud available to everyone. What you get is a fully-dedicated software stack (databases, web servers and application servers) on mutualized hardware.

While the hardware is mutualized, clients environments are strictly separated in different networks and storage and no communication can occur between them. With separated software, isolated network and storage, and low-cost thanks to hardware mutualization, Jahia Cloud is meant to be used by companies of all sizes.

We can also accommodate different needs. Do not hesitate to reach out to our sales team to learn more.

Platform monitoring

Jahia and Datadog partnered to deliver the best monitoring experience possible. Datadog is integrated with all Jahia Cloud production platforms and provides key features including:

  • Alerting capabilities (email, text, Slack)
  • Application Performance Monitoring (APM) to provide great insights about performance improvements
  • Custom dashboards for Jahia products
  • Log aggregation

Availability

Jahia Cloud is available in AWS North Virginia, AWS Ireland and OVH France right now. More regions will be deployed soon.

Upgrade policy

We know that forced upgrades are a big constraint and can disrupt your schedule. Your environments are fully dedicated and we rarely request that you upgrade. Upgrades are usually only required when security-related issues occur or your software version becomes unsupported.

Our upgrades requirements are well documented in our migration guides. If you want to upgrade your code and make it compliant with the newest versions of the Jahia products, our Support and Customer Solution teams can help.

Technical stack

Jahia Cloud supports Jahia versions 8.1.2 and higher and uses a combination of Tomcat, clustered MariaDB, clustered GlusterFS, clustered HAProxy and Virtuozzo container orchestration technology. It is hosted on several Amazon Web Services (AWS) or OVH Availability Zones to allow for great availability and redundancy.

All storage is fast SSD-based with provisioned I/Os and high throughput.

The Jahia Cloud dashboard is powered by Jahia.

Quota and Usage Overview

We want to give you visibility about how you use Jahia Cloud, so we've set up some important metrics to help explain your bills. These metrics aren't just for billing – they also show you how you're using Jahia Cloud. We've made sure each metric matches what you're doing, so you're charged fairly for what you use. Now, let's dig into the details of these metrics, like API Calls and Network Bandwidth, to help you understand your Jahia Cloud use better. 

Accessing the usage and quota information in Datadog is straightforward. Simply navigate to Datadog, click on "Monitors," then select "Dashboard List," and finally, search for "Cloud usage metrics."

Metrics : 

Page View means a view of a page on the Customer website that is being tracked by the Jahia Cloud Infrastructure, for example, if a visitor clicks reload after reaching the page, this is counted as an additional page view, and if a visitor navigates to a different page and then returns to the original page, a second page view is recorded as well. Page views are counted only for HTTP status code 200 responses that match the MIME type "text/html", while responses to other status codes (3XX, 4XX, 5XX, etc.) are not considered as page views.

Is not counted as page views:

  • Requests initiated by our monitoring system (Datadog)
  • Requests ending with the URI ".html.ajax"

API Calls means all HTTP requests done using Jahia software provided API by an external Application for non-static resources. Additionally, shall be considered as an API call, a static resource when the call of the related static resource through the provided APIs generates a transformation (e.g., image transformation service). The URI (Uniform Resource Identifier) of the API matches any of the specified patterns:

  • Ends with ".json"
  • Ends with “.xml"
  • Ends with ".do"
  • Ends with “.ajax”
  • Ends with ".jsp"
  • Contains "modules/graphql" in the URI.

Data Transfert Out refers to the data sent from all Jahia servers, determining how much content can be given to users yearly, including outgoing data (visitors, editors, and connectors). It's measured in terabytes (TB). When subscribing to the CDN the outgoing data will be used to get the total value of the Network bandwidth. 

Storage represents the actual amount of storage space consumed by customer data and applications. It's the sum of the data, files, and assets stored on the Jahia Cloud platform.

Log Entries means the number of lines of logs generated by the application servers used by the customer's environment.

jCustomer Events : represents the maximum number of interactions between visitors and the platform, which are stored in jCustomer software. These events can include page views, clicks, downloads, login, but are not limited to this list as customers can capture any custom interaction they might want. 

User means any individual which could be human or machine, who is authorized by the customer to use the Jahia back-office. 

SLA Calculation

Our monitoring system is completely isolated from our architecture and is set up on a third-party monitoring tool called Datadog.

We configured Datadog to request the content of the page /ping.jsp every minute (we call this a synthetic test). The return header status code should be 200 (The request also handles redirection if needed). 

When reading the sentence above, it would seem that this is a very bare minimum monitor.  Checking if the simplest jsp view on earth on a very basic maven module on Jahia returns code 200 seems way too easy and would not help to monitor seriously other aspects of the Jahia products. 

However, behind this very simplistic check underlies a powerful monitoring mechanism that monitors various Jahia services. 

Here is why.

The monitoring system indirectly measures the proper functioning of all the probes available in the healthcheck.  The complete list of probes is available here:

Our SLA is based on the customer's production environment, which is designed for maximum availability with multiple browsing nodes. In the event of a Jahia node failure, only the node with a probe in a "Critical" state will be removed from the infrastructure. If all Jahia nodes are in a critical state, nodes will be removed, and as a result, no nodes will be able to serve traffic to visitors.

Example of SLA Calculation in a Real Case Emergency :

Let's say that one of the probes above detects an issue with one of the features of the Jahia product. Assume a critical issue arose within the Datastore. The corresponding probe will return "RED". 

  1. The corresponding probe (which is critical) turns RED on all Jahia nodes
  2. HAProxy sees that the health check is broken, considers that no Jahia nodes can respond and removes all nodes from the cluster
  3. There is no backend to serve requests, and everything ends up with a 502 error
  4. The /ping.jsp also returns 502 errors because Jahia nodes have been removed from the cluster, hence no nodes are able to respond to the call to /ping.jsp.
  5. This breaks the synthetic monitoring and triggers a critical alert in PagerDuty
  6. The SLA is recalculated based on the detected issue and its severity
  7. The SLA calculation takes into account the severity of the issue detected by the probes, the impact on the overall system, and the time required to resolve the issue.

In this example we can see that an issue with the Database triggered the whole alerting chains making the synthetic ring which triggered the whole on-call support mechanism we have in place within the Jahia support. In this case I’ve chosen the Database probe but the same mechanism applies for any of the probes listed above. 

How do we calculate the downtime used for SLA ? 

Since the synthetic test is running every minute, we are constantly testing Jahia, Augmented Search, and jCustomer. The downtime is the duration between two consecutive failures of the synthetic test.

The key points are:

A synthetic test is run every minute.
If the test fails for 2 consecutive minutes at a single location, a notification is sent. And Jahia Support is notified (24/7)

This means that the monitoring system allows for a single failure before triggering an alert. If the test passes on the first minute but fails on the second minute at the same location, a notification is sent, and the alert status is changed to "alert". 

In summary, the monitoring system sends a notification and sets the alert status to "alert" when a test fails for 2 consecutive minutes at the same location, allowing for a single failure before escalating the issue.
The total downtime is the total duration of consecutive failed synthetic checks.