4 ms·
This GUI must have a pretty advanced versioning and rollback support, otherwise I can see one user borking the whole API with a bad change and nowwhere to check
by alufers 5y ago
This GUI must have a pretty advanced versioning and rollback support, otherwise I can see one user borking the whole API with a bad change and nowwhere to check what happened.
- deleted 5y ago[deleted]
- throwawayuber29 5y agoFormer Uber employee who worked on this system. It maps changes onto git changes (technically Phabricator diffs) and this system open the diff for you.
- madan 5y agoJust to add, the changes are just config changes at this point and not code changes. One one user talking own all APIs, the system has ability to skip unmountable APIs, but we catch it during user interactions with tons of test and validations.
- menzoic 5y agoYou only change one endpoint at a time. Fixes are rollforward since you would be reverting changes to other endpoints if you rolled back.
- junon 5y agoIt did not. The deployment system at Uber was a f*ing nightmare. Things would fail, rollback, and then the logs would have their errors truncated or something. I wasted so many days deploying botched releases from coworkers. And the use of Phabricator at Uber was a nightmare. LLVM uses it correctly, IDK what Uber did but it was a PITA to do really anything. Pair that with the siloed off teams where "every team is its own startup" mentality and you have constant fighting, power grabs, being blocked all the time, etc.