4 ms·
We've certainly embraced the devops approach, releasing many times per day with lots of automation on k8s, but I don't see this as being incompatible with using
by macNchz 8y ago
We've certainly embraced the devops approach, releasing many times per day with lots of automation on k8s, but I don't see this as being incompatible with using LTS releases.
Having an LTS release available offers the flexibility to choose when to upgrade based on any number of factors affecting the business and engineering cycles, the same way we pin software libraries to specific versions so our own stability and build consistency isn't subject to the varying release cycles of the package authors.
There's definitely a balance to be found between waiting so long to upgrade that it becomes insurmountable, and having to frequently run disruptive, mystery-downtime-causing upgrades for unneeded new features.
- solatic 8y agoIf you have an automated test suite for your applications, and you use it to ensure that candidates pass before deployment, why can't you test new Kubernetes releases by ensuring that your apps' test suites (which are known to be good) pass on new Kubernetes versions? If the test suite fails on a new Kubernetes version, then either improve the test suite to get rid of false positives or fix the software. In proper CI/CD practices, build "stability" is an anachronism. Master is always green. Test changes before merging. If the changes fail the test suite then don't merge and don't deploy until it's fixed. Master stays green. Why is dynamic infrastructure any different? LTS only makes sense as a strategy if testing and carrying out the upgrade involve significant amounts of work which needs to be planned out in advance. Ideally, this isn't the case.