9 ms·
Github is a platform that comes with all platform-related risks, i.e. operational risk of having the whole development and SDLC lifecycle blocked, creating a ve
by nrvn 5y ago
Github is a platform that comes with all platform-related risks, i.e. operational risk of having the whole development and SDLC lifecycle blocked, creating a vendor lock due to using some unique github features, inability to rely on third-party dependencies hosted on github.
There are a couple of strategies one could rely on to mitigate the risk of github downtime:
- create a map of features between github and competitors, find the common denominator and risk accept anything that is unique to github but viral for your business/product;
- maintain a primary self hosted instance of gitea/gitlab/sourcehut and use github as a mirror;
- use github as a primary platform, maintain mirror with public gitlab and switch to gitlab in case of outage;
- if github is used beyond its primary purpose(git hosting) put some efforts to maintain the same features in gitlab/gitea/sourcehut, i.e. use CI features of both platoforms and push releases and artifacts to both of them so that end users have the choice.
- separate concerns and not go all in with github as a platform for the whole SDLC and project management and instead use different tools/platforms for different purposes.
Yes, it takes more time for the initial setup but it quickly pays back.
The above applies to those cases where your products need to be hosted publicly.