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-restruct-v1 #9505

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
92 changes: 0 additions & 92 deletions docs/self-managed-enterprise-edition/reference-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,95 +87,3 @@ helm install my-release harness/harness-prod -n <namespace> -f your-override -f
```
helm upgrade my-release harness/harness-prod -n <namespace> -f your-override -f override-large.yaml
```

## Customer reference architectures

Reference architectures enable organizations to fully utilize Harness Self-Managed Enterprise Edition for a customized, secure, and scalable continuous delivery process.

These architectures aim to simplify the process of setting up Harness Self-Managed Enterprise Edition. However, the determination of the architecture that best suits your organization's specific requirements can be difficult. Careful consideration and evaluation of the requirements are necessary to determine the optimal reference architecture for the intended setup.

### Scalability and performance

Harness Self-Managed Enterprise Edition is designed to scale with your organization's growing needs. This reference architecture details strategies to ensure optimal performance and scalability, allowing you to handle varying workloads and deploy applications efficiently.

### High availability and fault tolerance

Achieving high availability and fault tolerance is paramount for mission-critical applications. The reference architecture outlines deployment patterns and configurations to ensure continuous availability, even in the face of unexpected failures.

### Customization and extensibility

Recognizing that each organization has unique requirements, this reference architecture explores customization options and extensibility features. It empowers users to tailor the Harness platform to specific workflows and integrations, ensuring a personalized and efficient continuous delivery pipeline.

