OS Migrate project
OpenStack cloud-to-cloud migration toolkit
3 people team for:
development, testing, docs,
CI ops (3 clouds),
supporting users.
There's a lot on our plate.
Work insane hours? No!
Improve how we spend time!
"What am I solving by doing this?"
"Is it worth the time?"
Existing activities:
Retrospect. Don't get stuck in obsolete activities.
Hint: Question disliked activities/patterns.
"What am I solving by doing this?"
"Is it worth the time?"
New goals:
"What do we want to achieve?" is not enough.
"How much of our time is this goal worth?"
Adjust goal scope accordingly.
"What am I solving by doing this?"
"Is it worth the time?"
Experiments:
Often necessary for progress!
Define "why", scope, timebox.
Inherent complexity vs added complexity.
en.wikipedia.org/wiki/Decision_fatigue
Automate all the things.
If you can't automate, document.
Consistency with existing suboptimals
can be better than isolated improvement.
(When refactoring, fix all occurences.)
CI philosophy:
CI is the focal point of QA.
Strict separation tests vs CI, documented.
All test types runnable by devs, exactly as CI.
Containerized dev/CI environment.
Testing philosophy:
Separate internal logic from external API calls
so that unit tests can be written without mocks.
Unit tests for pure internal logic only.
Functional tests for involving externals.
➡ Tests easy to write and maintain.
CI ops:
3 clouds / 5 routers / 11 subnets / 20 servers.
All virtual.
No HW procurement, no obsolesence.
Scales dynamically. Software-defined, automated.
Keep costs (effort) proportional to benefits.
"Why". Scope. Timeboxing. Retrospectives.
Keep your brain power for the important stuff.
Automation. Documentation. Consistency.