Platform.sh User Documentation

Dedicated Gen 2 Overview

Try for 30 days
Flexible, version-controlled infrastructure provisioning and development-to-production workflows
Activate your trial

Dedicated Generation 2 is a robust, redundant layer. It’s well-suited for those who like the Platform.sh development experience but need more resources and redundancy for their production environment.

Dedicated Generation 2 consists of two parts: a development environment and a Dedicated Gen 2 cluster.

Key features Anchor to this heading

  • High Availability: 99.99% SLA (service-level agreement) with Enterprise or Elite
  • Dedicated hosts: Each DG2 cluster is provisioned with 3 dedicated hosts as the typical configuration
  • Headless architecture: Seamless headless architecture with multi-app support
  • Isolation: On DG2, services run as processes on the base operating system (OS)
  • Storage: Storage allocation between mounts, DB and services is done through Platform.sh once a ticket is raised. Storage management is not self-service

Dedicated Generation 2 vs Grid Anchor to this heading

Much of the tooling used on Grid is used for DG2, but there are still some differences. Please find a list of the similarities and differences between these two environments below: 

Feature Dedicated Generation 2 Grid
Source Operations Yes Yes
PHP version upgrade Self-service via yaml config files Self-service via yaml config files
Node.js version upgrade Self-service via yaml config files Self-service via yaml config files
Cron management Self-service via yaml config files Self-service via yaml config files
Web server internal config : locations Self-service via yaml config files Self-service via yaml config files
CDN Fastly A managed Fastly CDN service can be purchased through Platform.sh
Dedicated IP Yes No
Configuration management Split responsibility between Platform.sh and customer only yaml files
Usable regions Any region needed Only the publicly available
Autonomous upsize Managed through Platform.sh Yes
Autoscaling Yes No
Upsize or Downsize methods No downtime - each instance is altered in a rolling fashion Redeploy - possible downtime depending on the hooks
Production branch Managed by Platform.sh Self-service
**Multi availability zones ** Yes No
New Relic APM + New Relic infrastructure APM Supported only
Multi-app support Supported through docroots Supported natively.
Routes management Managed by Platform.sh Self-service
Environment clone Only on development environments Yes on all branches
Services : Add, remove, upgrade Managed by Platform.sh Self-service
Relationships : Add, remove, update Managed by Platform.sh Self-service
Workers management Managed by Platform.sh Self-service
Web server internal config : domains Managed by Platform.sh Self-service
Storage allocation between mounts, DB and services Managed by Platform.sh Self-service
Cron tasks interrupted by deploys Yes: a deploy will terminate a running Cron task No: a running Cron task will block a deployment until it is complete
Log exports Managed by Platform.sh with Rsyslog exports and Fastly log exports Log forwarding feature and Fastly log export also available
Sync and merge functionalities Only on development environments Yes on all branches
SLA 99.99% with Enterprise or Elite 99.9% with Enterprise or Elite
Infrastructure Dedicated 3 node cluster Containers with dedicated resources on top of a shared redundant infrastructure
Functioning 3 nodes are running all applications and services and are replicated A single container is deployed per runtimes and per services
Resources allocation Resources deployed on 3 nodes Resources are spread through the container with fixed sizes after deployment
MySQL Replication Yes: 3 services nodes cluster None: standalone service container
Redis Replication Yes: 3 services nodes cluster None: standalone service container
High Availabilty (HA) Yes No
Split Architecture Yes No
Storage Local disks are accessed either locally or via glusterfs 100 GB self service max (can be extended upon request)
Automated backup Yes Yes
Custom domains name On all branches for Enterprise or Elite customers On all branches for Enterprise or Elite customers
MongoDB Not supported Standalone service container

Dedicated Gen 2 vs Dedicated Gen 3 Anchor to this heading

Just like Dedicated Gen 3, Dedicated Gen 2 ensures increased uptime and availability for your apps and services. But as a Dedicated Gen 2 user, you have to go through the Platform.sh Customer Success team to make configuration or application topology changes.

To understand the differences and similarities between Dedicated Generation 2 and Dedicated Generation 3, please head to Dedicated Gen 3 vs Dedicated Gen 2.