![](./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>

## Benefits of the reference architectures

- **Best practices guidance:** Leverage industry standards and Harness's expertise to improve your workflows.

- **Optimized performance:** Implement configurations and optimizations that ensure optimal performance, enabling your organization to deploy applications quickly and reliably.

- **Ease of maintenance:** Set up a robust architecture that minimizes downtime and simplifies maintenance tasks, ensuring an efficient environment.
Original file line number Diff line number Diff line change
@@ -1,31 +1,21 @@
The following table lists the major supported features for Harness Self-Managed Enterprise Edition offerings.

Solution| Supported Platform| Connected | HA | Monitoring| Disaster Recovery |
| :-----------------------------------------------------------------: | :----------------------------: | :-----------: | :----------------: | :-------------------: | :-----------------: |
| Kubernetes Cluster| Kubernetes - 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.

The table below outlines the key features supported in the Harness Self-Managed Enterprise Edition.

| Feature | Supported |
|------------------------|----------------------------------------------------------------|
| Cloud Platform | <li>EKS</li><li>GKE</li><li>AKS</li> |
| External Databases | <li>MongoDB</li><ul><li>[MongoDB Atlas](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-mongodb-database/)</li><li>[Self-Managed MongoDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-self-managed-mongodb)</li></ul><li>MinIO</li><ul><li>[AWS S3](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/configure-aws-s3-for-pipeline-logs)</li><li>GCP buckets</li><li>[Self-Managed MinIO](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-self-managed-minio-object-storage/)</li></ul><li>[TimeScaleDB](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-sm-timescaledb)</li><li>Postgres</li><ul><li>[Self-Managed Postgres](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-postgres-database)</li><li>CloudSQL</li></ul><li>NoSQL</li><ul><li>[Self Managed Redis](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-redis-database)</li><li>[ElastiCache](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-aws-elasticache)</li><li>GCP Memorystore</li></ul> |
| High availability(HA) | [Yes](/docs/self-managed-enterprise-edition/advanced-configurations/external-db/use-an-external-postgres-database/#high-availability) |
| Disaster Recovery (DR) | [Active-Passive](/docs/self-managed-enterprise-edition/advanced-configurations/set-up-disaster-recovery/) |
| Backup and Restore | [Velero](/docs/self-managed-enterprise-edition/back-up-and-restore-helm) |
| Networking | <li>Istio/Nginx</li><li>[ALB/NLB/GCLB](/docs/self-managed-enterprise-edition/install/install-using-helm/#add-a-load-balancer).</li> |
| Monitoring | <li>[Prometheus](/docs/self-managed-enterprise-edition/monitor-harness-on-prem#set-up-prometheus-in-cluster).</li><li>[Grafana](/docs/self-managed-enterprise-edition/monitor-harness-on-prem#view-metrics-on-the-grafana-dashboard).</li> |
| Air-gapped | [Yes](/docs/self-managed-enterprise-edition/install/install-in-an-air-gapped-environment/) |
| FIPS-enabled K8S | No | |
### Supported Kubernetes versions

| 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 | |


* 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.

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

In cases where you encounter a problem related to an incompatibility issue, you must upgrade your cluster. Harness does not issue a patch to accommodate the use of unsupported Kubernetes versions.
| Kubernetes Version | Supported | Notes |
|--------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <li>1.30</li> | 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" |
| <li>1.29</li> | Yes | |
| <li>1.28</li> | Yes | |
| <li>1.27</li> | Yes | |
79 changes: 79 additions & 0 deletions docs/self-managed-enterprise-edition/smp-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Self-Managed Enterprise Edition
description: Platforms and technologies supported by the on-prem Harness Self-Managed Enterprise Edition
sidebar_label: Overview
sidebar_position: 1
---

import SmpRefArc from './static/customer-reference-architecture.jpg'
import SmpOverview from './static/smp-architecture-overview.jpg'

## Overview

Harness Self-Managed Enterprise Edition is an on-premises solution that allows you to install and run Harness on your own infrastructure. It gives you full control over your data, security, and compliance while leveraging Harness's powerful software delivery tools.

Self-Managed Enterprise Edition helps your organization achieve its objectives while staying within governance boundaries.

## Architecture Overview

The Self-Managed Enterprise Edition runs within the customer's environment alongside their existing services. As shown below, Customers generally connects Harness through a Load Balancer, which forwards requests to the Load Balancer within the Harness namespace and then to appropriate services respectively.

It also offers extensive customization through various configuration files, allowing users to extend its functionalities. For more details, refer to [What's Supported](./smp-supported-platforms).

Below is a high-level architecture overview of how Harness Self-Managed Enterprise operates in an on-premises environment.

<img src={SmpOverview} style={{width: 850}} />

### Reference Architecture

Reference architectures make it easier for customers to set up Harness Self-Managed Enterprise Edition. However, choosing the right one for your organization requires careful evaluation of your specific needs. The reference architecture ensures optimal performance and scalability, enabling you to handle varying workloads and deploy applications quickly and efficiently. It also helps you keep your applications running smoothly, even during unexpected failures.

It also allows you to customize Harness to fit your needs, making it easier to integrate with your workflows and streamline your deployment process. Refer to the image below to find the option that best suits your needs.

<img src={SmpRefArc} style={{width: 650}} />

There are six types of reference architectures to help you set up a robust system for your application deployment:

1. **Demo mode**: Designed for demonstration and learning purposes and includes an in-cluster database, but doesn't include backup and restore.
2. **Prod 1 replica mode with in-cluster DB and Backup and Restore**: Designed for organizations that use Harness Self-Managed Enterprise Edition in production but do not require HA.
3. **Prod 3 replica mode with in-cluster DB and Backup and Restore**: Designed for organizations that,
- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Do not have the ability to manage external DBs
4. **Prod 3 replica mode with self-managed external DB:** Designed for organizations that,
- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Do not have the ability to manage external DBs
5. **Prod 3 replica mode with external cloud-based DBs**: Designed for organizations that,
- Use Harness Self-Managed Enterprise Edition in production
- Require HA
- Don't need self-managed external DBs.
6. **Disaster recovery with warm standby**: 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

## Why Choose the Self-Managed Enterprise Edition?

Harness Self-Managed Enterprise Edition should be chosen over the SaaS version when an organization prioritizes greater control over data security, deeper customization options, and seamless integration with existing on-premises systems, especially in highly regulated industries where strict data residency and compliance requirements are crucial, even if it means managing the infrastructure yourself and incurring higher setup costs.

Key reasons to opt for Self-Managed Enterprise Edition:
- Enhanced Data Security: Complete control over where data is stored and processed, allowing for stricter compliance with industry regulations by keeping data within your own network perimeter.
- Customizability: Ability to tailor the Harness platform to specific needs by modifying configurations and integrating with unique internal systems that might not be readily accessible through a SaaS model.
- On-Premises Integration: Seamless connection with existing on-premises infrastructure and applications, which can be challenging with a cloud-based SaaS solution.
- Offline & Air-Gapped Capabilities – Deploy in fully isolated environments without external network dependencies.
- Network Optimization: Fine-tune network settings and performance for optimal efficiency based on your specific environment.

However, there are certain trade-off with Self-Managed Enterprise Edition:
- Higher Setup and Maintenance Costs: Requires dedicated IT personnel to manage the infrastructure, including installation, updates, and troubleshooting.
- Increased Complexity: More technical expertise needed to configure and maintain the self-hosted platform.

## Stay updated with Release cadence

Harness continuously updates the system with more secure and faster libraries, releasing the Self-Managed Edition every month. Also, to maintain the stability, we regularly identify and fix issues through periodic releases, which you can find in the [Self-Managed Platform release notes](/release-notes/self-managed-enterprise-edition).

To stay informed on the latest updates, we strongly recommend [subscribing via RSS](https://developer.harness.io/release-notes/self-managed-enterprise-edition/rss.xml).


Loading