-
Notifications
You must be signed in to change notification settings - Fork 334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
4221 improvements to dedicated docs #4249
base: main
Are you sure you want to change the base?
Changes from 9 commits
429aa62
e73609b
b1bda5e
2daf6d6
470d5ad
9d64f7d
7b946a5
b4e5db9
723a26e
45c45ae
47b6c3e
c790d73
4981733
00a07c9
539f6d0
135daaf
133029c
2c6889d
3f08678
b7aced6
20817b5
8bc231c
83c2cf3
4266bda
51ccab0
a7c2a3f
d544755
644b65d
f8a8de0
d3a9836
4fefe44
d1d75aa
7357bae
2723cfa
9d98db8
66cd2d4
123c6a8
ea837ef
6d077cb
af6928f
d5fe642
6dd8cf5
66173ed
7a928bf
c23e11d
77a62ae
e51f049
50f7d8c
5a02815
7e650d3
fe0ae8d
b2783e9
5918b91
aad916a
6155fd6
4fdd930
6ff2b3d
5457cba
237bb5a
79839c5
7fe420e
3d50eb7
5b67a30
beeeccf
0afba11
13a6328
48895f7
ffb4811
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
title: "Dedicated environments" | ||
weight: -18 | ||
# layout: single | ||
description: "Our Dedicated environments provide increased resources and high availability for organizations that require higher security, better compliance, robust storage and isolated hosting." | ||
--- |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
--- | ||
title: "Dedicated backup and restores" | ||
weight: 1 | ||
sidebarTitle: "Dedicated backups" | ||
layout: single | ||
description: "Backups are retained for different periods depending on various factors and whether you’re using a Dedicated Gen 2 or Dedicated Gen 3 environment. These processes can be either manual or automated." | ||
--- | ||
|
||
{{% description %}} | ||
|
||
|
||
## Dedicated Generation 2 Backups | ||
|
||
Platform.sh takes a byte-for-byte snapshot of Dedicated Gen 2 production environments every 6 hours. Backups are retained for different durations depending on when they’re taken. | ||
|
||
|When taken |Retention | | ||
|----------------|---------------------| | ||
| Days 1–3 | Every backup | | ||
| Days 4–6 | One backup per day | | ||
| Weeks 2–6 | One backup per week | | ||
| Weeks 8–12 | One bi-weekly backup| | ||
| Weeks 12–22 | One backup per month| | ||
|
||
Backups are created using snapshots saved to encrypted elastic block storage (EBS) volumes. An EBS snapshot is immediate, but the time it takes to write to the storage service depends on the volume of changes. | ||
|
||
- Recovery Point Objective (RPO) is 6 hours (maximum time to last backup). | ||
- Recovery Time Objective (RTO) depends on the size of the storage. Large EBS volumes take more time to restore. | ||
|
||
These backups are only used in cases of catastrophic failure and can only be restored by Platform.sh. To request a restoration, open a [support ticket](https://docs.platform.sh/learn/overview/get-support.html). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Dedicated Generation 2 restoration | ||
|
||
The restoration process for Dedicated Generation 2 environments may take a few hours, depending on the infrastructure provider in use. In the ticket, specify if you want backups of files, MySQL, or both. Uploaded files are placed in an SSH-accessible directory on the Dedicated Gen 2 cluster. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I'm going to assume what we're referring to here is the chosen provider for the region the customer selected? In the Dedicated Gen 2 Overview page we don't reference "infrastructure provider" anywhere, only that they can choose any region. For "infrastructure" we state "Dedicated 3 node cluster". We should clarify what we mean here and/or connect it back to other docs that clarify our meaning. |
||
|
||
MySQL is provided as a MySQL dump file on the server. You may restore these to your site at your leisure. You are also free to make your own backups using standard tools (mysqldump, rsync, etc.) at your own leisure. | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
{{< note title="Note" theme="info" >}} | ||
|
||
Platform.sh does not proactively overwrite your production site with a backup. You are responsible for determining a “safe” time to restore the backup, or for selectively restoring individual files if desired. | ||
|
||
{{< /note >}} | ||
|
||
## Dedicated Generation 3 | ||
|
||
For Dedicated Generation 3 environments, [automated backups](https://docs.platform.sh/environments/backup.html#use-automated-backups) are retained for a specific amount of time depending on their type and your [backup schedule](https://docs.platform.sh/environments/backup.html#backup-schedule). [Manual backups](https://docs.platform.sh/environments/backup.html#create-a-manual-backup) are retained until you delete them or replace them with another backup. | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|Type |Basic |Advanced |Premium | | ||
|----------------|---------------------|-----------------|-----------| | ||
| 6-hourly | - | - |1 day | | ||
| Daily | 2 days | 1 week |1 month | | ||
| Weekly | - | 4 weeks |- | | ||
| Monthly | - | 1 year |1 year | | ||
|
||
|
||
## Dedication Generation 3 restores | ||
|
||
Dedicated Generation 3 environments allow for backups and restores the same way as Grid, so you can use them with the web console and the [Platform.sh CLI](https://docs.platform.sh/administration/cli.html). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. since we've moved this doc location, should we add a redirect for it in routes.yaml? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
--- | ||
title: "{{% names/dedicated-gen-2 %}}" | ||
weight: -18 | ||
weight: -19 | ||
description: "{{% names/dedicated-gen-2 %}} is a robust, redundant layer. This section contains all resources concerning the {{% names/dedicated-gen-2 %}} product." | ||
--- |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
title: "Dedicated Gen 2 Development" | ||
weight: 1 | ||
sidebarTitle: "DG2 development" | ||
description: "Learn about the cluster infrastructure of Dedicated Generation 2, and discover key details about split architecture, deployment, storage limits and memory." | ||
|
||
--- | ||
|
||
Learn about the [cluster infrastructure](#cluster-infrastructure) of Dedicated Generation 2, and discover key details about [split architecture](#split-architecture), [deployment](#deployment), [storage limits](#storage) and [memory](#memory). | ||
|
||
### Cluster infrastructure | ||
|
||
Dedicated Gen 2 clusters are launched into a Triple Redundant configuration consisting of 3 hosts. This is an N+1 configuration that’s sized to withstand the total loss of any one of the 3 members of the cluster without incurring any downtime. Every service is replicated across all three hosts in a failover configuration (as opposed to sharding), allowing a site to remain up even if one of the hosts is lost entirely. | ||
|
||
Each instance hosts the entire application stack, allowing this architecture superior fault tolerance to traditional N-Tier installations. Moreover, the Cores assigned to production are solely for production. | ||
|
||
The build process for your application is identical for both the Development Environment and the Dedicated Gen 2 cluster. However, because the hosts are provisioned by Platform.sh, not as a container, service configuration must be done by Platform.sh’s Customer Success team. By and large the same flexibility is available but only via opening a [support ticket](https://docs.platform.sh/learn/overview/get-support.html). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
For more information, learn about [default storage settings](https://docs.platform.sh/dedicated-gen-3.html#storage) and how your app can [connect to services](https://docs.platform.sh/dedicated-gen-3.html#available-services). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
### Split architecture | ||
|
||
Split architecture works under Dedicated Generation 2 and allows to give more resources globally to a project. Services (data services, caching service, search engines, …) are split from application runtimes. Services will be running on a cluster of core nodes, and the application will be running on a cluster of web nodes. | ||
|
||
This allows us to grant more room for the application or the services regarding resources. Both clusters can differ in size. Split-architecture clusters can horizontally scale the application by adding additional nodes. | ||
|
||
![Split architecture](/images/dedicated/split-architecture.svg "0.50") | ||
|
||
### Deployment | ||
|
||
The production branch of your Git repository is designated for production and a staging branch is designated for staging. Any code merged to those branches automatically triggers a rebuild of the production or staging environment in the Dedicated Gen 2 cluster. | ||
|
||
Any defined users or environment variables are also propagated to the Dedicated Gen 2 cluster. | ||
**Note**: There is no automatic cloning of data from the Dedicated Gen 2 cluster to the Development Environment the way there is between branches in the Development Environment. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we usually break out "Notes" into a separate with the note shortcode. Is there a specific reason we don't do that here? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed - @Kemi-Elizabeth it would be better to put in this format. |
||
|
||
Production data may still be replicated to the Development Environment manually. Deployments of other branches don’t trigger rebuilds of the Dedicated Gen 2 cluster environments. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we link to the docs on how to do this manually? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
#### Deployment process | ||
|
||
When deploying to the Dedicated Gen 2 cluster the process is slightly different than when working with Platform.sh on the Grid. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. here we refer to it as "Grid" but then the next line we refer to to it as "Platform.sh Professional". There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should refrain from using the term Grid. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think for now I'm sticking to Grid as that's what we have in a majority of pre-existing documentation, but I do agree that there should be a gradual shift over to the overall usage of Professional (or another agreed term) if it's what is preferred for customer facing documentation :) |
||
|
||
- The new application image is built in the exact same fashion as for Platform.sh Professional. | ||
- Any active background tasks on the cluster, including cron tasks, are terminated. | ||
- The cluster (production or staging) is closed, meaning it doesn’t accept new requests. Incoming requests receive an HTTP 500 error. | ||
- The application image on all three servers is replaced with the new image. | ||
- The deploy hook is run on one, and only one, of the three servers. | ||
- The cluster is opened to allow new requests. | ||
|
||
The deploy usually takes approximately 30-90 seconds, although that is highly dependent on how long the deploy hook takes to run. | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
During the deploy process the cluster is unavailable. Nearly all Dedicated Gen 2 instances are fronted by the Fastly Content Delivery Network (CDN). Fastly can be configured to allow a “grace period”, meaning that requests to the origin that fail are served from the existing cache, even if that cache item is stale. We configure a default grace period that is longer than a typical deployment, and can extend that time upon request. That means anonymous users should see no interruption in service at all. Authenticated traffic that can’t be served by the CDN still sees a brief interruption. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we say "nearly all Dedicated Gen 2 instances" have fastly here but in the overview comparing Gen 2 to we state that all Gen 2 come with fastly. Is there a reason we state "nearly" in this section? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Kemi-Elizabeth this is a good question to follow-up on and maybe place a note to define nearly, as I don't know the answer here either. |
||
|
||
For more information about deployment, see the [overview of the build and deploy phases](https://docs.platform.sh/learn/overview/build-deploy.html). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
### Storage | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if we're reading the docs in order, we haven't read the Environment Differences section to know that development environments are on the grid, which makes this section on storage particularly confusing. |
||
|
||
The Development Environment for a Dedicated Gen 2 project provides production and staging branches linked to the Dedicated Gen 2 cluster and 3 additional active environments for development. This number can be increased if needed for an additional fee. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. do we have a link to the fee structure for storage we can add here? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. here we have the "e" in environment capitalized but later we do not (only the "d" is capitalized). Is there a reason for the difference? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
We can link to pricing, or otherwise suggest users reach out to their rep.
I think we should make a choice here, since there does appear to be a jumble of terms. AFAI understand we've used "The Development Environment" to refer to the collection of "Grid" development environments child to the Dedicated environment(s) of a Dedicated project... |
||
|
||
The default storage for Dedicated Gen 2 contracts is 50GB per environment (production, staging, and each development environment). This comprises total storage for your project and is inclusive of any databases, uploaded files, writable application logging directories, search index cores, and so on. The storage amount for your development environment reflects the amount in your Enterprise contract. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We say the default is 50GB, but then the last sentence states:
I'm confused by what information we're trying to convey here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That this is the default but can be increased contractually? |
||
|
||
A project may have up to six (6) users associated with it at no additional charge. Additional users may be added for an additional fee. These users have access to both the Development environment and the Dedicated Gen 2 cluster. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. earlier we had the "e" in Development environment capitalized, but here we do not. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be capitalized based on my note above, I think. |
||
|
||
{{< note title="Note" theme="info" >}} | ||
|
||
By default, all containers in development environments are Standard sized, as they have limited traffic needs. For more resource-intensive applications this size can be increased for an additional fee. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if we're reading the docs in order, we haven't read the Environment Differences section to know that development environments are on the grid, which means "standard sized" doesn't make sense in the context to the rest of the page. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added context for this bit! |
||
|
||
{{< /note >}} | ||
|
||
### Memory | ||
|
||
Dedicated (Generation 2) includes a single node dedicated staging with 2 CPUs. This runs the same software configuration as the production cluster but only on a single node. This is usually enough for functional testing before moving to production. Customers can upgrade their staging to a more powerful machine or add more than one dedicated staging system. Those will still be a single machine. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This reads like it was possibly copied from internal documentation? Else where in this page we use "you" and "your" and here have switch to "their" and referring to them in the 3rd person. same in the next paragraph. |
||
|
||
The memory ratio will follow their production system: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. do the SKU's need to be published? What do the headings "Memory D-" and "Memory M-" refer to? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah this is an odd one to make public. What does a user actually see/know about this instead of internal/billing manager? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed this section! |
||
|
||
| SKU | CPU | Memory D-*| Memory M-* | | ||
| ------| ----| ----------| -----------| | ||
| STG-2 | 2 | 4 | 8 | | ||
| STG-4 | 4 | 8 | 16 | | ||
| STG-8 | 8 | 16 | 32 | |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. similar: since we've moved this doc location, should we add a redirect for it in routes.yaml? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,15 @@ | ||
--- | ||
title: "Differences between Production and Development environments" | ||
title: "Environment differences" | ||
weight: 5 | ||
sidebarTitle: "Differences in development" | ||
description: See the differences between your Production/Staging environments (which are {{% names/dedicated-gen-2 %}}) and your Development environments (which are Grid environments). | ||
sidebarTitle: "Environment differences" | ||
description: See the differences between your Production/Staging environments (which are Dedicated Gen 2) and your Development environments (which are Grid environments). | ||
--- | ||
|
||
With {{% names/dedicated-gen-2 %}} plans, your Production and Staging environments are dedicated virtual machines, | ||
while your Development environments run on the Grid, meaning shared redundant infrastructure. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. should we add a link on "grid" to https://docs.platform.sh/glossary.html#grid ? |
||
This difference means a few configuration options and tools function differently in the different environments. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. do we have docs on the specific configuration options/tools that are different between the environments? if so, we should link to them here. |
||
|
||
These differences should be gone with [{{% names/dedicated-gen-3 %}}](../../dedicated-gen-3/_index.md). | ||
These differences should be gone with [{{% names/dedicated-gen-3 %}}](/dedicated-environments/dedicated-gen-3/_index.md). | ||
Kemi-Elizabeth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Syncing data between environments | ||
|
||
|
@@ -23,7 +23,7 @@ See how to [back up and transfer data](../../development/transfer-dedicated.md#s | |
|
||
## Backups | ||
|
||
Production environments are [backed up automatically](./backups.md). | ||
Production environments are [backed up automatically](/environments/backup.md#backup-schedule). | ||
For other environments, trigger a [manual backup](../../environments/backup.md). | ||
|
||
## PHP | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this really "when taken" or how old the backup is?
ie if the back up is between 1-3 days old they are retained. If the back up is between 4-6 days old, then only 1 backup in a 24 hour time group is retained. etc