Router
v0.example.com
#itakeunconf
example-api-v0-6327638
example
Products
example-api-v0-6786234
example
Products
Slide 23
Slide 23 text
Drain Requests
#itakeunconf
Slide 24
Slide 24 text
Router
v0.example.com
#itakeunconf
example-api-v0-6327638
example
Products
example-api-v0-6786234
example
Products
Slide 25
Slide 25 text
Router
v0.example.com
#itakeunconf
example-api-v0-6327638
example
Products
example-api-v0-6786234
example
Products
Slide 26
Slide 26 text
SemVer Your Software
http://www.tugberkugurlu.com/archive/versioning-software-builds-based-on-git-tags-and-semantic-versioning-semver
#itakeunconf
Slide 27
Slide 27 text
SemVer Your Software
• See semver.org
• Support 2 Major versions of the HTTP Service, not 1, not 3.
• Define a support policy for support lifetime for versions
#itakeunconf
Slide 28
Slide 28 text
Type of Changes
• Patch: No user facing changes, all internal.
• Minor: Add functionality in a backwards-compatible manner
• Major: Introducing incompatible changes
• See semver.org for more information
#itakeunconf
Slide 29
Slide 29 text
Minor-Patch Releases
• No breaking changes
#itakeunconf
Slide 30
Slide 30 text
example-api-v0-6327638
example-api-v0-7814219
example-api-v0-9528392
LB
v0.example.com
example
Products
example
Products
example
Products
example-api-v0-6786234
example-api-v0-3266280
example-api-v0-8429842
example
Products
example
Products
example
Products
Major Releases
• Breaking Changes
• First Major Release
• Non-first Major Releases
#itakeunconf
Slide 37
Slide 37 text
example-api-v0-6327638
example-api-v0-7814219
example-api-v0-9528392
LB
v0.example.com
example
Products
example
Products
example
Products
example-api-v1-2276168
example-api-v1-5677802
example
Products
example
Products
LB
v1.example.com
example-api-v1-7182721
example
Products
Slide 38
Slide 38 text
Prefer Fast-forward Database Changes
#itakeunconf
Slide 39
Slide 39 text
#itakeunconf
Id Make Model Colour
1 Renault Clio Red
2 Mercedes GLA Black
3 Volkswagen Polo White
4 Toyota Yaris Yellow
Id Make Model Colour
1 Renault Clio Red
2 Mercedes GLA Black
3 Volkswagen Polo White
4 Toyota Yaris Yellow
v1
v2
Slide 40
Slide 40 text
Do Not Override Client Side Assets
#itakeunconf
Slide 41
Slide 41 text
#itakeunconf
v1
v1.1
Slide 42
Slide 42 text
#itakeunconf
v1
v1.1
Slide 43
Slide 43 text
Be Aware of the Context
#itakeunconf
Slide 44
Slide 44 text
Be Aware of the Context
• Cookies
• Sessions
• Authentication Tokens