[Docs] Detailed roadmap and vision (#1991)

* [Docs] Update roadmap and vision

* Add shield to roadmap

* Update roadmap.md

* Link to .io in main README

* Fix verify links?
This commit is contained in:
Stefan Ålund
2020-08-18 10:52:56 +02:00
committed by GitHub
parent c5c2c2c60c
commit 3a6f4415eb
10 changed files with 95 additions and 250 deletions
+12 -22
View File
@@ -18,26 +18,16 @@ Backstage unifies all your infrastructure tooling, services, and documentation t
Out of the box, Backstage includes:
- [Backstage Service Catalog](https://github.com/spotify/backstage/blob/master/docs/features/software-catalog/index.md) for managing all your software (microservices, libraries, data pipelines, websites, ML models, etc.)
- [Backstage Software Templates](https://github.com/spotify/backstage/blob/master/docs/features/software-templates/index.md) for quickly spinning up new projects and standardizing your tooling with your organizations best practices
- [Backstage TechDocs](https://github.com/spotify/backstage/tree/master/docs/features/techdocs) for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach
- [Backstage Service Catalog]((https://backstage.io/docs/features/software-catalog/software-catalog-overview) for managing all your software (microservices, libraries, data pipelines, websites, ML models, etc.)
- [Backstage Software Templates](https://backstage.io/docs/features/software-templates/software-templates-index) for quickly spinning up new projects and standardizing your tooling with your organizations best practices
- [Backstage TechDocs](https://backstage.io/docs/features/techdocs/techdocs-overview) for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach
- Plus, a growing ecosystem of [open source plugins](https://github.com/spotify/backstage/tree/master/plugins) that further expand Backstages customizability and functionality
For more information go to [backstage.io](https://backstage.io) or join our [Discord chatroom](https://discord.gg/EBHEGzX).
## Project roadmap
We created Backstage about 4 years ago. While our internal version of Backstage has had the benefit of time to mature and evolve, the first iteration of our open source version is still nascent. We are envisioning three phases of the project and we have already begun work on various aspects of these phases:
- 🐣 **Phase 1:** Extensible frontend platform (Done ✅) - You will be able to easily create a single consistent UI layer for your internal infrastructure and tools. A set of reusable [UX patterns and components](http://backstage.io/storybook) help ensure a consistent experience between tools.
- 🐢 **Phase 2:** Service Catalog ([alpha released](https://backstage.io/blog/2020/06/22/backstage-service-catalog-alpha)) - With a single catalog, Backstage makes it easy for a team to manage ten services — and makes it possible for your company to manage thousands of them. Developers can get a uniform overview of all their software and related resources, regardless of how and where they are running, as well as an easy way to onboard and manage those resources.
- 🐇 **Phase 3:** Ecosystem (later) - Everyone's infrastructure stack is different. By fostering a vibrant community of contributors we hope to provide an ecosystem of Open Source plugins/integrations that allows you to pick the tools that match your stack.
Check out our [Milestones](https://github.com/spotify/backstage/milestones) and open [RFCs](https://github.com/spotify/backstage/labels/rfc) how they relate to the three Phases outlined above.
Our vision for Backstage is for it to become the trusted standard toolbox (read: UX layer) for the open source infrastructure landscape. Think of it like Kubernetes for developer experience. We realize this is an ambitious goal. We cant do it alone. If this sounds interesting or you'd like to help us shape our product vision, we'd love to talk. You can email me directly: [alund@spotify.com](mailto:alund@spotify.com).
A detailed project roadmap, including already delivered milestones, is available [here](https://backstage.io/docs/overview/roadmap).
## Overview
@@ -69,7 +59,7 @@ Using `npx` you can then run the following to create an app in a chosen subdirec
npx @backstage/create-app
```
You will be taken through a wizard to create your app, and the output should look something like this. You can read more about this process [here](docs/getting-started/create-an-app.md)
You will be taken through a wizard to create your app, and the output should look something like this. You can read more about this process [here](https://backstage.io/docs/getting-started/create-an-app)
### Contributing to Backstage
@@ -77,22 +67,22 @@ You can read more in our [CONTRIBUTING.md](./CONTRIBUTING.md#get-started) guide,
### Next steps
Take a look at the [Getting Started](docs/getting-started/index.md) guide to learn how to set up Backstage, and how to develop on the platform.
Take a look at the [Getting Started](https://backstage.io/docs/getting-started/index) guide to learn how to set up Backstage, and how to develop on the platform.
## Documentation
- [Main documentation](docs/README.md)
- [Service Catalog](docs/features/software-catalog/index.md)
- [Architecture](docs/overview/architecture-terminology.md) ([Decisions](docs/architecture-decisions/index.md))
- [Designing for Backstage](docs/dls/design.md)
- [Storybook - UI components](http://backstage.io/storybook)
- [Main documentation](https://backstage.io/docs/overview/what-is-backstage)
- [Service Catalog](https://backstage.io/docs/features/software-catalog/software-catalog-overview)
- [Architecture](https://backstage.io/docs/overview/architecture-terminology) ([Decisions](https://backstage.io/docs/architecture-decisions/adrs-overview))
- [Designing for Backstage](https://backstage.io/docs/dls/design)
- [Storybook - UI components](https://backstage.io/storybook)
## Community
- [Discord chatroom](https://discord.gg/MUpMjP2) - Get support or discuss the project
- [Good First Issues](https://github.com/spotify/backstage/contribute) - Start here if you want to contribute
- [RFCs](https://github.com/spotify/backstage/labels/rfc) - Help shape the technical direction
- [FAQ](docs/FAQ.md) - Frequently Asked Questions
- [FAQ](https://backstage.io/docs/FAQ) - Frequently Asked Questions
- [Code of Conduct](CODE_OF_CONDUCT.md) - This is how we roll
- [Adopters](ADOPTERS.md) - Companies already using Backstage
- [Blog](https://backstage.io/blog/) - Announcements and updates
+1
View File
@@ -11,6 +11,7 @@ better yet, a pull request.
- [Backstage architecture](overview/architecture-overview.md)
- [Architecture and terminology](overview/architecture-terminology.md)
- [Roadmap](overview/roadmap.md)
- [Vision](overview/vision.md)
- Getting started
- [Running Backstage locally](getting-started/index.md)
- [Installation](getting-started/installation.md)
+46 -17
View File
@@ -3,37 +3,66 @@ id: roadmap
title: Project roadmap
---
We created Backstage about 4 years ago. While our internal version of Backstage
has had the benefit of time to mature and evolve, the first iteration of our
open source version is still nascent. We are envisioning three phases of the
project and we have already begun work on various aspects of these phases:
## Current status
Backstage is currently in Alpha. This means that you can expect APIs and
features to change until we reach our
[Backstage Beta milestone](https://github.com/spotify/backstage/milestone/19).
Before we have API stability, plugins will need ongoing maintenance. It is also
recommended that teams who adopt Backstage today upgrades their installation as
new [releases](https://github.com/spotify/backstage/releases) are available.
## Phases
We have divided the project into three high-level _phases_ and we have already
begun work on various aspects of these phases:
- 🐣 **Phase 1:** Extensible frontend platform (Done ✅) - You will be able to
easily create a single consistent UI layer for your internal infrastructure
and tools. A set of reusable
[UX patterns and components](http://backstage.io/storybook) help ensure a
[UX patterns and components](https://backstage.io/storybook) help ensure a
consistent experience between tools.
- 🐢 **Phase 2:** Service Catalog
([alpha released](https://backstage.io/blog/2020/06/22/backstage-service-catalog-alpha)) -
With a single catalog, Backstage makes it easy for a team to manage ten
services — and makes it possible for your company to manage thousands of them.
Developers can get a uniform overview of all their software and related
resources, regardless of how and where they are running, as well as an easy
way to onboard and manage those resources.
- 🐇 **Phase 3:** Ecosystem (later) - Everyone's infrastructure stack is
different. By fostering a vibrant community of contributors we hope to provide
an ecosystem of Open Source plugins/integrations that allows you to pick the
tools that match your stack.
Check out our [Milestones](https://github.com/spotify/backstage/milestones) and
open [RFCs](https://github.com/spotify/backstage/labels/rfc) how they relate to
the three Phases outlined above.
## Detailed roadmap
Our vision for Backstage is for it to become the trusted standard toolbox (read:
UX layer) for the open source infrastructure landscape. Think of it like
Kubernetes for developer experience. We realize this is an ambitious goal. We
cant do it alone. If this sounds interesting or you'd like to help us shape our
product vision, we'd love to talk. You can email me directly:
[alund@spotify.com](mailto:alund@spotify.com).
### Ongoing work 🚧
- [Plugins for managing micro services end-2-end](https://github.com/spotify/backstage/milestone/14)
- [TechDocs v1](https://github.com/spotify/backstage/milestone/16)
- [Initial GraphQL API](https://github.com/spotify/backstage/milestone/13)
- Backstage Design Language System (DLS)
- Cloud Cost Insights plugin (from Spotify)
- Further improvements to platform documentation
### Future work 🔮
- [Backstage Beta](https://github.com/spotify/backstage/milestone/19)
- [Global search](https://github.com/spotify/backstage/issues/1499)
- [[TechDocs V.2] Stabilization release](https://github.com/spotify/backstage/milestone/17)
- Deploy a product demo at `demo.backstage.io`
- Plugin marketplace
### Completed milestones ✅
- [Improved and move documentation to backstage.io](https://backstage.io/docs/overview/what-is-backstage)
- [Backstage Service Catalog (alpha)](https://backstage.io/blog/2020/06/22/backstage-service-catalog-alpha)
- [Backstage Software Templates (alpha)](https://backstage.io/blog/2020/08/05/announcing-backstage-software-templates)
- [Make it possible to add custom auth providers](https://backstage.io/blog/2020/07/01/how-to-enable-authentication-in-backstage-using-passport)
- [TechDocs v0](https://github.com/spotify/backstage/milestone/15)
- CI plugins: CircleCI, Jenkins, GitHub Actions and TravisCI
- [Service API documentation](https://github.com/spotify/backstage/pull/1737)
- Backstage Service Catalog can read from: GitHub, GitLab,
[Bitbucket](https://github.com/spotify/backstage/pull/1938)
- Support auth providers: Google, Okta, GitHub, GitLab,
[auth0](https://github.com/spotify/backstage/pull/1611),
[AWS](https://github.com/spotify/backstage/pull/1990)
+21
View File
@@ -0,0 +1,21 @@
---
id: vision
title: Vision
---
Our goal is to provide engineers with the best developer experience in the
world.
A fantastic developer experience leads to happy, creative and productive
engineers. Our belief is that engineers should not have to be experts in various
infrastructure tools to be productive. Infrastructure should be abstracted away
so that you can return to building and scaling, quickly and safely.
![](https://backstage.io/animations/backstage-logos-hero-8.gif)
We are working on making Backstage the trusted standard toolbox (read: UX layer)
for the open source infrastructure landscape. Think of it like Kubernetes for
developer experience. We realize this is an ambitious goal. We cant do it
alone. If this sounds interesting or you'd like to help us shape our product
vision, we'd love to talk. You can email me directly:
[alund@spotify.com](mailto:alund@spotify.com).
+3 -3
View File
@@ -28,9 +28,6 @@ Out of the box, Backstage includes:
[open source plugins](https://github.com/spotify/backstage/tree/master/plugins)
that further expand Backstages customizability and functionality
For more information go to [backstage.io](https://backstage.io) or join our
[Discord chatroom](https://discord.gg/EBHEGzX).
### Benefits
- For _engineering managers_, it allows you to maintain standards and best
@@ -45,3 +42,6 @@ For more information go to [backstage.io](https://backstage.io) or join our
- For _everyone_, its a single, consistent experience that ties all your
infrastructure tooling, resources, standards, owners, contributors, and
administrators together in one place.
If you have questions or want support, please join our
[Discord chatroom](https://discord.gg/EBHEGzX).
-182
View File
@@ -1,182 +0,0 @@
This website was created with [Docusaurus](https://docusaurus.io/).
# What's In This Document
- [Get Started in 5 Minutes](#get-started-in-5-minutes)
- [Directory Structure](#directory-structure)
- [Editing Content](#editing-content)
- [Adding Content](#adding-content)
- [Full Documentation](#full-documentation)
## Directory Structure
Your project file structure should look something like this
```
my-docusaurus/
docs/
doc-1.md
doc-2.md
doc-3.md
website/
blog/
2016-3-11-oldest-post.md
2017-10-24-newest-post.md
core/
node_modules/
pages/
static/
css/
img/
package.json
sidebars.json
siteConfig.js
```
# Editing Content
## Editing an existing docs page
Edit docs by navigating to `docs/` and editing the corresponding document:
`docs/doc-to-be-edited.md`
```markdown
---
id: page-needs-edit
title: This Doc Needs To Be Edited
---
Edit me...
```
For more information about docs, click [here](https://docusaurus.io/docs/en/navigation)
## Editing an existing blog post
Edit blog posts by navigating to `website/blog` and editing the corresponding post:
`website/blog/post-to-be-edited.md`
```markdown
---
id: post-needs-edit
title: This Blog Post Needs To Be Edited
---
Edit me...
```
For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
# Adding Content
## Adding a new docs page to an existing sidebar
1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`:
```md
---
id: newly-created-doc
title: This Doc Needs To Be Edited
---
My new content here..
```
1. Refer to that doc's ID in an existing sidebar in `website/sidebars.json`:
```javascript
// Add newly-created-doc to the Getting Started category of docs
{
"docs": {
"Getting Started": [
"quick-start",
"newly-created-doc" // new doc here
],
...
},
...
}
```
For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation)
## Adding a new blog post
1. Make sure there is a header link to your blog in `website/siteConfig.js`:
`website/siteConfig.js`
```javascript
headerLinks: [
...
{ blog: true, label: 'Blog' },
...
]
```
2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`:
`website/blog/2018-05-21-New-Blog-Post.md`
```markdown
---
author: Frank Li
authorURL: https://twitter.com/foobarbaz
authorFBID: 503283835
title: New Blog Post
---
Lorem Ipsum...
```
For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
## Adding items to your site's top navigation bar
1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`:
`website/siteConfig.js`
```javascript
{
headerLinks: [
...
/* you can add docs */
{ doc: 'my-examples', label: 'Examples' },
/* you can add custom pages */
{ page: 'help', label: 'Help' },
/* you can add external links */
{ href: 'https://github.com/facebook/docusaurus', label: 'GitHub' },
...
],
...
}
```
For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation)
## Adding custom pages
1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`:
1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element:
`website/siteConfig.js`
```javascript
{
headerLinks: [
...
{ page: 'my-new-custom-page', label: 'My New Custom Page' },
...
],
...
}
```
For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages).
# Full Documentation
Full documentation can be found on the [website](https://docusaurus.io/).
+6 -25
View File
@@ -32,22 +32,15 @@ class Footer extends React.Component {
</div>
<div>
<h5>Docs</h5>
<a href={`/docs/overview/what-is-backstage`}>What is Backstage?</a>
<a href={`/docs/getting-started/`}>Getting started</a>
<a
href={`${this.props.config.repoUrl}/blob/master/docs/plugins/create-a-plugin.md`}
href={`/docs/features/software-catalog/software-catalog-overview`}
>
Create a Plugin
</a>
<a
href={`${this.props.config.repoUrl}/blob/master/docs/plugins/structure-of-a-plugin.md`}
>
Structure of a Plugin
</a>
<a href={`${this.props.config.repoUrl}/tree/master/docs`}>
API references
</a>
<a href={`${this.props.config.repoUrl}/blob/master/docs/FAQ.md`}>
FAQ
Service Catalog
</a>
<a href={`/docs/plugins/create-a-plugin`}>Create a Plugin</a>
<a href={`/docs/dls/design`}>Designing for Backstage</a>
</div>
<div>
<h5>Community</h5>
@@ -55,18 +48,6 @@ class Footer extends React.Component {
<a href="https://mailchi.mp/spotify/backstage-community">
Subscribe to our newsletter
</a>
{/*
<h5>Docs</h5>
<a href={this.docUrl("developing-a-plugin.html", this.props.language)}>
Developing a Plugin
</a>
<a href={this.docUrl("apis.html", this.props.language)}>
API Overview
</a>
<a href={this.docUrl("layout-components.html", this.props.language)}>
Layout Components
</a>
*/}
</div>
<div>
<h5>More</h5>
+3
View File
@@ -186,6 +186,9 @@
"overview/support": {
"title": "Support and community"
},
"overview/vision": {
"title": "Vision"
},
"overview/what-is-backstage": {
"title": "What is Backstage?"
},
+2 -1
View File
@@ -4,7 +4,8 @@
"overview/what-is-backstage",
"overview/architecture-overview",
"overview/architecture-terminology",
"overview/roadmap"
"overview/roadmap",
"overview/vision"
],
"Getting Started": [
"getting-started/index",
+1
View File
@@ -7,6 +7,7 @@ nav:
- Backstage architecture: 'overview/architecture-overview.md'
- Architecture and terminology: 'overview/architecture-terminology.md'
- Roadmap: 'overview/roadmap.md'
- Vision: 'overview/vision.md'
- Getting started:
- Running Backstage locally: 'getting-started/index.md'
- Installation: 'getting-started/installation.md'