Documentation
Comprehensive, precise, and up-to-date documentation is at the very core of our activity. It helps us to collaborate with each other, and it helps our customers as well. At VSHN we’ve an extensive documentation strategy, and this section of the handbook explains it in detail.
Documentation Index
Documentation | Content | Audience |
---|---|---|
The VSHN Company Handbook |
VSHNeer |
|
VSHN Product Documentation |
VSHNeer, Prospect, End-User |
|
Company Wiki |
VSHNeer, (End-User) |
|
Technical Knowledgebase |
Technical VSHNeer |
|
APPUiO End-User |
Technical VSHNeer, End-User |
|
APPUiO Portal End-User |
VSHNeer, End-User |
|
VSHN Application Catalog End-User |
Technical VSHNeer, End-User |
|
VSHN Portal End-User |
VSHNeer, End-User |
|
Project Syn |
VSHNeer, End-User, Prospect |
|
K8up (Kubernetes Backup Operator) |
VSHNeer, End-User, Prospect |
|
Mostly marketing and blog articles |
Prospect |
Audience
Documentation is only as good if the content matches the audience reading it. We see the following audiences:
- VSHNeer
-
All VSHNeers.
- Technical VSHNeer
-
VSHNeer doing system administration, solution architecture and other technically focused jobs.
- End-User
-
A person actively using VSHN products day-to-day.
- Prospect
-
A potential customers.
Tools We Use
There are various tools we use to document our work:
-
Antora with AsciiDoc, Documentation as Code.
-
README files in code repositories (either Markdown or AsciiDoc).
-
Our VSHN wiki, based on Atlassian Confluence.
Documentation as Code
We extensively make use of Antora and AsciiDoc. This allows us to store documentation in Git, leveraging all the possibilities it gives us (history, pull/merge requests, automated deployments). All (most) Antora based sites are linked in the knowledge base.
To find the source of a documentation simply click on Edit this Page top-right, and it will bring you to the source. The README of the documentation sources have more information about how to work with them.
Handbook
The VSHN Handbook is the document you are currently reading. It documents how VSHN works and how we at VSHN work. It’s geared towards new employees, it serves the purpose of telling potential new hires about us. But it’s also a reference for active VSHNeers to read about VSHN whenever needed, to help have a self-informed live at any VSHN-day and to document any changes or improvements.
The handbook doesn’t contain any confidential or customer specific information, and is therefore meant to be public.
Handbook vs Wiki
The following table describes the major differences between the Handbook and our Wiki.
Handbook | Wiki | |
---|---|---|
Stability |
Stable, carefully reviewed changes |
Dynamic, a lot of changes and collaboration |
Who is it for |
For new and prospective hires, for active VSHNeers: eventually for the public |
For active VSHNeers, VSHN customers and VSHN partners |
History |
yes, via git |
yes, via page history |
internal content |
no |
yes |
confidential content |
no |
yes |
customer specific content |
no |
yes |
Examples |
Your first day at VSHN |
How you setup your vshn.ch e-mail address |
How Team and Interest Groups work |
Team shift scheduling table |
|
What the VSHN Connect is |
Meeting notes from the VSHN day |
Confluence Wiki
Internal or confidential information is documented in the Atlassian Confluence VSHN wiki.
If you use Firefox you can add the Confluence and Jira search engine to your "One-Click Search Engines" list by clicking the … button on the location bar. Then, in |
You should take a look at our wiki, and if you find a mistake, an error, or a typo, select the "Edit" button (or just hit the E key) and correct it. We use Confluence as wiki software. Don’t worry of making mistakes, Confluence stores the history of every change, and you can always roll back a previous version of any page if needed.
Account
VSHNeers must login with their @vshn.net
Address and are automatically logged in via our IdP.
Customers can be added as guests and assigned to their respective spaces. Customers are required to use their personal Atlassian accounts to access our wiki.
Customer Spaces
Each VSHN customer gets its own Space in our wiki. Access can be granted for the customer users to access their space.
-
Space Name: Customer: <customername>
-
00-OnCall: Contains relevant information for 24x7 on-call engineers. Exists only, if the customer has a 24x7 support SLA
-
01 Services: Overview over all services we’re operating for the customer with a tight focus on anything the is customized/different from our standard setups and products
-
<Service A>: Managed GitLab
-
<Platform B>
-
DB Servers
-
Load balancers
-
Monitoring checks
-
-
-
02 Meeting notes:
-
<2019–05–10 Meeting bla blah blah> (use meeting notes template!)
-
-
03 HowTo articles: No further structure, just single pages per how-to article, use tags!
-
12 Projects: Running projects (done or closed projects are archived and relevant information moved to How-to articles and Services
-
13 Incident reports:
-
<2019–05–10 xyz incident postmortem>
-
-
Work Groups
Each VSHN Work Group gets its own wiki space. There is no given structure, do whatever works for you.
-
Space Name: VSHN <Work Group name> Work Group
Teams
Each VSHN team gets its own wiki space. There is no given structure, do whatever works for you.
-
Space Name: VSHN <Teamname> Team
Rules
As soon something has value for not only the Team, it must be documented in a "global" Wiki space (or maybe the handbook).
Some examples on what’s a good and a bad idea to keep inside the team space:
- Good
-
-
How this particular Team works, how to work together
-
Team shift planning tables and stuff like that
-
Team internal organization (projects)
-
Meeting notes (name them <year>-<month>-<day> …)
-
Retro notes (name them <year>-<month>-<day> …)
-
- Bad
-
-
How-tos that also have value for other teams (for example, a technical guide on how to setup something)
-
Workflows that also affect other teams (for example, how we hand over tickets to another team, etc.)
-
Business
Contains short-lived or frequently updated organizational stuff that doesn’t fit into the Handbook, for example, Meeting notes, current projects, how-to articles
-
Space Name: VSHN Business
-
02 Meetings (Meeting notes)
-
03 How-to articles (should mostly go into Handbook)
-
12 Projects (non-tech projects, for example, "New Documentation structure")
-
13 Research
-
-
Space Key: VINT
Technical
Contains short-lived or frequently updated organizational stuff that doesn’t fit into the Handbook, for example, Meeting notes, current projects, how-to articles, maintenance logs, Research, etc.
-
Space Name: VSHN Technical
-
03 How-to articles
-
12 Projects (non customer specific tech projects)
-
13 Research
-
Maintenance Logs
-
-
Space Key: VT
GitHub & GitLab
Code (Apps, Tools, Ansible playbooks and roles, Puppet profiles and modules, etc.) are documented within the same git project, usually in a README
written in Markdown or AsciiDoc.
These projects can also contain an Antora-based documentation under docs/
which is published under a specific domain. For example Commodore components do have their documentation in the docs/
folder and the documentation is available in the Component Hub.
Jira
Our ticket system is based on Atlassian Jira. There is a whole page in this handbook on How we use Jira.
Regarding documentation, it’s important to say that we document everything related to a specific task, problem or incident directly in the ticket but link related tickets, wiki pages, etc. to the ticket.
For incidents, usually an incident report is written in the wiki based on the information in the ticket gathered during debugging an analysis.