-
Notifications
You must be signed in to change notification settings - Fork 537
docs: Drafted Software Distribution Hub #5459
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
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
342928e
Drafted Software Distribution Hub Docs
ashokdevtron 7ab8c04
Changed Sequence of Hintbocks
ashokdevtron e9a1a09
Changed Sequence of Videos
ashokdevtron acf76ac
Corrected GIFs + Release Order's Intended Usage
ashokdevtron f1a8e42
Fixed hintblock's placement
ashokdevtron 6e7b69c
Incorporated PM Feedback - Phase 1
ashokdevtron a8f7860
Merge branch 'main' into sdh-doc
ashokdevtron d39749d
Update docs/user-guide/sdh/README.md
ashokdevtron ef0aec8
Update docs/user-guide/sdh/README.md
ashokdevtron 1146cc9
Incorporated PM Feedback - Phase 2
ashokdevtron 89f944a
Incorporated SME Feedback
ashokdevtron 0e7759a
Merge branch 'main' into sdh-doc
ashokdevtron File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Software Distribution Hub | ||
|
||
## Introduction [](https://devtron.ai/pricing) | ||
|
||
Software Distribution Hub is a platform that simplifies the packaging, versioning, and delivery of your software products. By using it, you can manage your software release across multiple clients ([tenants](#release-versions)). | ||
|
||
 | ||
|
||
|
||
### When and Why to Use | ||
|
||
Devtron's Software Distribution Hub is designed to be used in scenarios where: | ||
|
||
* **Tenanted deployment**: You build software solutions for clients (tenants) who require updates deployed to their distinct environments. For every tenant, you may have to deploy a separate instance of your application, which has separate application layer and data layer on their infrastructure. | ||
|
||
* **Complex Release Management**: You need a centralized solution to manage the deployment of software updates across various environments and ensure smooth collaboration between different teams involved in the release process. | ||
|
||
* **Poor Visibility and Monitoring**: You need improved visibility into the release process for stakeholders such as Release Managers, Developers, DevOps teams, System Reliability Engineers (SREs), Tenant Points of Contact (POCs), and other stakeholders. They need to monitor releases, debug issues, and have access to current operational statuses. | ||
|
||
* **Inconsistent Deployment Processes**: You need standardization because you face operational challenges and deviation in your release outcomes, while carrying out deployment processes across multiple tenant environments. | ||
|
||
* **Insufficient Release Documentation**: You intend to eliminate confusion because your releases lack detailed documentation, including versioning, dependencies, configuration changes, and deployment prerequisites, causing inconsistencies and deployment failures. | ||
|
||
--- | ||
|
||
## Advantages | ||
|
||
Devtron's Software Distribution Hub goes beyond basic deployment by providing end-to-end release management. Deployments involving manual processes might be prone to human error. However, Software Distribution Hub streamlines the [rollout](#rollout) process by enforcing [requirements](#requirements) for each release, and not just for one environment but multiple tenant environments. | ||
|
||
### Normal Deployment vs SDH | ||
|
||
| Aspect | Normal Deployment | Software Distribution Hub | | ||
|--------------------------------------------|----------------------------------------------|----------------------------------------------------------------| | ||
| **Release Management** | No versioned deployments | Centralizes versioning and deployment into a unified platform | | ||
| **Visibility** | Limited visibility | Comprehensive visibility | | ||
| **Automated and Standardized Deployments** | Relies on manual scripts or basic automation (jobs) | Automates and standardizes deployments for consistency | | ||
| **End-to-End Release Management** | Focuses on pushing changes quickly | Manages entire release lifecycle from planning to post-release | | ||
| **Collaboration** | Gap or siloed communication among teams | Facilitates collaboration among developers, release managers, and other stakeholders | | ||
|
||
--- | ||
|
||
## Concepts | ||
|
||
Devtron's Software Distribution Hub has 2 sections: | ||
|
||
* [Tenants](./tenants.md) | ||
* [Release Hub](./release-hub.md) | ||
|
||
Feel free to familiarize yourself with the following concepts (terms) before you proceed to Software Distribution Hub. | ||
|
||
### Tenants | ||
ashokdevtron marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Tenants are organizations or clients that use your software. You can think of each tenant as a separate customer. For example, if Microsoft and Google both use your software, they are considered separate tenants. Each tenant has its own environment to ensure their data and operations are kept separate from others. | ||
|
||
### Installations | ||
|
||
One installation represents one deployment of your software for a specific [tenant](#tenants). Each installation serves as a separate instance of the software, customized for different stages of use or separate teams within your organization. For example, your organization might have three installations: | ||
ashokdevtron marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
* **Production Installation**: Where the live environment of the software runs for all your end-users. | ||
* **Development Installation**: Used by your team of developers for testing new features and changes before they go live. | ||
* **QA Installation**: Dedicated to quality assurance (team of testers) to ensure the software works correctly before it reaches users. | ||
|
||
### Release Tracks | ||
|
||
A Release Track in Devtron is where you organize software releases. Each release within a Release Track is a unique version of your software. For example, think of Kubernetes as a release track, with "v1.28.8" as one of its releases. This helps in managing different versions and updates of a software project in a structured manner, ensuring that all versions are tracked and organized within their respective tracks. | ||
|
||
### Requirements | ||
|
||
Requirements refer to specific steps that should be taken before deployment of applications. This includes selecting specific images for each application, specifying the [release order](#release-orderstage) of applications, adding release instructions, and locking these requirements to ensure readiness before a [rollout](#rollout). | ||
|
||
### Release Order/Stage | ||
|
||
This is a part of [requirements](#requirements) where you decide the stages in which applications are deployed to ensure all dependencies are met. For example, you might need to deploy a backend service before a frontend feature that depends on it. In such a case, release order ensures that backend applications are deployed in the first stage, followed by frontend applications, ensuring a smooth and coordinated rollout. | ||
|
||
### Rollout | ||
ashokdevtron marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
It is a process of delivering a new release to the tenant's environment. In Software Distribution Hub, this comes right after you lock the basic requirements of a release (i.e., application selection, release order, image selection, and release instructions). | ||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.