Skip to content
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

[PL-Doc] SMP-revamp-v0.1 #9097

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
204 changes: 114 additions & 90 deletions docs/self-managed-enterprise-edition/reference-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ redirect_from:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Harness Self-Managed Enterprise Edition brings a robust and flexible software delivery platform to organizations seeking control over their deployment infrastructure. This topic describes user profiles and reference architectures, outlining the key components and best practices for implementing Harness Self-Managed Enterprise Edition. Organizations can optimize their software delivery platform with these architectures, ensuring reliability, scalability, and consistent software deployments.
Harness Self-Managed Enterprise Edition brings a robust and flexible software delivery platform to organizations seeking control over their deployment infrastructure. This topic describes user profiles and reference architectures, outlining the key components and best practices for implementing Harness Self-Managed Enterprise Edition.

Organizations can optimize their software delivery platform with these architectures, ensuring reliability, scalability, and consistent software deployments.

## User profiles

Expand Down Expand Up @@ -48,45 +50,70 @@ Override files are available in the Harness [Helm chart repo](https://github.com

You can use the following commands to upgrade/install via Helm for each profile. For complete Helm installation instructions, go to [Install using Helm](/docs/self-managed-enterprise-edition/install/install-using-helm).

##### Demo

### Demo
<Tabs>
<TabItem value="Demo install" label="Install">

```
helm install my-release harness/harness-prod -n <namespace> -f your-override.yaml -f override-demo.yaml
```

</TabItem>
<TabItem value="Demo Upgrade" label="Upgrade">

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-demo.yaml
```
</TabItem>
</Tabs>

##### Small

```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-small.yaml
```

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-small.yaml
```

#### Medium
### Small
<Tabs>
<TabItem value="small install" label="Install">

```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-small.yaml
```
</TabItem>
<TabItem value="Small Upgrade" label="Upgrade">

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-demo.yaml
```
</TabItem>
</Tabs>

```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-medium.yaml
```
### Medium
<Tabs>
<TabItem value="small install" label="Install">

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-medium.yaml
```
```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-medium.yaml
```
</TabItem>
<TabItem value="Small Upgrade" label="Upgrade">

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-medium.yaml
```
</TabItem>
</Tabs>

##### Large
### Large
<Tabs>
<TabItem value="small install" label="Install">

```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-large.yaml
```
```
helm install my-release harness/harness-prod -n <namespace> -f your-override -f override-large.yaml
```
</TabItem>
<TabItem value="Small Upgrade" label="Upgrade">

```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-large.yaml
```
```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-large.yaml
```
</TabItem>
</Tabs>

## Customer reference architectures

Expand All @@ -108,69 +135,66 @@ Recognizing that each organization has unique requirements, this reference archi

![](./static/smp-ref-arch-dt.png)

<Tabs>

<TabItem value="Demo mode" label="Demo mode">

The demo mode reference architecture is designed for demonstration and learning purposes and includes an in-cluster database, but doesn't include backup and restore.

</TabItem>
<TabItem value="Prod 1 replica mode w/in-cluster DB and Backup and Restore" label="Prod 1 replica mode w/in-cluster DB and Backup and Restore">

Prod 1 replica mode w/in-cluster DB and Backup and Restore is designed for organizations that use Harness Self-Managed Enterprise Edition in production but do not require HA.

</TabItem>
<TabItem value="Prod 3 replica mode w/in-cluster DB and Backup and Restore" label="Prod 3 replica mode w/in-cluster DB and Backup and Restore">

Prod 3 replica mode w/in-cluster DB and Backup and Restore is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Do not have the ability to manage external DBs

</TabItem>
<TabItem value="Prod 3 replica mode w/self-managed external DB" label="Prod 3 replica mode w/self-managed external DB">

Prod 3 replica mode w/self-managed external DB is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Have the need and ability to manage external DBs

## Database options

You can configure any of the following external databases with Harness Self-Managed Enterprise Edition:

- [Cloud-based MongoDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-mongodb-database)
- [Self-managed MongoDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-self-managed-mongodb)
- [Self-managed PostgreSQL](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-postgres-database)
- [Self-managed Redis](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-redis-database)
- [Self-managed TimescaleDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-sm-timescaledb)

</TabItem>
<TabItem value="Prod 3 replica mode w/external cloud-based DBs" label="Prod 3 replica mode w/external cloud-based DBs">

Prod 3 replica mode w/external cloud-based DBs is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Don't need self-managed external DBs.

</TabItem>
<TabItem value="Disaster recovery w/warm standby" label="Disaster recovery w/warm standby">

Disaster recovery w/warm standby is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Have the expertise to manage external DBs
- Require self-managed external DBs
- Require DR when a Kubernetes cluster or cloud region fails

For more information, go to [Set up disaster recovery](/docs/self-managed-enterprise-edition/advanced-configurations/set-up-disaster-recovery).

</TabItem>
</Tabs>
<details>
<summary>
Demo mode
</summary>
The demo mode reference architecture is designed for demonstration and learning purposes and includes an in-cluster database, but doesn't include backup and restore.
</details>

<details>
<summary>
Prod 1 replica mode w/in-cluster DB and Backup and Restore
</summary>
Prod 1 replica mode w/in-cluster DB and Backup and Restore is designed for organizations that use Harness Self-Managed Enterprise Edition in production but do not require HA.
</details>

<details>
<summary>
Prod 3 replica mode w/in-cluster DB and Backup and Restore
</summary>
Prod 3 replica mode w/in-cluster DB and Backup and Restore is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Do not have the ability to manage external DBs
</details>

<details>
<summary>
Prod 3 replica mode w/self-managed external DB
</summary>
Prod 3 replica mode w/self-managed external DB is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Have the need and ability to manage external DBs

## Database options

You can configure any of the following external databases with Harness Self-Managed Enterprise Edition:

- [Cloud-based MongoDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-mongodb-database)
- [Self-managed MongoDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-self-managed-mongodb)
- [Self-managed PostgreSQL](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-postgres-database)
- [Self-managed Redis](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-redis-database)
- [Self-managed TimescaleDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-sm-timescaledb)
</details>

<details>
<summary>
Disaster recovery w/warm standby
</summary>
Disaster recovery w/warm standby is designed for organizations that:

- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Have the expertise to manage external DBs
- Require self-managed external DBs
- Require DR when a Kubernetes cluster or cloud region fails

For more information, refer [Set up disaster recovery](/docs/self-managed-enterprise-edition/advanced-configurations/set-up-disaster-recovery).
</details>

## Benefits of the reference architectures

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
The following table lists the major supported features for Harness Self-Managed Enterprise Edition offerings.

Solution| Supported Platform| Connected | HA | Monitoring| Disaster Recovery |
Solution| Supported Platform| Air Gap | HA | Monitoring| Disaster Recovery |
| :-----------------------------------------------------------------: | :----------------------------: | :-----------: | :----------------: | :-------------------: | :-----------------: |
| Kubernetes Cluster| Kubernetes - GKE - AKS - EKS | Yes| Yes | Prometheus, Grafana | Yes
| Kubernetes Cluster| GKE - AKS - EKS | Yes| Yes | Prometheus, Grafana | Yes

### Self-Managed Enterprise Edition Release cadence
Harness releases Self-Managed Enterprise Edition on a monthly basis. Additionally, periodic hot-fixes are released as needed. Self-Managed Enterprise Edition takes a branch cut of Harness SaaS release and creates a Release Candidate which goes through the iteration of testing and bug fixing process after which the release candidate is released.
Expand All @@ -12,19 +12,15 @@ Harness releases Self-Managed Enterprise Edition on a monthly basis. Additionall
| Kubernetes Version | Supported | Notes |
|--------------------|-----------|--------------------------------------------------------------------------------------------------------------|
| 1.30 | Yes | Starting with EKS 1.30 (AWS), the support for default annotation on the storage class has been removed. For Harness to work, please update your overrides to include the `storageClassName` (gp2, gp3, etc) by updating the following values: <br /><br /> global: <br /> &nbsp;&nbsp;&nbsp;&nbsp;storageClass: "gp3" <br /> &nbsp;&nbsp;&nbsp;&nbsp;storageClassName: "gp3" |
| 1.29 | Yes | |
| 1.28 | Yes | |
| 1.27 | Yes | |
| 1.27, 1.28, 1.29 | Yes | |


* Effective October 7, 2022, with the release of version 76918, Self-Managed Enterprise Edition no longer supports Kubernetes open-source versions 1.18 and earlier.
* Self-Managed Enterprise Edition supports the other versions of Kubernetes you use on a best-effort basis.

### Terms of support

The support policy is 12 months of full support, followed by 6 months of limited support for critical security fixes only.

Harness Self-Managed Enterprise Edition does not introduce changes that break compatibility with supported versions of Kubernetes. For example, Self-Managed Enterprise Edition does not use features from Kubernetes version n that do not work in Kubernetes version n-2.
The Harness Self-Managed Enterprise Edition ensures compatibility with supported Kubernetes versions and does not introduce changes that could break this compatibility. For instance, it does not utilize features from Kubernetes version n that are incompatible with version n-2.

Installation and upgrade preflight checks provide warnings when you use unsupported Kubernetes versions.

Expand Down
17 changes: 4 additions & 13 deletions docs/self-managed-enterprise-edition/smp-supported-platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,6 @@ sidebar_label: What's supported
sidebar_position: 1
---

:::warning

Harness ended support of KOTS-based installations and upgrades as of **December 1, 2023**. Harness customer support will no longer take any incoming questions on KOTs.

:::

import Smp from '/docs/self-managed-enterprise-edition/shared/smp-supported-platforms.md';

<Smp />
Expand All @@ -26,7 +20,7 @@ import Smp from '/docs/self-managed-enterprise-edition/shared/smp-supported-plat
* [Security Test Orchestration](/docs/security-testing-orchestration/whats-supported)
* [Service Reliability Management](/docs/service-reliability-management/srm-whats-supported)

For information about what's supported for other Harness modules and the Harness Platform overall, go to [Supported platforms and technologies](/docs/platform/platform-whats-supported.md).
For details on the supported features of other Harness modules and the overall Harness Platform, visit [Supported platforms and technologies](/docs/platform/platform-whats-supported.md).

## Production environment deployment infrastructure

Expand All @@ -44,12 +38,9 @@ import Infra2 from '/docs/self-managed-enterprise-edition/shared/dev-env-infra.m
* Istio supported version: 1.15.3 to 1.24.2
* NGINX supported version: v1.3.0

### RBAC requirements

The following permissions are required:
* Deploy Helm
* Add roles
* Add/edit secrets
:::note Admin Access required for Kubernetes
Ensure you have admin access to Kubernetes before proceeding with the installation.
:::

### License requirements
* Contact [Harness Support](mailto:[email protected]) for license information.
Expand Down
Loading