Optional features Anchor to this heading

You can enable the following features on your Dedicated Gen 2 projects, as well as multiple availability zones. To enable an optional feature or get more information on potential fees, contact Sales.

Multiple applications Anchor to this heading

You can create multiple apps within a single project so they can share data. This can be useful if you have several apps that are closely related, such as a backend-only CMS and a frontend system for content delivery and display.

For more information, see how to configure multiple apps in a single project.

Staging environments  Anchor to this heading

A dedicated single-node staging machine is provisioned for your application with an identical software configuration to your production hardware, but reduced hardware specs. This gives the advantages of isolating the staging load from the production hardware as well as having an identical software configuration to perform UAT, but this option doesn’t provide a bed for performance testing as the physical hardware configuration isn’t the same as production.

Additional application servers  Anchor to this heading

For especially high-traffic sites we can also add additional application-only servers. These servers contain just the application code; data storage services (such as SQL, Solr, Redis) are limited to the standard three. The cluster begins to look more like a standard N-Tier architecture at this point, with a horizontal line of web application servers in front of a 3 node (N+1) cluster of Galera database servers.

Speak to your sales representative about the costs associated with adding additional application servers. This configuration requires a separate setup from the default so advanced planning is required.

SFTP  Anchor to this heading

In addition to SSH accounts, you can create SFTP accounts with a custom user/password that are restricted to certain directories. These directories must be one of the writeable mounts.

There is no cost for this configuration, and you can request it at any time via a support ticket. SSH public key based authentication is also supported on the SFTP account.

See how to transfer files through sftp.

Error handling  Anchor to this heading

On Grid projects, incoming requests are held at the edge router temporarily during a deploy. That allows a site to “respond slowly” rather than be offline during a deploy, provided the deploy time is short (a few seconds).

On Dedicated Gen 2 projects, incoming requests aren’t held during deploy and receive a 503 error. As the Dedicated Gen 2 cluster is almost always fronted by a CDN, the CDN continues to serve cached pages during the few seconds of deploy, so for the vast majority of users there is no downtime or even slow down. If a request does pass the CDN during a deploy, it isn’t counted as downtime covered by our Service Level Agreement.

By default, Platform.sh serves generic Platform.sh-branded error pages for errors generated before a request reaches the application. (500 errors, some 400 errors, etc.) Alternatively you may provide a static error page for each desired error code via a ticket for us to configure with the CDN. This file may be any static HTML file but is limited to 64 KB in size.

Remote logging  Anchor to this heading

Dedicated Gen 2 supports sending logs to a remote logging service such as Loggly, Papertrail, or Logz.io using the rsyslog service. This is an optional feature and you can request that it be enabled via a support ticket. Once enabled and configured your application can direct log output to the system syslog facility and is replicated to the remote service you have configured.

When contacting support to enable rsyslog, you need:

  • The name of the remote logging service to use.
  • The message template format used by your logging service.
  • The specific log files you want forwarded to your logging service.

There is no cost for this functionality.

IP restrictions  Anchor to this heading

Platform.sh supports project-level IP restrictions (allow/deny) and HTTP Basic authentication. These may be configured through the development environment and are automatically replicated from the production and staging branches to the production and staging environments, respectively.

Changing access control triggers a new deployment of the current environment. However, the changes aren’t propagated to child environments until they’re manually redeployed.

Updates Anchor to this heading

Platform.sh updates the core software of the Dedicated Gen 2 cluster (operating system, web server, PHP, MySQL, etc.) periodically, and after any significant security vulnerability is disclosed.

These updates are deployed automatically with no additional work required by you. We attempt to maintain parity with your development environment, but we don’t guarantee absolute parity of point versions of your Dedicated Gen 2 Environments with their corresponding development environments. For example, your development environment may have a PHP container running 8.1.30, but your production environment may lag behind at 8.1.26.

We can upgrade point releases on request and always upgrade the underlying software in the event of security release.

Updates to application software (PHP code, JavaScript, etc.) are the responsibility of the customer.

Is this page helpful?