[TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema...

25
TIPS Live change of the system Releasing new versions when the system is running TIPS Contact Group #10 Frankfurt am Main, 26.09.2018

Transcript of [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema...

Page 1: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

TIPS Live change of the system

Releasing new versions when the system is running

TIPS Contact Group #10

Frankfurt am Main, 26.09.2018

Page 2: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

Vitangelo Lasorella Banca d’Italia – Responsible for TIPS development team [email protected]

More info about us at: http://www.bancaditalia.it/chi-siamo/organizzazione/ac/informatica/index.html?com.dotmarketing.htmlpage.language=1

September 18 – TIPS System Live Change – Please mention us if you use this material.

Page 3: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

3 Directory

TIPS change and release What the application does for making possible to deploy versions without disruption of the service.

Case studies Some examples about how this will presumably happen in some cases on the horizon

Wrap-up Just a short recap.

Page 4: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

TIPS Change and release How the change & release approach works

Page 5: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

5 TIPS change and realease

✘ TIPS compatibility mode ✘ Canary release process

In a nutshell: TIPS is operated h24, mostly unmanned. This is possible because critical parts of the system has been designed as clusters of redundant nodes. Installing new versions of software in a H24 system requires special care: ad hoc designed application features shall prevent service disruptions and reduce the risk of malfunctioning. Nonetheless, each change must be designed having in mind, since the beginning, how it will be installed into production.

Page 6: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

6

As seen before, TIPS has two types of redundant nodes:

Sequencing Parallelization

Hot-ready

Hot-ready

ACTIVE

«horizontally scalable»

«vertically scalable»

TIPS C&R Types of node

Page 7: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

7

When a “parallel” node fails, the others take the entire workload For “sequential” nodes, next eligible node becomes active

Hot-ready

Hot-ready

ACTIVE

ACTIVE

TIPS C&R Types of node

Sequencing Parallelization

Page 8: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

8

24/7/365 means

“no maintenance window”

How to change software version when service is

running?

TIPS C&R

Page 9: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

9

• Maintenance, Infrastructure, Patch management, etc.

• System configuration Deployment of new versions, configuration data injection, etc.

OPERA-TIONAL

OPERA-TIONAL

OPERA-TIONAL OFFLINE

Repl

icas

Red

un

dant

outp

ut

FLO

WS

TIPS C&R Compatibility mode

Page 10: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

10

Repl

icas

Red

un

dant

outp

ut

FLO

WS

OPERA-TIONAL

OPERA-TIONAL

Warming-up

e.g.: new configured instance must be really active only after some checks of correctness have been done

«Not eligible messages»: messages are not used for output (used for comparison)

OPERA-TIONAL new

version

TIPS C&R Compatibility mode

Now new and old version coexist

Page 11: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

11

Compatibility mode

To allow continuous operation: ■ Any change in the system should be designed to be

deployed in two steps: ■ Compatibility mode when new and old behaviors

can coexist ■ New-function mode when old behavior is not

allowed anymore

TIPS C&R Compatibility mode

Page 12: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

12

Canary deployment It is a way to control and minimize impacts of deploying new versions into production

First A slow rolling out of the change involving a small number of payments (marked as yellow messages)

After Rolling out to the entire platform

TIPS C&R Canary deployment

Page 13: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

13

As seen before, TIPS has two types of redundant nodes:

Sequencing Parallelization

Hot-ready

Hot-ready

ACTIVE

Parallel components: «Canary deployment»

Sequential components: «compatibility mode»

TIPS C&R Where C&R features apply

Page 14: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

Case study How the change & release approach applies to some changes

Page 15: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

15

TIPS 0010 - sending of reports to multiple DNs ■ Change must be backward compatible ■ Not suitable for compatibility mode (only

horizontally scalable nodes are affected) ■ Two steps: ■ First, all TIPS nodes will adopt new datamodel -

here canary mode will be used ■ Second, new datamodel can be filled using CRDM

(deploy of CRDM change during MW). New function is available to the community of users

TIPS C&R Examples

Page 16: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

16

TIPS 0008 - Reset of CMB headrooms – 1/3 ■ Change must be backward compatible ■ Both canary mode and compatibility mode will

be used

TIPS C&R Examples

Page 17: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

17

TIPS 0008 - Reset of CMB headrooms – 2/3 ■ Four steps: ■ First, “horizontal” nodes will be upgraded to

new version using canary mode (new function will not be processed because schema validation blocks ModifiyLimit with HDRM codeword)

■ Second, “vertical node” will be deployed using compatibility mode – still dormant new function

TIPS C&R Examples

Page 18: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

18

TIPS 0008 - Reset of CMB headrooms – 3/3 ■ Four steps: ■ Third, XML schema is updated to accept new

message format – change can be deployed in canary mode

■ Fourth, after a few checks, canary mode is switched off

New function is available to the community of users

TIPS C&R Examples

Page 19: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

19

TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromTf

Compatibility mode 1 ■ From T0 all community must be able to accept the new tag

(maybe ignoring it) as optional (e.g.: 2 versions of message) Compatibility mode 2 ■ From T1>T0 senders can produce messages with new tag New function mode ■ From Tf >T1 all senders must produce messages with the

new tag - Change is complete

TIPS C&R Examples

Page 20: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

20

TIPS 0007 - Generic change of XML schema – 2/4 Case two: a new optional tag is added to a schema, valid from Tf

Compatibility mode ■ From T0 all community must be able to accept (maybe

ignoring it) the new tag New function mode ■ From Tf>T0 senders can produce messages with new tag Change is complete

TIPS C&R Examples

Page 21: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

21

TIPS 0007 - Generic change of XML schema – 3/4 Case three: a mandatory tag is dropped, from Tf

Compatibility mode ■ From T0 the tag is made optional (e.g.: accepting 2 versions

of the message) New function mode ■ From Tf >T0 all senders are not allowed to produce

messages with the dropped tag anymore Change is complete

TIPS C&R Examples

Page 22: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

22

TIPS 0007 - Generic change of XML schema – 4/4 Case four: an optional tag is dropped, from Tf

New function mode ■ From Tf all senders are not allowed to produce messages

with the dropped tag anymore

Change is complete

TIPS C&R Examples

Page 23: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

Wrap-up Time for a recap

Page 24: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

Recap

System must be updated

progressively

TIPS operates 24/7/365

Compatibility mode

Tailored and designed together with the change

New processes Backward compatibility / coexistence

TIPS is a distributed

system

New features

Canary mode

Page 25: [TIPS] CG 2018-09-26 TIPS Live change of the system · 19 TIPS 0007 - Generic change of XML schema – 1/4 Case one: a new mandatory tag is added to a schema, fromT f Compatibility

THANK YOU! Any questions?