From 36bc3b98234a008afeb0d2e65124008e2ab70a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivar=20Conradi=20=C3=98sthus?= Date: Sun, 28 Feb 2021 22:12:19 +0100 Subject: [PATCH] chore: more docs --- docs/user_guide/index.md | 32 ++++++++++++++++++++++++++++++++ website/i18n/en.json | 7 +++++-- website/sidebars.json | 1 + website/siteConfig.js | 2 +- 4 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 docs/user_guide/index.md diff --git a/docs/user_guide/index.md b/docs/user_guide/index.md new file mode 100644 index 0000000000..656cff7884 --- /dev/null +++ b/docs/user_guide/index.md @@ -0,0 +1,32 @@ +--- +id: index +title: Introduction +--- + +Welcome to the Unleash getting started guides. We know that getting to know a new solution might be tedious. Our goal with this documentation is to guide you through the most essential concepts of Unleash. + +One of the most important aspects of the architecture to understand is that feature toggles are evaluated in a client SDKs which runs as part of your application. This makes toggle evaluations super-fast, but of course it compromises a small update-delay when you change your toggle configurations (in terms of seconds and is configurable). + +We recommend that you read about [our unique architecture](https://www.unleash-hosted.com/articles/our-unique-architecture) to understand some of the basics of the architecture. + +## Unleash Server + +Before you can connect your application to Unleash you need a Unleash server. You have a few options available. + +1. [Unleash Open-source - Self-managed](/docs/deploy/getting_started) +2. [Unleash Enterprise - Cloud-hosted](https://www.unleash-hosted.com) +3. [Unleash Enterprise - Self-hosted](https://www.unleash-hosted.com) + + + +## System Overview + +Unleash is comprised of three parts: + +- **Unleash API** - The service holding all feature toggles and their configurations. Configurations declare which activation strategies to use and which parameters they should get. +- **Unleash UI** - The dashboard used to manage feature toggles, define new strategies, look at metrics, etc. +- **Unleash SDK** - Used by clients to check if a feature is enabled or disabled. The SDK also collects metrics and sends them to the Unleash API. Activation Strategies are also implemented in the SDK. + +![system_overview](https://raw.githubusercontent.com/Unleash/unleash/master/docs/assets/unleash-diagram.png 'System Overview') + +To be super fast (*we talk nano-seconds*), the client SDK caches all feature toggles and their current configuration in memory. The activation strategies are also implemented in the SDK. This makes it really fast to check if a toggle is on or off because it is just a simple function operating on local state, without the need to poll data from the database. \ No newline at end of file diff --git a/website/i18n/en.json b/website/i18n/en.json index 42080bcf44..b99a47c913 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -176,6 +176,9 @@ "user_guide/discover-unknown-toggles": { "title": "user_guide/discover-unknown-toggles" }, + "user_guide/index": { + "title": "Introduction" + }, "user_guide/native_apps": { "title": "Working with native apps" }, @@ -195,8 +198,8 @@ "Integrations": "Integrations", "Contribute": "Contribute", "API": "API", - "Help": "Help", - "Enterprise": "Enterprise" + "Enterprise": "Enterprise", + "Help": "Help" }, "categories": { "Getting started": "Getting started", diff --git a/website/sidebars.json b/website/sidebars.json index c70f14d9ae..6abfb18bc4 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -1,6 +1,7 @@ { "documentation": { "Getting started": [ + "user_guide/index", "user_guide/connect_sdk", "user_guide/client_sdk", "user_guide/create_feature_toggle", diff --git a/website/siteConfig.js b/website/siteConfig.js index 4c6511dbe5..bba29bbb29 100644 --- a/website/siteConfig.js +++ b/website/siteConfig.js @@ -66,7 +66,7 @@ const siteConfig = { // For no header links in the top nav bar -> headerLinks: [], headerLinks: [ - { doc: 'user_guide/connect_sdk', label: 'Documentation' }, + { doc: 'user_guide/index', label: 'Documentation' }, { doc: 'deploy/getting_started', label: 'Deploy and manage' }, { doc: 'integrations/integrations', label: 'Integrations' }, { doc: 'developer_guide', label: 'Contribute' },