ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Decision IDDesign DecisionJustificationImplicationImplementedIf No, Why
2
APP-001Avoid using cloud-proprietary servicesCloud proprietary services can lock your customers into a specific cloud and limit your future optionsIncreased cloud independence and lower support burden
3
APP-002Use horizontally scalable servicesHorizontally scalable services allow customers to scale as necessary to support increased demandMay limit some of your service options
4
APP-003Use declaratively database schemas (see schemahero.io)Allows seamless life cycle management of your applicationNone
5
APP-004Wait for resources to become availableAvoids exposing crashloop backoff conditions to end usersprovides expected end user behavior, same outcome can be achieved in packaging with init containers if necessary
6
BUILD-001Integrate the Replicated cli with your CI workflowIntegration with your CI pipeline ensures that every iteration of your software is available for testing and can be promoted quickly to customersNone
7
BUILD-002Use the --auto flag on the replicated release create commandThis flag embeds best practices for creating replicated releasesThe functionality of the auto flag may change as new best practices are implemented and release notes should be watched for change in behavior
8
BUILD-003Sign all commitsSigning commits helps show you are conforming to a secure supply chainNone
9
BUILD-004Sign container images and provide verification mechanismSigning container images helps show you are conforming to a secure supply chainNone
10
PACK-001Use a git branch per channel for your deployment repository that match the release channel in the vendor portalThis idiom lets you quickly identify which section of your source aligns to what release channel. It also follows the in-built --auto flags of the replicated CLINone
11
PACK-002Have preflight checks for any underlying constraints you have on the underlying kubernetes clusterPreflight checks can guarantee your underlying platform meets your expectationsMissing preflight checks can result in later support calls when the application does not perform as expected
12
PACK-003Use Helm charts to create your application manifestsHelm charts open up additional deployment options and allow you to build on other chartsWhile Helm charts open additional deployment options, they introduce additional complexity. Caution should be taken to keep the go templates as simple as possible. Additionally, manifests that are go templates are not parseable yaml which can limit options for linting and other automated manifest manipulation.
13
PACK-004Do not package an ingress controllerIngress should be provided by the distributionNot providing an ingress controller means you must limit some of the ingress features you can use. A preflight check can be used to verify a compatible controller is being used.
14
RELE-001For customer facing channels use semantic versioningSemver will allow your customers to understand the expected impact of upgradingUsing semver requires diligences to maintain the expected contract with your customers
15
RELE-002Match release channels and package repository branch namesSimplifies logic between systemsNone
16
RELE-003Be consistent in your versioning across channelsConsistent versioning will help if you want to switch a customer between channelsNone
17
DELV-001For each customer, guide them to use whichever cluster deployment model (existing vs embedded) they are already the most familiar or comfortable with.All clusters can be run well, but not all customers can run all clusters. By meeting your customers where they are, you optimize their chance of success.Replicated enables you to deploy anywhere, the most important thing to consider is what is best for that customer.
18
DELV-002Enterprise customer should integrate with existing observability and logging platformsIntegrating with their existing stacks means the customer will be able to effectively manage the availability and performance of the installationProviding procedures and documentation to help customers integrate with their existing log and monitoring platforms will help keep your software available and reduce MTTR when there is an issue.
19
SUPP-001Integrate support bundles with your incident processSupport bundles help support teams rapid pinpoint the cause of incidentsReduced time to resolve
20
SUPP-002After each incident write an analyzer that would detect the issue in the futureAnalyzers help the customer to self troubleshoot and remediate and increase confidence in the productLess support cases & faster resolution of those opened
21
SUPP-003At your initial deployment, add support analyzers for your known log files and issuesAnalyzers help the customer to self troubleshoot and remediate and increase confidence in the productLess support cases & faster resolution of those opened
22
SUPP-004Create status informers for all your long running statefulsets and deploymentsStatus informers will allow the admin console to accurately depict the status of your applicationLess support cases & accurate representation of state and telemetry
23
DOCS-001Integrate the Enterprise section of docs into your own documentationReplicated provided documentation reduces burden on your technical writing staffNone
24
DOCS-002Watch the replicated-docs repository for changes and update your docs accordinglyUp to date docs help you and your customers install and support efficientlyNone
25
DOCS-003Use vendor doc templatesUp to date docs help you and your customers install and support efficientlyNone
26
SELL-001Integrate replicated sales collateral into your ownReplicated collateral helps articulate the value the Replicated platform brings to your customersWin over IT Operation decision makers
27
SELL-002Integrate replicated license management with your SFDC (Salesforce Datacenter)This gives you a single source of truth in the existing system you haveCustomer clarity and simplified operations
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100