WEBVTT

1
00:00:04.915 --> 00:00:07.895
<00:00:04.915>Uh, <00:00:05.090>welcome <00:00:05.265>to <00:00:05.439>the <00:00:05.615>session <00:00:05.790>on <00:00:05.965>well <00:00:06.140>architected <00:00:06.314>framework.

2
00:00:08.435 --> 00:00:10.335
<00:00:08.435>Uh, <00:00:08.715>my <00:00:08.995>name <00:00:09.275>is <00:00:09.555>Pablo <00:00:09.835>Shive.

3
00:00:10.455 --> 00:00:12.175
<00:00:10.455>I <00:00:10.735>am <00:00:11.015>product <00:00:11.295>architect <00:00:11.575>in <00:00:11.855>Dynatrace,

4
00:00:12.175 --> 00:00:15.455
<00:00:12.175>working <00:00:12.375>King <00:00:12.575>Dy <00:00:12.775>Poland <00:00:12.975>on <00:00:13.175>the <00:00:13.375>integration, <00:00:13.575>uh,

5
00:00:15.455 --> 00:00:17.855
<00:00:15.455>between <00:00:15.921>Dynatrace, <00:00:16.388>AWS, <00:00:16.855>Azure,

6
00:00:17.855 --> 00:00:21.495
<00:00:17.855>and <00:00:17.982>GCP <00:00:18.109>to <00:00:18.236>get <00:00:18.364>all <00:00:18.491>metrics, <00:00:18.618>spa <00:00:18.745>and <00:00:18.873>logs <00:00:19.000>to <00:00:19.127>the <00:00:19.255>product.

7
00:00:22.355 --> 00:00:25.495
<00:00:22.355>And, <00:00:22.555>uh, <00:00:22.755>I'm <00:00:22.955>also <00:00:23.155>working <00:00:23.355>as <00:00:23.555>study <00:00:23.755>evangelist,

8
00:00:25.495 --> 00:00:27.175
<00:00:25.495>and <00:00:25.650>this <00:00:25.806>is <00:00:25.961>the <00:00:26.117>reason <00:00:26.272>why <00:00:26.428>I <00:00:26.583>can <00:00:26.739>be <00:00:26.895>here

9
00:00:27.175 --> 00:00:28.775
<00:00:27.175>and <00:00:27.525>share <00:00:27.875>experiences <00:00:28.225>with <00:00:28.575>you.

10
00:00:29.565 --> 00:00:33.305
<00:00:29.565>Uh, <00:00:29.720>I'm <00:00:29.876>working <00:00:30.031>in <00:00:30.187>it <00:00:30.342>for <00:00:30.498>over <00:00:30.653>20 <00:00:30.809>years <00:00:30.965>already.

11
00:00:33.445 --> 00:00:35.225
<00:00:33.445>And <00:00:33.911>one <00:00:34.378>important <00:00:34.845>aspect.

12
00:00:35.225 --> 00:00:38.545
<00:00:35.225>Before <00:00:35.400>Dynatrace, <00:00:35.575>I <00:00:35.750>was <00:00:35.925>working <00:00:36.100>also <00:00:36.275>as <00:00:36.450>developer, <00:00:36.625>uh,

13
00:00:38.765 --> 00:00:41.625
<00:00:38.765>DevOps <00:00:39.045>and <00:00:39.325>architect <00:00:39.605>in <00:00:39.885>financial <00:00:40.165>industry.

14
00:00:41.645 --> 00:00:46.465
<00:00:41.645>And <00:00:41.800>I <00:00:41.956>will <00:00:42.111>share <00:00:42.267>some <00:00:42.422>experiences <00:00:42.578>from <00:00:42.733>this, <00:00:42.889>uh, <00:00:43.045>uh,

15
00:00:46.465 --> 00:00:48.025
<00:00:46.465>experience <00:00:46.931>today <00:00:47.398>with <00:00:47.865>you.

16
00:00:48.485 --> 00:00:50.505
<00:00:48.485>But <00:00:48.640>before, <00:00:48.796>I <00:00:48.951>would <00:00:49.107>like <00:00:49.262>to <00:00:49.418>start <00:00:49.573>with <00:00:49.729>the <00:00:49.885>story.

17
00:00:50.755 --> 00:00:54.625
<00:00:50.755>Three <00:00:50.895>years <00:00:51.035>ago <00:00:51.175>after <00:00:51.315>pandemics, <00:00:51.455>I <00:00:51.595>got <00:00:51.735>first <00:00:51.875>trip <00:00:52.015>to, <00:00:52.155>uh,

18
00:00:54.685 --> 00:00:55.785
<00:00:54.685>our <00:00:55.015>office <00:00:55.345>in <00:00:55.675>Detroit.

19
00:00:56.405 --> 00:01:01.145
<00:00:56.405>So <00:00:56.532>I <00:00:56.659>was <00:00:56.786>going <00:00:56.914>from <00:00:57.041>dy, <00:00:57.168>it <00:00:57.295>is <00:00:57.423>12 <00:00:57.550>hours, <00:00:57.677>uh, <00:00:57.805>flight

20
00:01:01.145 --> 00:01:04.465
<00:01:01.145>through <00:01:01.378>Amsterdam, <00:01:01.611>and, <00:01:01.845>uh, <00:01:02.078>it <00:01:02.311>was <00:01:02.545>June.

21
00:01:04.485 --> 00:01:06.825
<00:01:04.485>So <00:01:04.765>there <00:01:05.045>was <00:01:05.325>electronic <00:01:05.605>art <00:01:05.885>festival.

22
00:01:06.975 --> 00:01:09.465
<00:01:06.975>Detroit <00:01:07.208>was <00:01:07.441>fully <00:01:07.675>booked <00:01:07.908>in <00:01:08.141>the <00:01:08.375>hotels

23
00:01:09.725 --> 00:01:13.505
<00:01:09.725>and <00:01:09.852>that <00:01:09.979>way <00:01:10.106>our, <00:01:10.234>our <00:01:10.361>travel <00:01:10.488>travel, <00:01:10.615>uh, <00:01:10.743>booked <00:01:10.870>me <00:01:10.997>the <00:01:11.125>hotel

24
00:01:13.505 --> 00:01:14.865
<00:01:13.505>that, <00:01:13.811>uh, <00:01:14.116>met <00:01:14.423>our <00:01:14.729>policy,

25
00:01:15.125 --> 00:01:18.785
<00:01:15.125>but <00:01:15.252>I <00:01:15.379>didn't <00:01:15.506>know <00:01:15.634>it <00:01:15.761>booked <00:01:15.888>now <00:01:16.015>is, <00:01:16.143>uh, <00:01:16.270>from <00:01:16.397>the <00:01:16.525>outside,

26
00:01:19.165 --> 00:01:23.225
<00:01:19.164>but <00:01:19.281>when <00:01:19.398>I <00:01:19.514>arrived, <00:01:19.631>I <00:01:19.748>saw <00:01:19.865>no, <00:01:19.981>uh, <00:01:20.098>check <00:01:20.214>in <00:01:20.331>just <00:01:20.448>the <00:01:20.565>desk

27
00:01:23.225 --> 00:01:24.225
<00:01:23.225>with <00:01:23.524>a <00:01:23.824>tiny <00:01:24.125>cart.

28
00:01:24.405 --> 00:01:27.785
<00:01:24.405>Please <00:01:24.545>download <00:01:24.685>app <00:01:24.825>to <00:01:24.965>get <00:01:25.105>your <00:01:25.245>key <00:01:25.385>and <00:01:25.525>check <00:01:25.665>in. <00:01:25.805>Nice.

29
00:01:27.925 --> 00:01:29.505
<00:01:27.925>So <00:01:28.274>with <00:01:28.625>all <00:01:28.975>the <00:01:29.325>tetering

30
00:01:29.765 --> 00:01:32.905
<00:01:29.765>and, <00:01:29.940>uh, <00:01:30.115>being <00:01:30.290>in <00:01:30.465>states <00:01:30.640>with <00:01:30.815>European <00:01:30.990>mobile <00:01:31.165>phone,

31
00:01:32.905 --> 00:01:36.105
<00:01:32.905>I <00:01:33.060>spent <00:01:33.216>like <00:01:33.371>20 <00:01:33.527>hours <00:01:33.682>waiting <00:01:33.838>for <00:01:33.993>this <00:01:34.149>app <00:01:34.305>being,

32
00:01:36.365 --> 00:01:37.465
<00:01:36.365>uh, <00:01:36.695>like <00:01:37.025>very <00:01:37.355>tired.

33
00:01:37.465 --> 00:01:42.225
<00:01:37.465>After <00:01:37.605>trip <00:01:37.745>and <00:01:37.885>bank, <00:01:38.025>I <00:01:38.165>get <00:01:38.305>my <00:01:38.445>app, <00:01:38.585>so <00:01:38.725>I <00:01:38.865>feel,

34
00:01:42.645 --> 00:01:46.585
<00:01:42.645>uh, <00:01:42.772>fill <00:01:42.899>in <00:01:43.026>my <00:01:43.154>company, <00:01:43.281>uh, <00:01:43.408>data, <00:01:43.535>my <00:01:43.663>name, <00:01:43.790>all <00:01:43.917>the <00:01:44.045>things.

35
00:01:46.925 --> 00:01:50.025
<00:01:46.925>And <00:01:47.080>last <00:01:47.236>step, <00:01:47.391>uh, <00:01:47.547>one <00:01:47.702>last <00:01:47.858>step <00:01:48.013>was <00:01:48.169>the <00:01:48.325>payment.

36
00:01:50.405 --> 00:01:52.185
<00:01:50.405>And <00:01:50.685>oops, <00:01:50.965>I <00:01:51.245>get <00:01:51.525>an <00:01:51.805>error.

37
00:01:52.925 --> 00:01:57.065
<00:01:52.925>And <00:01:53.125>the <00:01:53.325>error <00:01:53.524>was <00:01:53.725>a <00:01:53.925>unique <00:01:54.125>key <00:01:54.325>violation.

38
00:01:57.365 --> 00:01:59.305
<00:01:57.365>So <00:01:57.598>I <00:01:57.831>couldn't <00:01:58.065>fill <00:01:58.298>in <00:01:58.531>my <00:01:58.765>cart.

39
00:01:59.465 --> 00:02:00.865
<00:01:59.465>I <00:01:59.645>couldn't <00:01:59.825>get <00:02:00.005>the <00:02:00.185>key <00:02:00.365>to <00:02:00.545>my <00:02:00.725>room

40
00:02:00.865 --> 00:02:02.425
<00:02:00.865>because <00:02:01.145>there <00:02:01.425>was <00:02:01.705>such <00:02:01.985>an <00:02:02.265>error.

41
00:02:02.965 --> 00:02:06.745
<00:02:02.965>It <00:02:03.165>ended <00:02:03.365>up <00:02:03.565>with <00:02:03.765>20 <00:02:03.965>minutes, <00:02:04.165>uh, <00:02:04.365>talk

42
00:02:06.815 --> 00:02:08.025
<00:02:06.815>with <00:02:07.178>the <00:02:07.541>help <00:02:07.904>desk

43
00:02:08.045 --> 00:02:11.905
<00:02:08.044>and <00:02:08.244>some <00:02:08.445>SQL <00:02:08.644>admin, <00:02:08.845>that <00:02:09.044>updated <00:02:09.244>SQL <00:02:09.445>database

44
00:02:11.905 --> 00:02:13.385
<00:02:11.905>to <00:02:12.171>allow <00:02:12.437>me <00:02:12.704>to <00:02:12.970>check <00:02:13.237>in.

45
00:02:14.085 --> 00:02:16.745
<00:02:14.085>And <00:02:14.318>I <00:02:14.551>feel <00:02:14.785>really <00:02:15.018>that <00:02:15.251>these <00:02:15.485>kind

46
00:02:16.745 --> 00:02:18.225
<00:02:16.745>of <00:02:17.011>things <00:02:17.277>are <00:02:17.544>happening <00:02:17.810>to <00:02:18.077>me.

47
00:02:18.565 --> 00:02:21.825
<00:02:18.565>And <00:02:18.765>I'm <00:02:18.965>certainly <00:02:19.165>unlucky, <00:02:19.365>even <00:02:19.565>when <00:02:19.765>I <00:02:19.965>tried

48
00:02:21.825 --> 00:02:25.145
<00:02:21.825>to <00:02:21.964>use <00:02:22.105>We <00:02:22.244>are <00:02:22.385>developers <00:02:22.524>app, <00:02:22.665>I <00:02:22.804>got <00:02:22.945>this <00:02:23.084>nice <00:02:23.225>500,

49
00:02:25.605 --> 00:02:30.145
<00:02:25.605>and <00:02:25.744>when <00:02:25.885>I <00:02:26.024>tried <00:02:26.165>to <00:02:26.304>book <00:02:26.445>the <00:02:26.584>train, <00:02:26.725>uh, <00:02:26.864>to <00:02:27.005>Berlin,

50
00:02:30.805 --> 00:02:32.985
<00:02:30.805>it <00:02:31.005>was <00:02:31.205>also, <00:02:31.405>there <00:02:31.605>was <00:02:31.805>also <00:02:32.005>an <00:02:32.205>error.

51
00:02:33.765 --> 00:02:37.905
<00:02:33.765>But, <00:02:33.998>uh, <00:02:34.231>apparently, <00:02:34.464>uh, <00:02:34.698>I'm <00:02:34.931>not <00:02:35.165>special.

52
00:02:38.125 --> 00:02:41.425
<00:02:38.125>So <00:02:38.300>Ner <00:02:38.475>Vulgarity <00:02:38.650>of <00:02:38.825>Maison <00:02:39.000>has <00:02:39.175>a <00:02:39.350>nice <00:02:39.525>quote.

53
00:02:41.425 --> 00:02:42.865
<00:02:41.425>Everything <00:02:41.749>fails <00:02:42.073>all <00:02:42.397>the <00:02:42.721>time.

54
00:02:43.405 --> 00:02:44.785
<00:02:43.405>And <00:02:43.582>by <00:02:43.759>the <00:02:43.937>way, <00:02:44.114>he <00:02:44.292>will <00:02:44.469>be <00:02:44.647>talking

55
00:02:44.795 --> 00:02:46.705
<00:02:44.795>about <00:02:45.261>resiliency <00:02:45.728>also <00:02:46.195>tomorrow.

56
00:02:46.845 --> 00:02:50.465
<00:02:46.845>So, <00:02:47.020>uh, <00:02:47.195>I <00:02:47.370>think <00:02:47.545>it's <00:02:47.720>worth <00:02:47.895>joining <00:02:48.070>his <00:02:48.245>session.

57
00:02:51.245 --> 00:02:52.705
<00:02:51.245>But, <00:02:51.507>uh, <00:02:51.770>back <00:02:52.033>to <00:02:52.296>this <00:02:52.559>one.

58
00:02:52.845 --> 00:02:57.625
<00:02:52.845>So <00:02:53.020>everything <00:02:53.195>fails <00:02:53.370>and <00:02:53.545>we <00:02:53.720>as <00:02:53.895>software <00:02:54.070>engineers, <00:02:54.245>architects

59
00:02:57.805 --> 00:03:02.285
<00:02:57.805>and <00:02:57.945>developers <00:02:58.085>need <00:02:58.225>to <00:02:58.365>make, <00:02:58.505>uh, <00:02:58.645>out <00:02:58.785>the <00:02:58.925>software <00:02:59.065>run, <00:02:59.205>uh,

60
00:03:02.585 --> 00:03:04.765
<00:03:02.585>the <00:03:02.785>way <00:03:02.985>it <00:03:03.185>will <00:03:03.385>not <00:03:03.585>make <00:03:03.785>the <00:03:03.985>life

61
00:03:04.765 --> 00:03:07.365
<00:03:04.765>of <00:03:05.045>the <00:03:05.325>users <00:03:05.605>miserable <00:03:05.885>as <00:03:06.165>mine.

62
00:03:07.945 --> 00:03:09.885
<00:03:07.945>So, <00:03:08.295>uh, <00:03:08.644>you <00:03:08.995>may <00:03:09.345>be,

63
00:03:10.145 --> 00:03:12.965
<00:03:10.145>and <00:03:10.320>for <00:03:10.495>sure <00:03:10.670>you <00:03:10.845>are <00:03:11.020>solving <00:03:11.195>these <00:03:11.370>issues, <00:03:11.545>uh,

64
00:03:13.065 --> 00:03:15.845
<00:03:13.065>and <00:03:13.265>challenges, <00:03:13.465>uh, <00:03:13.665>in <00:03:13.865>your <00:03:14.065>everyday, <00:03:14.265>uh, <00:03:14.465>work.

65
00:03:16.385 --> 00:03:20.045
<00:03:16.385>But <00:03:16.584>here, <00:03:16.785>Microsoft, <00:03:16.984>uh, <00:03:17.185>comes <00:03:17.385>with <00:03:17.584>the <00:03:17.785>hub.

66
00:03:20.045 --> 00:03:22.125
<00:03:20.045>There <00:03:20.325>is <00:03:20.605>Microsoft <00:03:20.885>World <00:03:21.165>Architected <00:03:21.445>framework

67
00:03:22.435 --> 00:03:23.725
<00:03:22.435>that <00:03:22.822>has <00:03:23.209>many <00:03:23.596>chapters.

68
00:03:23.785 --> 00:03:25.885
<00:03:23.785>And <00:03:24.065>one <00:03:24.345>of, <00:03:24.625>uh, <00:03:24.905>the <00:03:25.185>chapters

69
00:03:25.885 --> 00:03:28.605
<00:03:25.885>that <00:03:26.060>I <00:03:26.234>will <00:03:26.410>be <00:03:26.584>speaking <00:03:26.760>about <00:03:26.935>today <00:03:27.109>is, <00:03:27.285>uh,

70
00:03:29.035 --> 00:03:31.005
<00:03:29.035>designing <00:03:29.501>mission <00:03:29.968>critical <00:03:30.435>workloads.

71
00:03:31.545 --> 00:03:35.435
<00:03:31.545>So, <00:03:31.720>uh, <00:03:31.895>when <00:03:32.070>you <00:03:32.245>go <00:03:32.420>into, <00:03:32.595>uh, <00:03:32.770>Microsoft <00:03:32.945>Learn,

72
00:03:35.615 --> 00:03:37.715
<00:03:35.615>you <00:03:35.895>will <00:03:36.175>get <00:03:36.455>six <00:03:36.735>hour <00:03:37.015>learn.

73
00:03:37.945 --> 00:03:39.475
<00:03:37.945>That <00:03:38.289>is <00:03:38.633>really <00:03:38.977>worth <00:03:39.322>reading

74
00:03:39.475 --> 00:03:42.955
<00:03:39.475>because, <00:03:39.825>uh, <00:03:40.174>it's <00:03:40.525>quality <00:03:40.875>material.

75
00:03:43.135 --> 00:03:46.195
<00:03:43.135>But <00:03:43.334>I <00:03:43.535>wouldn't <00:03:43.734>explain <00:03:43.935>all <00:03:44.135>that <00:03:44.334>theory <00:03:44.535>today.

76
00:03:46.315 --> 00:03:49.035
<00:03:46.315>I <00:03:46.490>want <00:03:46.665>just <00:03:46.840>to <00:03:47.015>encourage <00:03:47.190>you <00:03:47.365>to, <00:03:47.540>uh, <00:03:47.715>uh,

77
00:03:49.175 --> 00:03:50.675
<00:03:49.175>to <00:03:49.512>spend <00:03:49.850>time <00:03:50.187>reading <00:03:50.525>it.

78
00:03:51.615 --> 00:03:56.235
<00:03:51.615>Uh, <00:03:51.755>on <00:03:51.895>top <00:03:52.035>of <00:03:52.175>that, <00:03:52.315>Microsoft <00:03:52.455>also, <00:03:52.595>uh, <00:03:52.735>offers <00:03:52.875>GitHub, <00:03:53.015>uh,

79
00:03:56.595 --> 00:03:59.315
<00:03:56.595>repository <00:03:56.945>with, <00:03:57.295>uh, <00:03:57.645>sample <00:03:57.995>application

80
00:03:59.615 --> 00:04:02.795
<00:03:59.615>and, <00:03:59.965>uh, <00:04:00.315>software, <00:04:00.665>uh, <00:04:01.015>patterns

81
00:04:02.855 --> 00:04:06.235
<00:04:02.855>and <00:04:03.054>like <00:04:03.255>Azure <00:04:03.454>deployment <00:04:03.655>patterns <00:04:03.855>ready <00:04:04.054>to <00:04:04.255>check.

82
00:04:06.895 --> 00:04:09.435
<00:04:06.895>So <00:04:07.050>also <00:04:07.206>you <00:04:07.361>can <00:04:07.517>do <00:04:07.672>it, <00:04:07.828>uh, <00:04:07.983>after <00:04:08.139>a <00:04:08.295>session,

83
00:04:10.375 --> 00:04:13.555
<00:04:10.375>but <00:04:10.575>my <00:04:10.775>point <00:04:10.975>is <00:04:11.175>to <00:04:11.375>share <00:04:11.575>my <00:04:11.775>experiences

84
00:04:13.695 --> 00:04:16.275
<00:04:13.695>and <00:04:14.045>my <00:04:14.394>mistakes, <00:04:14.745>uh, <00:04:15.095>for

85
00:04:16.455 --> 00:04:18.715
<00:04:16.454>and <00:04:16.734>how, <00:04:17.015>whether <00:04:17.294>architected <00:04:17.575>framework <00:04:17.854>could

86
00:04:18.715 --> 00:04:19.755
<00:04:18.714>have <00:04:18.902>helped <00:04:19.089>me <00:04:19.276>in <00:04:19.463>the <00:04:19.651>past.

87
00:04:20.495 --> 00:04:23.435
<00:04:20.495>But <00:04:20.670>before, <00:04:20.845>let's <00:04:21.019>think, <00:04:21.195>what <00:04:21.370>is <00:04:21.545>mission <00:04:21.720>critical <00:04:21.894>workload

88
00:04:23.625 --> 00:04:25.355
<00:04:23.625>that <00:04:23.905>we <00:04:24.185>are <00:04:24.465>talking <00:04:24.745>about <00:04:25.025>today?

89
00:04:25.455 --> 00:04:28.555
<00:04:25.455>So <00:04:25.610>I <00:04:25.766>believe <00:04:25.921>it's <00:04:26.077>originates <00:04:26.232>from <00:04:26.388>the <00:04:26.543>NASA <00:04:26.699>launch <00:04:26.854>program.

90
00:04:28.725 --> 00:04:31.315
<00:04:28.725>There <00:04:28.852>was <00:04:28.979>a <00:04:29.106>space <00:04:29.234>rocket <00:04:29.361>that <00:04:29.488>needs <00:04:29.615>to <00:04:29.743>land <00:04:29.870>on <00:04:29.997>the <00:04:30.125>moon.

91
00:04:31.535 --> 00:04:35.675
<00:04:31.535>And <00:04:31.675>then <00:04:31.815>we <00:04:31.955>need <00:04:32.095>to <00:04:32.235>think <00:04:32.375>what <00:04:32.515>workloads, <00:04:32.655>what <00:04:32.795>streams <00:04:32.935>needs

92
00:04:35.675 --> 00:04:37.755
<00:04:35.675>to <00:04:35.955>operate <00:04:36.235>that <00:04:36.515>are <00:04:36.795>mission <00:04:37.075>critical

93
00:04:38.095 --> 00:04:39.675
<00:04:38.095>to <00:04:38.445>make <00:04:38.795>this <00:04:39.145>mission <00:04:39.495>successful.

94
00:04:39.735 --> 00:04:42.395
<00:04:39.735>So <00:04:39.968>this <00:04:40.201>is <00:04:40.435>likely <00:04:40.668>safety <00:04:40.901>critical <00:04:41.135>assessment

95
00:04:42.495 --> 00:04:45.475
<00:04:42.495>of <00:04:42.728>the <00:04:42.961>mission <00:04:43.195>critical <00:04:43.428>workload <00:04:43.661>in <00:04:43.895>businesses.

96
00:04:45.495 --> 00:04:47.395
<00:04:45.495>We <00:04:45.695>will <00:04:45.895>have <00:04:46.095>in <00:04:46.295>a <00:04:46.495>real, <00:04:46.695>in <00:04:46.895>business,

97
00:04:47.395 --> 00:04:48.835
<00:04:47.395>we <00:04:47.719>will <00:04:48.043>have <00:04:48.366>business <00:04:48.691>critical,

98
00:04:48.835 --> 00:04:51.435
<00:04:48.835>so <00:04:49.114>financial <00:04:49.395>assessment <00:04:49.674>of <00:04:49.955>our <00:04:50.234>systems.

99
00:04:51.495 --> 00:04:54.675
<00:04:51.495>So <00:04:51.650>mission <00:04:51.806>critical <00:04:51.961>workflows <00:04:52.117>are <00:04:52.272>the <00:04:52.428>parts <00:04:52.583>of <00:04:52.739>our <00:04:52.895>systems

100
00:04:55.465 --> 00:04:57.915
<00:04:55.465>that <00:04:55.698>when <00:04:55.931>fail <00:04:56.165>will <00:04:56.398>cause <00:04:56.631>the <00:04:56.865>several

101
00:04:58.495 --> 00:05:00.675
<00:04:58.495>damage <00:04:58.728>when <00:04:58.961>it <00:04:59.195>comes <00:04:59.428>into <00:04:59.661>our <00:04:59.895>income.

102
00:05:01.415 --> 00:05:04.115
<00:05:01.415>And <00:05:01.648>when <00:05:01.881>we <00:05:02.115>design, <00:05:02.348>uh, <00:05:02.581>the <00:05:02.815>software

103
00:05:04.115 --> 00:05:07.075
<00:05:04.115>and <00:05:04.348>the <00:05:04.581>platform <00:05:04.815>for <00:05:05.048>mission <00:05:05.281>critical <00:05:05.515>workflows,

104
00:05:07.615 --> 00:05:10.755
<00:05:07.615>the <00:05:07.815>key <00:05:08.015>thing <00:05:08.215>is <00:05:08.415>that <00:05:08.615>we <00:05:08.815>maximize <00:05:09.015>reliability

105
00:05:11.735 --> 00:05:13.235
<00:05:11.735>and <00:05:12.185>we <00:05:12.635>sacrifice <00:05:13.085>cost.

106
00:05:13.255 --> 00:05:17.035
<00:05:13.255>So <00:05:13.395>we <00:05:13.534>don't <00:05:13.675>care <00:05:13.815>that <00:05:13.955>much <00:05:14.094>about <00:05:14.235>cost <00:05:14.375>maximum <00:05:14.515>reliability <00:05:14.655>is

107
00:05:17.035 --> 00:05:20.155
<00:05:17.035>important, <00:05:17.235>but <00:05:17.435>it <00:05:17.635>cannot <00:05:17.835>be <00:05:18.035>a <00:05:18.235>one <00:05:18.435>off.

108
00:05:20.215 --> 00:05:23.755
<00:05:20.215>So <00:05:20.390>we <00:05:20.565>need <00:05:20.739>to <00:05:20.914>sustain <00:05:21.090>this <00:05:21.265>performance <00:05:21.440>and <00:05:21.614>reliability

109
00:05:25.015 --> 00:05:28.835
<00:05:25.015>and, <00:05:25.155>uh, <00:05:25.294>also <00:05:25.435>think <00:05:25.575>about <00:05:25.715>what, <00:05:25.854>uh, <00:05:25.995>how <00:05:26.135>should <00:05:26.275>we <00:05:26.414>react

110
00:05:29.385 --> 00:05:30.915
<00:05:29.385>when <00:05:29.844>real <00:05:30.303>problem <00:05:30.762>happens.

111
00:05:31.055 --> 00:05:32.635
<00:05:31.055>So <00:05:31.405>it's <00:05:31.755>also <00:05:32.105>about <00:05:32.455>operations,

112
00:05:33.335 --> 00:05:35.955
<00:05:33.335>and <00:05:33.510>also <00:05:33.685>we <00:05:33.859>need <00:05:34.034>to <00:05:34.210>prevent <00:05:34.385>our <00:05:34.560>system, <00:05:34.734>uh,

113
00:05:35.955 --> 00:05:38.995
<00:05:35.955>from <00:05:36.130>the <00:05:36.305>intruders <00:05:36.479>because <00:05:36.655>they <00:05:36.830>can <00:05:37.005>affect <00:05:37.180>our <00:05:37.354>reliability.

114
00:05:39.055 --> 00:05:40.115
<00:05:39.055>So <00:05:39.373>it's <00:05:39.691>about <00:05:40.009>security.

115
00:05:40.575 --> 00:05:42.755
<00:05:40.575>And <00:05:40.775>last <00:05:40.974>but <00:05:41.175>not <00:05:41.375>least, <00:05:41.575>we <00:05:41.775>are <00:05:41.974>operating,

116
00:05:43.055 --> 00:05:44.075
<00:05:43.055>uh, <00:05:43.361>in <00:05:43.667>Azure <00:05:43.973>Cloud.

117
00:05:44.135 --> 00:05:48.035
<00:05:44.135>So <00:05:44.275>we <00:05:44.414>should <00:05:44.555>leverage <00:05:44.695>all <00:05:44.835>the <00:05:44.974>goodness <00:05:45.115>of <00:05:45.255>Asia <00:05:45.395>like <00:05:45.534>pass

118
00:05:48.295 --> 00:05:52.675
<00:05:48.295>and <00:05:48.450>SaaS <00:05:48.606>services <00:05:48.761>to <00:05:48.917>reduce, <00:05:49.072>uh, <00:05:49.228>the, <00:05:49.383>uh, <00:05:49.539>operations <00:05:49.695>burden

119
00:05:52.975 --> 00:05:56.875
<00:05:52.975>and <00:05:53.115>make <00:05:53.255>us <00:05:53.395>focus <00:05:53.535>on <00:05:53.675>what <00:05:53.815>we, <00:05:53.955>uh, <00:05:54.095>need <00:05:54.235>to <00:05:54.375>do.

120
00:05:58.625 --> 00:06:02.205
<00:05:58.625>One, <00:05:58.741>uh, <00:05:58.858>of <00:05:58.975>the <00:05:59.091>two <00:05:59.208>aspects <00:05:59.325>that <00:05:59.441>you <00:05:59.558>need <00:05:59.675>to <00:05:59.791>think <00:05:59.908>is, <00:06:00.025>uh,

121
00:06:02.235 --> 00:06:05.325
<00:06:02.235>when <00:06:02.468>designing <00:06:02.701>a <00:06:02.935>reliable <00:06:03.168>system <00:06:03.401>is <00:06:03.635>availability.

122
00:06:05.645 --> 00:06:09.805
<00:06:05.645>SLO <00:06:05.820>availability <00:06:05.995>SLO <00:06:06.169>is <00:06:06.344>not <00:06:06.520>just <00:06:06.695>the <00:06:06.870>response <00:06:07.044>time

123
00:06:09.805 --> 00:06:10.805
<00:06:09.805>of <00:06:10.105>the <00:06:10.405>health <00:06:10.705>check.

124
00:06:10.955 --> 00:06:12.045
<00:06:10.955>It's <00:06:11.445>rather <00:06:11.936>information

125
00:06:12.105 --> 00:06:14.845
<00:06:12.105>how <00:06:12.455>your <00:06:12.805>end-to-end <00:06:13.155>transaction <00:06:13.505>performs.

126
00:06:15.035 --> 00:06:18.125
<00:06:15.035>Like, <00:06:15.268>uh, <00:06:15.501>adding <00:06:15.735>something <00:06:15.968>to <00:06:16.201>the <00:06:16.435>cart

127
00:06:18.345 --> 00:06:21.005
<00:06:18.345>or <00:06:18.578>whatever <00:06:18.811>is <00:06:19.045>relevant <00:06:19.278>for <00:06:19.511>your <00:06:19.745>business.

128
00:06:21.425 --> 00:06:25.365
<00:06:21.425>And <00:06:21.580>you <00:06:21.736>can, <00:06:21.891>uh, <00:06:22.047>sorry, <00:06:22.202>you <00:06:22.358>can <00:06:22.513>consider <00:06:22.669>multiple <00:06:22.825>tiers

129
00:06:25.365 --> 00:06:26.405
<00:06:25.365>of <00:06:25.832>this <00:06:26.301>availability.

130
00:06:26.645 --> 00:06:30.765
<00:06:26.645>SLO. <00:06:26.800>So <00:06:26.956>the <00:06:27.111>most <00:06:27.267>common <00:06:27.422>is <00:06:27.578>three <00:06:27.733>nines, <00:06:27.889>nine, <00:06:28.044>9.9.

131
00:06:30.785 --> 00:06:34.685
<00:06:30.785>And <00:06:30.925>it <00:06:31.065>means <00:06:31.205>that <00:06:31.345>your <00:06:31.485>system <00:06:31.625>can <00:06:31.765>be <00:06:31.905>randomly <00:06:32.045>down <00:06:32.185>up

132
00:06:34.685 --> 00:06:37.165
<00:06:34.685>to <00:06:34.918>eight <00:06:35.151>hours, <00:06:35.385>45 <00:06:35.618>minutes <00:06:35.851>a <00:06:36.085>year.

133
00:06:37.545 --> 00:06:40.125
<00:06:37.545>And <00:06:37.720>you <00:06:37.895>need, <00:06:38.070>uh, <00:06:38.245>to <00:06:38.420>make <00:06:38.595>your <00:06:38.770>business <00:06:38.945>aware

134
00:06:40.125 --> 00:06:41.405
<00:06:40.125>that <00:06:40.355>this <00:06:40.585>is, <00:06:40.816>uh, <00:06:41.046>the <00:06:41.277>case.

135
00:06:42.345 --> 00:06:46.765
<00:06:42.345>You <00:06:42.520>can <00:06:42.695>optimize <00:06:42.870>this, <00:06:43.045>uh, <00:06:43.220>reliability, <00:06:43.395>uh, <00:06:43.570>build, <00:06:43.745>uh,

136
00:06:46.765 --> 00:06:49.285
<00:06:46.765>designing <00:06:47.115>your <00:06:47.465>architecture, <00:06:47.815>uh, <00:06:48.164>better.

137
00:06:49.705 --> 00:06:54.085
<00:06:49.705>But <00:06:49.821>this <00:06:49.938>comes <00:06:50.055>with <00:06:50.171>cost <00:06:50.288>and <00:06:50.405>you <00:06:50.521>can <00:06:50.638>max <00:06:50.755>out <00:06:50.871>to <00:06:50.988>five <00:06:51.104>nines.

138
00:06:54.085 --> 00:06:56.125
<00:06:54.085>Those <00:06:54.435>six <00:06:54.784>nines <00:06:55.135>is <00:06:55.484>rather

139
00:06:56.185 --> 00:06:57.845
<00:06:56.185>for <00:06:56.651>single <00:06:57.118>infrastructure <00:06:57.585>component,

140
00:06:57.905 --> 00:07:01.885
<00:06:57.905>and <00:06:58.104>it's <00:06:58.304>not <00:06:58.505>what <00:06:58.705>business <00:06:58.905>systems, <00:06:59.104>uh, <00:06:59.304>achieve.

141
00:07:02.825 --> 00:07:04.325
<00:07:02.825>Second <00:07:03.162>aspect <00:07:03.500>that <00:07:03.837>you <00:07:04.175>need

142
00:07:04.325 --> 00:07:07.325
<00:07:04.325>to <00:07:04.525>consider <00:07:04.724>designing <00:07:04.925>mission <00:07:05.125>critical <00:07:05.325>workloads <00:07:05.525>is, <00:07:05.724>uh,

143
00:07:08.045 --> 00:07:10.725
<00:07:08.045>recovery <00:07:08.325>time <00:07:08.605>objective <00:07:08.885>and <00:07:09.165>point <00:07:09.445>objective.

144
00:07:10.785 --> 00:07:13.565
<00:07:10.785>So <00:07:11.018>imagine <00:07:11.251>east <00:07:11.485>US <00:07:11.718>is <00:07:11.951>totally <00:07:12.185>down.

145
00:07:13.905 --> 00:07:17.765
<00:07:13.905>And <00:07:14.044>now <00:07:14.184>the <00:07:14.325>question, <00:07:14.465>when <00:07:14.604>you <00:07:14.744>are <00:07:14.885>migrating <00:07:15.025>to <00:07:15.164>Sweden, <00:07:15.304>uh,

146
00:07:18.035 --> 00:07:21.045
<00:07:18.035>what <00:07:18.190>is <00:07:18.346>the <00:07:18.501>time <00:07:18.657>that <00:07:18.812>is <00:07:18.968>acceptable <00:07:19.123>by <00:07:19.279>your <00:07:19.435>business

147
00:07:21.065 --> 00:07:22.445
<00:07:21.065>to <00:07:21.375>fail <00:07:21.686>over <00:07:21.996>to <00:07:22.307>Sweden?

148
00:07:22.585 --> 00:07:26.045
<00:07:22.585>And <00:07:22.724>this <00:07:22.864>is <00:07:23.005>recovery <00:07:23.145>time <00:07:23.284>objective. <00:07:23.424>You <00:07:23.565>need <00:07:23.705>to <00:07:23.844>set <00:07:23.984>it.

149
00:07:26.465 --> 00:07:28.805
<00:07:26.465>And <00:07:26.698>recovery <00:07:26.931>point <00:07:27.164>objective <00:07:27.398>is <00:07:27.631>something <00:07:27.864>different,

150
00:07:29.105 --> 00:07:31.405
<00:07:29.105>is <00:07:29.280>the <00:07:29.455>time <00:07:29.630>between <00:07:29.805>last <00:07:29.980>backup <00:07:30.155>you <00:07:30.330>have <00:07:30.505>taken

151
00:07:32.025 --> 00:07:34.365
<00:07:32.025>and <00:07:32.200>the <00:07:32.375>time, <00:07:32.549>uh, <00:07:32.724>you <00:07:32.900>recover <00:07:33.075>in <00:07:33.250>this <00:07:33.424>Sweden,

152
00:07:34.365 --> 00:07:36.925
<00:07:34.365>because <00:07:34.505>likely <00:07:34.645>this <00:07:34.785>will <00:07:34.925>be <00:07:35.065>the <00:07:35.205>data <00:07:35.345>loss <00:07:35.485>that <00:07:35.625>you <00:07:35.765>have.

153
00:07:37.425 --> 00:07:41.965
<00:07:37.425>So <00:07:37.600>those <00:07:37.775>two <00:07:37.950>things <00:07:38.125>you <00:07:38.300>need <00:07:38.475>to, <00:07:38.650>uh, <00:07:38.825>negotiate.

154
00:07:42.915 --> 00:07:45.495
<00:07:42.915>Now, <00:07:43.115>going <00:07:43.315>practically, <00:07:43.515>I <00:07:43.715>will <00:07:43.915>show <00:07:44.115>two <00:07:44.315>examples.

155
00:07:45.745 --> 00:07:47.775
<00:07:45.745>First <00:07:46.095>is <00:07:46.445>application <00:07:46.795>design <00:07:47.145>patterns.

156
00:07:47.835 --> 00:07:52.615
<00:07:47.835>So <00:07:47.962>I <00:07:48.089>used <00:07:48.216>to <00:07:48.344>be, <00:07:48.471>uh, <00:07:48.598>I <00:07:48.725>mentioned, <00:07:48.853>uh, <00:07:48.980>CTO <00:07:49.107>of <00:07:49.234>the,

157
00:07:52.875 --> 00:07:54.975
<00:07:52.875>uh, <00:07:53.225>bov, <00:07:53.575>the <00:07:53.925>financial <00:07:54.275>marketplace,

158
00:07:55.435 --> 00:07:57.975
<00:07:55.435>and <00:07:55.610>it <00:07:55.785>was <00:07:55.960>a <00:07:56.135>website <00:07:56.310>where <00:07:56.485>everyone <00:07:56.660>can <00:07:56.835>go

159
00:07:57.995 --> 00:07:59.895
<00:07:57.995>and <00:07:58.228>take <00:07:58.461>a <00:07:58.695>loan <00:07:58.928>within <00:07:59.161>15 <00:07:59.395>minutes.

160
00:08:00.055 --> 00:08:01.495
<00:08:00.055>Thinking <00:08:00.379>clone <00:08:00.703>means <00:08:01.027>that <00:08:01.351>you

161
00:08:02.155 --> 00:08:04.775
<00:08:02.155>get <00:08:02.354>money <00:08:02.554>on <00:08:02.755>your <00:08:02.955>account <00:08:03.155>within <00:08:03.354>15 <00:08:03.554>minutes.

162
00:08:05.275 --> 00:08:08.295
<00:08:05.275>And <00:08:05.450>we <00:08:05.625>were <00:08:05.799>running, <00:08:05.974>running <00:08:06.150>a <00:08:06.325>TL <00:08:06.500>campaign, <00:08:06.674>uh,

163
00:08:08.295 --> 00:08:11.255
<00:08:08.295>that <00:08:08.528>was <00:08:08.761>very <00:08:08.995>expensive, <00:08:09.228>like, <00:08:09.461>uh, <00:08:09.695>during

164
00:08:11.835 --> 00:08:13.975
<00:08:11.835>and <00:08:12.068>during <00:08:12.301>peak <00:08:12.534>time, <00:08:12.768>it <00:08:13.001>re <00:08:13.234>uh,

165
00:08:14.255 --> 00:08:17.775
<00:08:14.255>resulted <00:08:14.430>in <00:08:14.605>having <00:08:14.780>like <00:08:14.955>600 <00:08:15.130>simultaneous <00:08:15.305>users <00:08:15.480>that <00:08:15.655>trying

166
00:08:17.775 --> 00:08:18.855
<00:08:17.775>to <00:08:18.018>apply <00:08:18.260>for <00:08:18.504>a <00:08:18.747>loan.

167
00:08:19.315 --> 00:08:22.855
<00:08:19.315>And <00:08:19.455>each <00:08:19.594>minute <00:08:19.735>of <00:08:19.875>unavailability <00:08:20.015>was <00:08:20.155>a <00:08:20.295>15 <00:08:20.435>K <00:08:20.575>euro <00:08:20.715>loss.

168
00:08:22.855 --> 00:08:26.775
<00:08:22.855>During <00:08:23.055>this <00:08:23.255>a <00:08:23.455>TL <00:08:23.655>campaign, <00:08:23.855>this <00:08:24.055>was <00:08:24.255>more

169
00:08:26.775 --> 00:08:28.615
<00:08:26.775>or <00:08:27.125>less <00:08:27.474>the <00:08:27.825>component <00:08:28.174>architecture.

170
00:08:28.615 --> 00:08:30.135
<00:08:28.615>So <00:08:28.957>we <00:08:29.299>were <00:08:29.641>running <00:08:29.983>microservices.

171
00:08:30.755 --> 00:08:34.295
<00:08:30.755>We <00:08:30.955>had, <00:08:31.155>uh, <00:08:31.355>applicant <00:08:31.555>that, <00:08:31.755>uh, <00:08:31.955>was, <00:08:32.155>uh,

172
00:08:34.445 --> 00:08:35.975
<00:08:34.445>landing <00:08:35.133>into <00:08:35.822>WordPress

173
00:08:36.075 --> 00:08:38.135
<00:08:36.075>and <00:08:36.308>then <00:08:36.541>going <00:08:36.775>into <00:08:37.008>application <00:08:37.241>wizard <00:08:37.475>art

174
00:08:38.435 --> 00:08:39.455
<00:08:38.434>and <00:08:38.894>loan <00:08:39.353>application.

175
00:08:40.005 --> 00:08:42.975
<00:08:40.005>That, <00:08:40.284>uh, <00:08:40.564>served <00:08:40.845>all <00:08:41.125>the <00:08:41.405>workflow

176
00:08:42.975 --> 00:08:45.095
<00:08:42.975>of <00:08:43.325>the <00:08:43.675>application <00:08:44.025>application <00:08:44.375>with,

177
00:08:45.095 --> 00:08:48.095
<00:08:45.095>that <00:08:45.328>was <00:08:45.561>an <00:08:45.795>orchestrator <00:08:46.028>for <00:08:46.261>downstream <00:08:46.495>services.

178
00:08:48.595 --> 00:08:50.135
<00:08:48.595>It <00:08:48.941>was <00:08:49.288>domain <00:08:49.634>driven <00:08:49.981>design.

179
00:08:50.135 --> 00:08:53.095
<00:08:50.135>So <00:08:50.335>we <00:08:50.535>have <00:08:50.735>loan <00:08:50.935>application <00:08:51.135>service, <00:08:51.335>user <00:08:51.535>service,

180
00:08:53.375 --> 00:08:56.045
<00:08:53.375>SMS <00:08:53.608>service, <00:08:53.841>and <00:08:54.075>we <00:08:54.308>had <00:08:54.541>offer <00:08:54.775>aggregator

181
00:08:56.045 --> 00:08:59.765
<00:08:56.045>that <00:08:56.219>was <00:08:56.395>responsible <00:08:56.569>of <00:08:56.745>pushing <00:08:56.920>application <00:08:57.094>into <00:08:57.270>the <00:08:57.444>banks

182
00:09:00.075 --> 00:09:01.725
<00:09:00.075>that <00:09:00.425>really <00:09:00.775>provided <00:09:01.125>the <00:09:01.475>money.

183
00:09:02.305 --> 00:09:05.445
<00:09:02.305>And <00:09:02.460>in <00:09:02.616>addition <00:09:02.771>to <00:09:02.927>the <00:09:03.082>users, <00:09:03.238>we <00:09:03.393>had <00:09:03.549>also <00:09:03.704>marketing

184
00:09:05.445 --> 00:09:09.485
<00:09:05.445>that <00:09:05.561>was <00:09:05.678>using <00:09:05.795>Power <00:09:05.911>BI <00:09:06.028>over, <00:09:06.145>uh, <00:09:06.261>Azure <00:09:06.378>SQL <00:09:06.495>to <00:09:06.611>get <00:09:06.728>some, <00:09:06.845>uh,

185
00:09:09.555 --> 00:09:11.445
<00:09:09.555>like, <00:09:10.021>uh, <00:09:10.488>business <00:09:10.954>reports.

186
00:09:12.265 --> 00:09:14.245
<00:09:12.265>So <00:09:12.545>first <00:09:12.824>thing, <00:09:13.105>first <00:09:13.385>exercise <00:09:13.665>is

187
00:09:14.245 --> 00:09:16.005
<00:09:14.245>to <00:09:14.595>identify <00:09:14.945>mission <00:09:15.295>critical <00:09:15.645>workload

188
00:09:16.065 --> 00:09:19.845
<00:09:16.065>and <00:09:16.240>obviously <00:09:16.415>the <00:09:16.590>mission <00:09:16.765>critical <00:09:16.940>parties <00:09:17.115>taking <00:09:17.290>the <00:09:17.465>loan.

189
00:09:20.465 --> 00:09:23.885
<00:09:20.465>And <00:09:20.745>here <00:09:21.025>we <00:09:21.305>identified <00:09:21.585>availability, <00:09:21.865>SSLO.

190
00:09:23.905 --> 00:09:26.805
<00:09:23.905>It <00:09:24.138>was <00:09:24.371>99.95% <00:09:24.605>that <00:09:24.838>we <00:09:25.071>agreed <00:09:25.305>on,

191
00:09:27.345 --> 00:09:30.045
<00:09:27.345>and <00:09:27.545>we <00:09:27.745>agreed <00:09:27.945>that <00:09:28.145>the, <00:09:28.345>it'll <00:09:28.545>be <00:09:28.745>tracked

192
00:09:30.075 --> 00:09:33.045
<00:09:30.075>with <00:09:30.308>synthetic <00:09:30.541>tests <00:09:30.775>running <00:09:31.008>every <00:09:31.241>15 <00:09:31.475>minutes.

193
00:09:33.565 --> 00:09:36.045
<00:09:33.565>I <00:09:33.740>will <00:09:33.915>tell <00:09:34.090>about <00:09:34.265>them <00:09:34.440>in <00:09:34.615>a <00:09:34.790>later <00:09:34.965>slides.

194
00:09:36.465 --> 00:09:39.005
<00:09:36.465>And <00:09:36.665>when <00:09:36.865>it <00:09:37.065>comes <00:09:37.265>into <00:09:37.465>recovery <00:09:37.665>point, <00:09:37.865>objective

195
00:09:39.025 --> 00:09:42.725
<00:09:39.025>and <00:09:39.180>recovery <00:09:39.336>time <00:09:39.491>objective, <00:09:39.647>RPO <00:09:39.802>was <00:09:39.958>set <00:09:40.113>to <00:09:40.269>zero <00:09:40.425>thanks

196
00:09:42.745 --> 00:09:43.885
<00:09:42.745>to <00:09:43.258>Azure <00:09:43.771>SQL

197
00:09:44.185 --> 00:09:46.725
<00:09:44.185>and <00:09:44.340>active <00:09:44.496>passive <00:09:44.651>failover <00:09:44.807>that <00:09:44.962>we <00:09:45.118>can <00:09:45.273>achieve <00:09:45.429>with <00:09:45.584>that.

198
00:09:48.195 --> 00:09:51.455
<00:09:48.195>And, <00:09:48.350>uh, <00:09:48.506>recovery <00:09:48.661>time <00:09:48.817>objective <00:09:48.972>was <00:09:49.128>set <00:09:49.283>to <00:09:49.439>15 <00:09:49.595>minutes.

199
00:09:52.555 --> 00:09:54.495
<00:09:52.555>And <00:09:52.905>now, <00:09:53.255>uh, <00:09:53.604>what, <00:09:53.954>uh,

200
00:09:54.575 --> 00:09:57.535
<00:09:54.575>architecture <00:09:54.855>pattern <00:09:55.135>software <00:09:55.415>architecture <00:09:55.695>pattern <00:09:55.975>patterns

201
00:09:57.535 --> 00:09:59.855
<00:09:57.535>have <00:09:57.768>you <00:09:58.001>applied <00:09:58.235>first, <00:09:58.468>I <00:09:58.701>believe <00:09:58.935>all

202
00:09:59.855 --> 00:10:01.935
<00:09:59.855>of <00:10:00.055>you <00:10:00.255>are <00:10:00.455>using, <00:10:00.655>so <00:10:00.855>it's <00:10:01.055>scale <00:10:01.255>union.

203
00:10:02.405 --> 00:10:05.735
<00:10:02.405>It's <00:10:02.605>about <00:10:02.805>separating <00:10:03.005>the <00:10:03.204>system <00:10:03.405>into <00:10:03.605>smaller <00:10:03.805>parts

204
00:10:05.765 --> 00:10:10.375
<00:10:05.765>that <00:10:05.920>you <00:10:06.076>can <00:10:06.231>scale <00:10:06.387>every <00:10:06.542>part <00:10:06.698>of <00:10:06.853>the <00:10:07.009>system <00:10:07.165>individually.

205
00:10:10.475 --> 00:10:13.175
<00:10:10.475>So <00:10:10.755>looking <00:10:11.035>into <00:10:11.315>our, <00:10:11.595>uh, <00:10:11.875>example,

206
00:10:13.565 --> 00:10:15.895
<00:10:13.565>obviously <00:10:13.798>we <00:10:14.031>were <00:10:14.265>running <00:10:14.498>all <00:10:14.731>the <00:10:14.965>microservices

207
00:10:15.955 --> 00:10:17.015
<00:10:15.955>on <00:10:16.909>Kubernetes.

208
00:10:17.395 --> 00:10:20.015
<00:10:17.395>We <00:10:17.745>had <00:10:18.095>horizontal <00:10:18.444>pole <00:10:18.795>autoscaler

209
00:10:20.015 --> 00:10:22.575
<00:10:20.015>and <00:10:20.295>all <00:10:20.574>microservices <00:10:20.855>were <00:10:21.135>scaled <00:10:21.415>independently,

210
00:10:23.035 --> 00:10:27.055
<00:10:23.035>but <00:10:23.235>infrastructure <00:10:23.435>is <00:10:23.635>also <00:10:23.834>another, <00:10:24.035>another <00:10:24.235>scale <00:10:24.435>unit.

211
00:10:27.115 --> 00:10:30.575
<00:10:27.115>So <00:10:27.315>our, <00:10:27.515>our <00:10:27.715>Azure <00:10:27.915>SQL <00:10:28.115>is <00:10:28.315>independent <00:10:28.515>infrastructure

212
00:10:30.575 --> 00:10:35.455
<00:10:30.575>component <00:10:30.750>that <00:10:30.925>can, <00:10:31.100>that <00:10:31.275>was <00:10:31.450>scaled <00:10:31.625>vertically <00:10:31.800>with, <00:10:31.975>uh,

213
00:10:36.545 --> 00:10:41.045
<00:10:36.545>the <00:10:36.719>DTU <00:10:36.895>scale <00:10:37.069>up, <00:10:37.245>uh, <00:10:37.420>when <00:10:37.594>it <00:10:37.770>was <00:10:37.944>necessary.

214
00:10:42.265 --> 00:10:44.165
<00:10:42.265>And <00:10:42.498>scale <00:10:42.731>unit, <00:10:42.965>it's <00:10:43.198>not <00:10:43.431>only <00:10:43.665>about

215
00:10:44.725 --> 00:10:45.765
<00:10:44.725>identifying <00:10:45.193>scaling <00:10:45.661>unit,

216
00:10:45.865 --> 00:10:48.205
<00:10:45.865>but <00:10:46.065>you <00:10:46.265>need <00:10:46.465>to <00:10:46.665>consider <00:10:46.865>also <00:10:47.065>two <00:10:47.265>things.

217
00:10:48.305 --> 00:10:51.445
<00:10:48.305>So <00:10:48.479>first, <00:10:48.655>what <00:10:48.829>is <00:10:49.005>the <00:10:49.180>expected <00:10:49.354>load <00:10:49.530>on <00:10:49.704>each

218
00:10:51.445 --> 00:10:52.685
<00:10:51.445>component <00:10:51.817>that <00:10:52.189>you <00:10:52.560>design?

219
00:10:53.025 --> 00:10:55.965
<00:10:53.025>And <00:10:53.258>second, <00:10:53.491>what <00:10:53.725>is <00:10:53.958>acceptable <00:10:54.191>degradated <00:10:54.425>performance?

220
00:10:56.715 --> 00:11:00.245
<00:10:56.715>It's <00:10:56.890>important <00:10:57.065>because, <00:10:57.240>uh, <00:10:57.415>the <00:10:57.590>services <00:10:57.765>that <00:10:57.940>are <00:10:58.115>close

221
00:11:00.245 --> 00:11:03.885
<00:11:00.245>to <00:11:00.420>the <00:11:00.595>user <00:11:00.770>will <00:11:00.945>likely <00:11:01.120>have, <00:11:01.295>uh, <00:11:01.470>lower, <00:11:01.645>uh,

222
00:11:03.995 --> 00:11:05.845
<00:11:03.995>performance <00:11:04.695>degradation, <00:11:05.395>accept

223
00:11:06.365 --> 00:11:07.925
<00:11:06.365>accepted <00:11:06.831>like <00:11:07.298>200 <00:11:07.765>milliseconds.

224
00:11:08.465 --> 00:11:10.925
<00:11:08.465>And <00:11:08.745>the <00:11:09.025>downstream <00:11:09.305>services <00:11:09.585>like <00:11:09.865>query

225
00:11:10.985 --> 00:11:13.925
<00:11:10.985>for <00:11:11.125>the <00:11:11.265>banks <00:11:11.405>can <00:11:11.545>be <00:11:11.685>10 <00:11:11.825>seconds <00:11:11.965>if <00:11:12.105>we <00:11:12.245>design <00:11:12.385>the

226
00:11:13.925 --> 00:11:16.045
<00:11:13.925>application, <00:11:14.391>uh, <00:11:14.858>right <00:11:15.324>way.

227
00:11:17.775 --> 00:11:19.865
<00:11:17.775>Another <00:11:18.008>pattern <00:11:18.241>that <00:11:18.475>you <00:11:18.708>can <00:11:18.941>use, <00:11:19.175>uh,

228
00:11:20.525 --> 00:11:22.345
<00:11:20.525>and <00:11:20.875>it's <00:11:21.225>about <00:11:21.574>bit <00:11:21.925>consequence

229
00:11:22.345 --> 00:11:24.385
<00:11:22.345>of <00:11:22.545>the <00:11:22.745>scale <00:11:22.945>unit <00:11:23.145>if <00:11:23.345>is <00:11:23.545>a <00:11:23.745>bulkhead.

230
00:11:24.405 --> 00:11:28.505
<00:11:24.405>So <00:11:24.560>bulkhead <00:11:24.716>is <00:11:24.871>a <00:11:25.027>pattern <00:11:25.182>that <00:11:25.338>you <00:11:25.493>isolate <00:11:25.649>the <00:11:25.805>problem,

231
00:11:28.725 --> 00:11:31.265
<00:11:28.725>you <00:11:28.925>can <00:11:29.125>isolate <00:11:29.325>the <00:11:29.525>problem <00:11:29.725>into <00:11:29.925>single <00:11:30.125>bulkhead,

232
00:11:31.265 --> 00:11:33.385
<00:11:31.265>like <00:11:31.439>on <00:11:31.615>this <00:11:31.790>ship <00:11:31.965>and <00:11:32.140>this <00:11:32.314>ship <00:11:32.490>wouldn't <00:11:32.665>sink

233
00:11:33.415 --> 00:11:34.705
<00:11:33.415>even <00:11:33.647>if <00:11:33.879>there <00:11:34.111>is <00:11:34.343>a <00:11:34.576>problem.

234
00:11:35.765 --> 00:11:39.785
<00:11:35.765>So <00:11:35.892>an <00:11:36.019>example <00:11:36.146>that <00:11:36.274>we <00:11:36.401>have <00:11:36.528>here, <00:11:36.655>we <00:11:36.783>have <00:11:36.910>our <00:11:37.037>marketing <00:11:37.165>user

235
00:11:39.785 --> 00:11:42.025
<00:11:39.785>that <00:11:40.064>is <00:11:40.344>running <00:11:40.625>very <00:11:40.905>heavy, <00:11:41.185>uh,

236
00:11:42.145 --> 00:11:44.425
<00:11:42.145>power <00:11:42.425>BI <00:11:42.704>report <00:11:42.985>over <00:11:43.265>SQL <00:11:43.545>database,

237
00:11:44.485 --> 00:11:47.225
<00:11:44.485>but <00:11:44.718>we <00:11:44.951>make <00:11:45.185>this <00:11:45.418>sql, <00:11:45.651>uh, <00:11:45.885>database.

238
00:11:47.405 --> 00:11:51.425
<00:11:47.405>We <00:11:47.545>make <00:11:47.685>power <00:11:47.824>BI <00:11:47.964>use <00:11:48.105>read <00:11:48.245>replica <00:11:48.385>of, <00:11:48.525>uh, <00:11:48.665>Azure <00:11:48.805>sql.

239
00:11:51.445 --> 00:11:54.845
<00:11:51.445>So <00:11:51.645>it <00:11:51.845>was <00:11:52.045>not <00:11:52.245>saturating <00:11:52.445>ReadWrite <00:11:52.645>SQL <00:11:52.845>instance

240
00:11:54.845 --> 00:11:57.085
<00:11:54.845>that <00:11:55.125>was <00:11:55.405>running, <00:11:55.685>uh, <00:11:55.965>the <00:11:56.245>application.

241
00:11:57.665 --> 00:11:59.645
<00:11:57.665>And <00:11:57.944>similar <00:11:58.224>thing <00:11:58.505>is <00:11:58.785>with <00:11:59.064>microservices.

242
00:11:59.745 --> 00:12:03.485
<00:11:59.745>So <00:11:59.978>if <00:12:00.211>we <00:12:00.445>design <00:12:00.678>them, <00:12:00.911>uh, <00:12:01.145>well

243
00:12:04.225 --> 00:12:06.525
<00:12:04.225>one <00:12:04.505>wouldn't <00:12:04.785>affect <00:12:05.065>necessarily <00:12:05.345>the <00:12:05.625>second

244
00:12:06.525 --> 00:12:08.485
<00:12:06.525>because <00:12:06.758>we, <00:12:06.991>it <00:12:07.225>has <00:12:07.458>resource <00:12:07.691>needs, <00:12:07.925>right?

245
00:12:10.355 --> 00:12:12.085
<00:12:10.355>Another <00:12:10.635>thing <00:12:10.915>that <00:12:11.195>we <00:12:11.475>repli, <00:12:11.755>uh,

246
00:12:12.085 --> 00:12:15.725
<00:12:12.085>applied <00:12:12.365>was <00:12:12.645>distribute <00:12:12.925>distributed <00:12:13.205>transaction <00:12:13.485>pattern.

247
00:12:16.265 --> 00:12:18.445
<00:12:16.265>And <00:12:16.545>here <00:12:16.824>we <00:12:17.105>have <00:12:17.385>two <00:12:17.665>considerations.

248
00:12:18.905 --> 00:12:20.965
<00:12:18.905>If <00:12:19.255>we <00:12:19.605>need <00:12:19.954>synchronous <00:12:20.305>processing,

249
00:12:20.965 --> 00:12:22.125
<00:12:20.965>like <00:12:21.313>this <00:12:21.661>application <00:12:22.009>wizard,

250
00:12:22.625 --> 00:12:25.205
<00:12:22.625>we <00:12:22.858>cared <00:12:23.091>about <00:12:23.325>giving <00:12:23.558>the <00:12:23.791>user, <00:12:24.025>uh,

251
00:12:25.265 --> 00:12:26.805
<00:12:25.265>the <00:12:25.727>loan <00:12:26.189>application <00:12:26.651>number.

252
00:12:26.875 --> 00:12:28.805
<00:12:26.875>Like <00:12:27.155>you, <00:12:27.435>when <00:12:27.715>you <00:12:27.995>use <00:12:28.275>booking,

253
00:12:28.805 --> 00:12:30.445
<00:12:28.805>you <00:12:29.155>get <00:12:29.505>this <00:12:29.854>reference <00:12:30.204>number.

254
00:12:31.145 --> 00:12:33.325
<00:12:31.145>So <00:12:31.425>we <00:12:31.704>made <00:12:31.985>this <00:12:32.265>synchronous <00:12:32.545>only

255
00:12:33.345 --> 00:12:35.725
<00:12:33.345>for <00:12:33.578>one <00:12:33.811>microservice <00:12:34.045>the <00:12:34.278>loan <00:12:34.511>application <00:12:34.745>service

256
00:12:35.795 --> 00:12:37.565
<00:12:35.795>that <00:12:36.261>persisted <00:12:36.728>the <00:12:37.194>application

257
00:12:37.565 --> 00:12:39.525
<00:12:37.565>and <00:12:37.798>returned <00:12:38.031>the <00:12:38.265>number <00:12:38.498>of <00:12:38.731>the <00:12:38.965>application.

258
00:12:40.225 --> 00:12:43.205
<00:12:40.225>But <00:12:40.458>all <00:12:40.691>the <00:12:40.925>downstream <00:12:41.158>services, <00:12:41.391>so <00:12:41.625>those

259
00:12:43.205 --> 00:12:45.725
<00:12:43.205>that <00:12:43.438>were <00:12:43.671>calling <00:12:43.905>banks, <00:12:44.138>creating <00:12:44.371>user <00:12:44.605>accounts

260
00:12:45.905 --> 00:12:49.605
<00:12:45.905>and <00:12:46.185>sending <00:12:46.464>SMS <00:12:46.745>notifications <00:12:47.025>were <00:12:47.305>asynchronous

261
00:12:49.675 --> 00:12:50.925
<00:12:49.675>through <00:12:50.050>the <00:12:50.425>message <00:12:50.800>broker.

262
00:12:51.345 --> 00:12:53.485
<00:12:51.345>So <00:12:51.625>this <00:12:51.905>pattern <00:12:52.185>is <00:12:52.465>called <00:12:52.745>orchestration.

263
00:12:53.505 --> 00:12:55.365
<00:12:53.505>The <00:12:53.855>second <00:12:54.205>is <00:12:54.555>called <00:12:54.905>choreography.

264
00:12:55.705 --> 00:12:59.765
<00:12:55.705>And <00:12:55.880>even <00:12:56.055>in <00:12:56.230>choreography <00:12:56.405>you <00:12:56.580>can <00:12:56.755>apply <00:12:56.930>transactions <00:12:57.105>these

265
00:12:59.765 --> 00:13:01.205
<00:12:59.765>more <00:13:00.413>like <00:13:01.061>chaotic,

266
00:13:01.385 --> 00:13:06.165
<00:13:01.385>but <00:13:01.540>you <00:13:01.696>can <00:13:01.851>apply, <00:13:02.007>uh, <00:13:02.162>transaction, <00:13:02.318>uh, <00:13:02.473>rollback <00:13:02.629>mess, <00:13:02.785>uh,

267
00:13:06.165 --> 00:13:07.445
<00:13:06.165>like <00:13:06.741>rollback <00:13:07.317>messages

268
00:13:07.745 --> 00:13:11.085
<00:13:07.745>and <00:13:07.978>implement <00:13:08.211>behavior <00:13:08.445>if <00:13:08.678>you <00:13:08.911>need <00:13:09.145>such.

269
00:13:12.475 --> 00:13:16.485
<00:13:12.475>Another <00:13:12.650>interesting <00:13:12.825>thing, <00:13:13.000>it's, <00:13:13.175>uh, <00:13:13.350>that <00:13:13.525>we <00:13:13.700>applied, <00:13:13.875>uh,

270
00:13:16.785 --> 00:13:18.565
<00:13:16.785>is <00:13:17.135>Q <00:13:17.485>based <00:13:17.834>load <00:13:18.185>leveling.

271
00:13:19.065 --> 00:13:21.725
<00:13:19.065>And <00:13:19.220>this <00:13:19.376>is, <00:13:19.531>was <00:13:19.687>exactly <00:13:19.842>to <00:13:19.998>handle <00:13:20.153>the <00:13:20.309>situation <00:13:20.465>that

272
00:13:21.725 --> 00:13:24.725
<00:13:21.725>between <00:13:22.075>five, <00:13:22.425>uh, <00:13:22.775>sorry, <00:13:23.125>five

273
00:13:24.825 --> 00:13:28.005
<00:13:24.825>and, <00:13:25.025>uh, <00:13:25.225>11:00 <00:13:25.425>PM <00:13:25.625>we <00:13:25.825>had <00:13:26.025>this <00:13:26.225>campaign.

274
00:13:28.345 --> 00:13:29.525
<00:13:28.345>So <00:13:28.699>very <00:13:29.053>high <00:13:29.406>usage.

275
00:13:29.585 --> 00:13:34.205
<00:13:29.585>It <00:13:29.740>was <00:13:29.896>like <00:13:30.051>10 <00:13:30.207>times <00:13:30.362>more <00:13:30.518>requests <00:13:30.673>than <00:13:30.829>normally <00:13:30.985>at,

276
00:13:34.265 --> 00:13:36.365
<00:13:34.265>at <00:13:34.498>the <00:13:34.731>same <00:13:34.965>time, <00:13:35.198>our <00:13:35.431>downstream <00:13:35.665>banks

277
00:13:36.925 --> 00:13:39.125
<00:13:36.925>couldn't <00:13:37.275>react <00:13:37.625>to <00:13:37.974>these <00:13:38.324>loads.

278
00:13:39.385 --> 00:13:43.885
<00:13:39.385>So <00:13:39.525>when <00:13:39.665>we <00:13:39.805>put <00:13:39.944>in <00:13:40.085>between <00:13:40.225>the <00:13:40.365>message <00:13:40.505>broker <00:13:40.645>rabbit <00:13:40.785>mq,

279
00:13:44.235 --> 00:13:46.765
<00:13:44.235>then <00:13:44.468>we <00:13:44.701>can <00:13:44.935>scale <00:13:45.168>up <00:13:45.401>application <00:13:45.635>wizard

280
00:13:46.865 --> 00:13:48.205
<00:13:46.865>to <00:13:47.106>handle <00:13:47.347>the <00:13:47.588>high <00:13:47.829>load <00:13:48.071>here,

281
00:13:48.825 --> 00:13:53.605
<00:13:48.825>but <00:13:49.058>not <00:13:49.291>saturate <00:13:49.525>the <00:13:49.758>bank, <00:13:49.991>uh, <00:13:50.225>querying

282
00:13:53.665 --> 00:13:56.565
<00:13:53.665>and <00:13:53.839>have <00:13:54.015>a <00:13:54.189>flat <00:13:54.365>pace <00:13:54.540>that <00:13:54.714>banks <00:13:54.890>can <00:13:55.064>handle.

283
00:13:58.985 --> 00:14:02.075
<00:13:58.985>Another <00:13:59.160>pattern <00:13:59.335>that <00:13:59.510>we <00:13:59.685>use <00:13:59.860>that <00:14:00.035>of <00:14:00.210>course <00:14:00.385>all

284
00:14:02.075 --> 00:14:03.555
<00:14:02.075>of <00:14:02.341>you <00:14:02.607>use <00:14:02.874>is <00:14:03.140>retry <00:14:03.406>pattern.

285
00:14:03.855 --> 00:14:08.395
<00:14:03.855>So <00:14:04.010>we <00:14:04.166>should, <00:14:04.321>uh, <00:14:04.477>build <00:14:04.632>our <00:14:04.788>software <00:14:04.943>in <00:14:05.099>the <00:14:05.255>clouds

286
00:14:08.415 --> 00:14:12.875
<00:14:08.415>to <00:14:08.615>be, <00:14:08.814>uh, <00:14:09.015>uh, <00:14:09.214>tolerant <00:14:09.415>for <00:14:09.615>transient <00:14:09.814>errors.

287
00:14:12.875 --> 00:14:15.915
<00:14:12.875>So <00:14:13.050>the <00:14:13.225>errors <00:14:13.400>that <00:14:13.575>can <00:14:13.750>be <00:14:13.925>for <00:14:14.100>seconds, <00:14:14.275>milliseconds

288
00:14:15.915 --> 00:14:18.715
<00:14:15.915>because <00:14:16.089>it's <00:14:16.265>a <00:14:16.439>cloud <00:14:16.615>and <00:14:16.790>we <00:14:16.964>should <00:14:17.140>re, <00:14:17.314>uh,

289
00:14:19.085 --> 00:14:22.115
<00:14:19.085>apply <00:14:19.285>retries <00:14:19.485>when <00:14:19.685>we <00:14:19.885>re <00:14:20.085>uh, <00:14:20.285>apply <00:14:20.485>retry.

290
00:14:22.135 --> 00:14:25.235
<00:14:22.135>We <00:14:22.310>need <00:14:22.485>to <00:14:22.660>consider <00:14:22.835>one <00:14:23.010>thing <00:14:23.185>if <00:14:23.360>the <00:14:23.535>operation

291
00:14:25.235 --> 00:14:26.835
<00:14:25.235>that <00:14:25.515>we <00:14:25.795>retry <00:14:26.075>is <00:14:26.355>the <00:14:26.635>potent.

292
00:14:26.895 --> 00:14:30.075
<00:14:26.895>So <00:14:27.095>for, <00:14:27.295>in <00:14:27.495>our <00:14:27.694>example, <00:14:27.895>if <00:14:28.095>we <00:14:28.295>retry,

293
00:14:30.335 --> 00:14:33.355
<00:14:30.335>if <00:14:30.490>we <00:14:30.646>wouldn't <00:14:30.801>create <00:14:30.957>two <00:14:31.112>loan <00:14:31.268>applications <00:14:31.423>in <00:14:31.579>the <00:14:31.735>bank

294
00:14:33.665 --> 00:14:36.075
<00:14:33.665>because <00:14:33.839>we <00:14:34.015>may <00:14:34.189>likely <00:14:34.365>wouldn't <00:14:34.540>need <00:14:34.714>to <00:14:34.890>do <00:14:35.064>it,

295
00:14:36.335 --> 00:14:38.555
<00:14:36.335>and <00:14:36.510>then <00:14:36.685>we <00:14:36.860>can <00:14:37.035>have <00:14:37.210>one <00:14:37.385>of <00:14:37.560>three <00:14:37.735>strategies.

296
00:14:38.615 --> 00:14:41.915
<00:14:38.615>So <00:14:38.815>we <00:14:39.015>can <00:14:39.215>have <00:14:39.415>delay <00:14:39.615>retry <00:14:39.815>strategy <00:14:40.015>retry

297
00:14:42.125 --> 00:14:45.195
<00:14:42.125>after <00:14:42.325>500 <00:14:42.525>milliseconds, <00:14:42.725>two <00:14:42.925>seconds, <00:14:43.125>and <00:14:43.325>so <00:14:43.525>on.

298
00:14:45.695 --> 00:14:47.195
<00:14:45.695>Or <00:14:46.032>we <00:14:46.370>can <00:14:46.707>have <00:14:47.045>cancel.

299
00:14:47.415 --> 00:14:49.915
<00:14:47.415>So <00:14:47.615>no <00:14:47.814>retry <00:14:48.015>at <00:14:48.214>all <00:14:48.415>or <00:14:48.615>retry <00:14:48.814>immediately,

300
00:14:50.455 --> 00:14:52.845
<00:14:50.455>and <00:14:50.655>it's <00:14:50.855>up <00:14:51.055>to <00:14:51.255>your <00:14:51.455>use <00:14:51.655>case, <00:14:51.855>which,

301
00:14:53.105 --> 00:14:54.885
<00:14:53.105>uh, <00:14:53.455>strategy <00:14:53.805>should <00:14:54.155>you <00:14:54.505>use.

302
00:14:55.745 --> 00:15:00.525
<00:14:55.745>And <00:14:55.872>three <00:14:55.999>tries <00:14:56.126>was <00:14:56.254>good <00:14:56.381>for <00:14:56.508>the <00:14:56.635>failures <00:14:56.763>that <00:14:56.890>are <00:14:57.017>like, <00:14:57.145>uh,

303
00:15:01.505 --> 00:15:03.645
<00:15:01.505>caught <00:15:01.785>instantly, <00:15:02.064>like <00:15:02.345>5 <00:15:02.625>0 <00:15:02.905>4.

304
00:15:04.225 --> 00:15:08.565
<00:15:04.225>But <00:15:04.341>when <00:15:04.458>we <00:15:04.575>have <00:15:04.691>5 <00:15:04.808>0 <00:15:04.925>3, <00:15:05.041>so <00:15:05.158>the <00:15:05.275>error <00:15:05.391>that <00:15:05.508>we <00:15:05.625>try

305
00:15:08.565 --> 00:15:11.285
<00:15:08.565>to <00:15:08.740>reach <00:15:08.915>a <00:15:09.090>downstream <00:15:09.265>service, <00:15:09.440>there <00:15:09.615>is <00:15:09.790>some <00:15:09.965>maintenance

306
00:15:11.305 --> 00:15:13.045
<00:15:11.305>and <00:15:11.655>we <00:15:12.005>get <00:15:12.354>ultimate <00:15:12.704>500

307
00:15:13.055 --> 00:15:16.505
<00:15:13.055>after <00:15:13.334>10 <00:15:13.614>seconds <00:15:13.895>requires <00:15:14.175>different <00:15:14.454>handling.

308
00:15:16.505 --> 00:15:18.145
<00:15:16.505>And <00:15:16.855>here <00:15:17.205>circuit <00:15:17.555>breakers <00:15:17.905>come.

309
00:15:18.605 --> 00:15:22.625
<00:15:18.605>The <00:15:18.760>idea <00:15:18.916>here <00:15:19.071>is <00:15:19.227>that <00:15:19.382>we <00:15:19.538>waste <00:15:19.693>our <00:15:19.849>resources <00:15:20.005>only

310
00:15:22.725 --> 00:15:25.705
<00:15:22.725>for <00:15:22.900>a <00:15:23.075>couple <00:15:23.250>of <00:15:23.425>requests <00:15:23.600>for <00:15:23.775>the <00:15:23.950>fainting <00:15:24.125>service.

311
00:15:26.405 --> 00:15:31.305
<00:15:26.405>And <00:15:26.545>then <00:15:26.685>thanks <00:15:26.824>to <00:15:26.964>proxy <00:15:27.105>that <00:15:27.245>we <00:15:27.385>introduced <00:15:27.525>between <00:15:27.665>our <00:15:27.805>bank

312
00:15:31.405 --> 00:15:35.425
<00:15:31.405>and <00:15:31.579>our <00:15:31.755>connector, <00:15:31.930>we, <00:15:32.105>uh, <00:15:32.280>fail <00:15:32.454>on <00:15:32.630>our <00:15:32.805>side

313
00:15:35.445 --> 00:15:38.225
<00:15:35.445>so <00:15:35.725>we <00:15:36.005>don't <00:15:36.285>waste <00:15:36.565>those <00:15:36.845>additional

314
00:15:38.525 --> 00:15:41.545
<00:15:38.525>and <00:15:38.699>amount <00:15:38.875>of <00:15:39.050>seconds <00:15:39.225>for <00:15:39.400>some <00:15:39.574>period <00:15:39.750>of <00:15:39.925>time.

315
00:15:42.325 --> 00:15:45.025
<00:15:42.325>And <00:15:42.791>we, <00:15:43.258>uh, <00:15:43.725>retry

316
00:15:45.235 --> 00:15:48.385
<00:15:45.235>after <00:15:45.468>like, <00:15:45.701>uh, <00:15:45.935>let's <00:15:46.168>say <00:15:46.401>two <00:15:46.635>minutes.

317
00:15:49.005 --> 00:15:52.665
<00:15:49.005>So, <00:15:49.205>uh, <00:15:49.405>then <00:15:49.605>we <00:15:49.805>don't <00:15:50.005>use <00:15:50.205>our, <00:15:50.405>uh,

318
00:15:53.425 --> 00:15:56.865
<00:15:53.425>resource <00:15:53.704>cycles <00:15:53.984>for <00:15:54.265>unneeded, <00:15:54.545>uh, <00:15:54.824>retries.

319
00:15:58.445 --> 00:16:01.545
<00:15:58.445>Two <00:15:58.585>patterns, <00:15:58.725>uh, <00:15:58.865>that <00:15:59.005>we <00:15:59.145>haven't <00:15:59.285>used, <00:15:59.425>I <00:15:59.565>just <00:15:59.705>mentioned <00:15:59.845>it,

320
00:16:01.735 --> 00:16:05.305
<00:16:01.735>it's <00:16:01.890>a <00:16:02.046>trucking <00:16:02.201>PR <00:16:02.357>pattern <00:16:02.512>and <00:16:02.668>priority, <00:16:02.823>uh, <00:16:02.979>qub <00:16:03.135>pattern.

321
00:16:05.755 --> 00:16:08.785
<00:16:05.755>Those <00:16:05.910>are <00:16:06.066>useful <00:16:06.221>when <00:16:06.377>you <00:16:06.532>are <00:16:06.688>building <00:16:06.843>a <00:16:06.999>SaaS <00:16:07.155>software

322
00:16:09.295 --> 00:16:12.905
<00:16:09.295>that <00:16:09.495>is, <00:16:09.694>uh, <00:16:09.895>like, <00:16:10.094>uh, <00:16:10.295>used <00:16:10.495>by, <00:16:10.694>uh,

323
00:16:13.455 --> 00:16:15.025
<00:16:13.455>SaaS <00:16:14.155>multi-tenant <00:16:14.855>software.

324
00:16:15.885 --> 00:16:18.385
<00:16:15.885>But <00:16:16.060>I <00:16:16.235>would <00:16:16.410>like <00:16:16.585>to <00:16:16.760>go <00:16:16.935>into <00:16:17.110>the <00:16:17.285>infrastructure.

325
00:16:18.565 --> 00:16:20.105
<00:16:18.565>So <00:16:18.796>this <00:16:19.027>is <00:16:19.258>how <00:16:19.489>it <00:16:19.720>was <00:16:19.951>deployed.

326
00:16:20.685 --> 00:16:23.905
<00:16:20.685>Uh, <00:16:20.840>we <00:16:20.996>were <00:16:21.151>running <00:16:21.307>on <00:16:21.462>Azure, <00:16:21.618>so <00:16:21.773>there <00:16:21.929>was <00:16:22.084>applicant

327
00:16:24.005 --> 00:16:26.465
<00:16:24.005>and <00:16:24.238>all <00:16:24.471>the <00:16:24.705>microservice <00:16:24.938>traffic <00:16:25.171>was <00:16:25.405>going

328
00:16:26.465 --> 00:16:31.145
<00:16:26.465>through <00:16:26.620>application, <00:16:26.776>uh, <00:16:26.931>gateway <00:16:27.087>with <00:16:27.242>WAF <00:16:27.398>to <00:16:27.553>a <00:16:27.709>KS <00:16:27.865>cluster.

329
00:16:31.445 --> 00:16:35.185
<00:16:31.445>And <00:16:31.620>all <00:16:31.795>the <00:16:31.970>WordPress <00:16:32.145>traffic <00:16:32.320>was <00:16:32.495>going <00:16:32.670>through, <00:16:32.845>uh,

330
00:16:35.355 --> 00:16:38.185
<00:16:35.355>cloud <00:16:35.635>fair <00:16:35.915>to <00:16:36.195>virtual <00:16:36.475>machines, <00:16:36.755>cases

331
00:16:38.185 --> 00:16:39.345
<00:16:38.185>that <00:16:38.533>were <00:16:38.881>running <00:16:39.229>WordPress.

332
00:16:40.205 --> 00:16:44.665
<00:16:40.205>We <00:16:40.405>were <00:16:40.605>having <00:16:40.805>also <00:16:41.005>some, <00:16:41.205>uh, <00:16:41.405>Azure <00:16:41.605>SQL

333
00:16:44.765 --> 00:16:47.305
<00:16:44.765>for <00:16:44.998>the <00:16:45.231>storage, <00:16:45.465>blob <00:16:45.698>storage <00:16:45.931>for <00:16:46.165>documents

334
00:16:47.565 --> 00:16:50.345
<00:16:47.565>and <00:16:47.740>a <00:16:47.915>lot <00:16:48.090>of <00:16:48.265>networking <00:16:48.440>to <00:16:48.615>integrate <00:16:48.790>with <00:16:48.965>partners.

335
00:16:50.925 --> 00:16:53.595
<00:16:50.925>And <00:16:51.204>now <00:16:51.484>Microsoft <00:16:51.765>in <00:16:52.045>Azure, <00:16:52.324>uh,

336
00:16:53.775 --> 00:16:56.755
<00:16:53.775>in <00:16:53.949>well <00:16:54.125>architecture <00:16:54.300>framework, <00:16:54.475>uh, <00:16:54.650>defines <00:16:54.824>how <00:16:55.000>you <00:16:55.175>should,

337
00:16:56.815 --> 00:16:59.835
<00:16:56.815>uh, <00:16:57.015>handle <00:16:57.215>observability <00:16:57.415>and <00:16:57.615>monitoring <00:16:57.815>for <00:16:58.015>such <00:16:58.215>workloads.

338
00:17:01.435 --> 00:17:02.895
<00:17:01.435>And <00:17:01.763>when <00:17:02.092>you <00:17:02.420>consider, <00:17:02.749>uh,

339
00:17:03.005 --> 00:17:06.815
<00:17:03.005>mission <00:17:03.238>critical <00:17:03.471>workloads <00:17:03.705>observability, <00:17:03.938>first <00:17:04.171>you <00:17:04.405>need

340
00:17:06.815 --> 00:17:08.935
<00:17:06.815>to <00:17:07.095>have <00:17:07.375>the <00:17:07.655>the <00:17:07.935>observability <00:17:08.215>defined.

341
00:17:08.995 --> 00:17:11.615
<00:17:08.994>So, <00:17:09.228>uh, <00:17:09.461>according <00:17:09.694>to <00:17:09.928>the <00:17:10.161>advice, <00:17:10.395>uh,

342
00:17:11.615 --> 00:17:14.175
<00:17:11.615>local <00:17:11.848>analytics <00:17:12.081>workspaces, <00:17:12.315>you <00:17:12.548>need <00:17:12.781>to <00:17:13.015>ensure

343
00:17:14.175 --> 00:17:17.215
<00:17:14.175>that <00:17:14.375>all <00:17:14.575>logs, <00:17:14.774>metrics, <00:17:14.974>races, <00:17:15.175>plans <00:17:15.375>are <00:17:15.575>delivered

344
00:17:17.215 --> 00:17:19.015
<00:17:17.214>to <00:17:17.564>those <00:17:17.915>local <00:17:18.264>analytics <00:17:18.615>workspaces.

345
00:17:19.755 --> 00:17:22.295
<00:17:19.755>And <00:17:19.930>if <00:17:20.105>you <00:17:20.280>are <00:17:20.455>running <00:17:20.630>multi <00:17:20.805>region, <00:17:20.980>you <00:17:21.155>need

346
00:17:22.295 --> 00:17:24.655
<00:17:22.295>to <00:17:22.575>have <00:17:22.855>all <00:17:23.135>the <00:17:23.415>uh, <00:17:23.695>uh,

347
00:17:25.305 --> 00:17:27.535
<00:17:25.305>local <00:17:25.585>analytics <00:17:25.865>workspace <00:17:26.145>for <00:17:26.425>each <00:17:26.705>region.

348
00:17:27.915 --> 00:17:31.095
<00:17:27.915>If <00:17:28.070>you <00:17:28.226>have <00:17:28.381>global <00:17:28.537>instance, <00:17:28.692>uh, <00:17:28.848>global <00:17:29.003>resources, <00:17:29.159>you <00:17:29.315>need

349
00:17:31.095 --> 00:17:34.255
<00:17:31.095>to <00:17:31.270>have <00:17:31.445>additional <00:17:31.620>instance <00:17:31.795>for <00:17:31.970>global <00:17:32.145>to <00:17:32.320>ensure <00:17:32.495>resiliency.

350
00:17:35.515 --> 00:17:38.735
<00:17:35.515>And, <00:17:35.655>uh, <00:17:35.795>in <00:17:35.935>our <00:17:36.075>use <00:17:36.215>case, <00:17:36.355>we <00:17:36.495>haven't <00:17:36.635>been <00:17:36.775>using, <00:17:36.915>uh,

351
00:17:38.735 --> 00:17:40.215
<00:17:38.735>that <00:17:39.178>much <00:17:39.622>Microsoft <00:17:40.067>tooling.

352
00:17:40.315 --> 00:17:43.895
<00:17:40.315>We <00:17:40.455>were <00:17:40.595>using <00:17:40.735>Dynatrace <00:17:40.875>and <00:17:41.015>it <00:17:41.155>can <00:17:41.295>be <00:17:41.435>any <00:17:41.575>other <00:17:41.715>tool.

353
00:17:44.035 --> 00:17:48.335
<00:17:44.035>So <00:17:44.190>the <00:17:44.346>plumbing <00:17:44.501>can, <00:17:44.657>uh, <00:17:44.812>work <00:17:44.968>exactly <00:17:45.123>as <00:17:45.279>Microsoft, <00:17:45.435>uh,

354
00:17:48.655 --> 00:17:50.205
<00:17:48.655>recommends <00:17:49.120>with <00:17:49.585>alternative <00:17:50.050>tooling.

355
00:17:50.205 --> 00:17:53.805
<00:17:50.205>So <00:17:50.345>in <00:17:50.485>our <00:17:50.625>case, <00:17:50.764>we <00:17:50.905>have <00:17:51.044>a <00:17:51.185>KS <00:17:51.324>instrumented <00:17:51.465>by, <00:17:51.605>uh,

356
00:17:54.005 --> 00:17:57.925
<00:17:54.005>a <00:17:54.132>KS <00:17:54.259>operator <00:17:54.386>that <00:17:54.514>was <00:17:54.641>running <00:17:54.768>agent <00:17:54.895>on <00:17:55.023>the <00:17:55.150>a <00:17:55.277>KS <00:17:55.405>clusters.

357
00:17:58.665 --> 00:18:01.205
<00:17:58.665>We <00:17:58.898>got <00:17:59.131>all <00:17:59.365>Azure <00:17:59.598>Monitor <00:17:59.831>metrics <00:18:00.065>logs

358
00:18:01.395 --> 00:18:04.485
<00:18:01.395>with <00:18:01.628>Dynatrace <00:18:01.861>integration, <00:18:02.095>uh, <00:18:02.328>to <00:18:02.561>Azure <00:18:02.795>monitor

359
00:18:05.425 --> 00:18:07.445
<00:18:05.425>our <00:18:05.891>developers <00:18:06.358>like <00:18:06.825>dotnet.

360
00:18:07.465 --> 00:18:09.405
<00:18:07.465>So <00:18:07.745>they <00:18:08.024>were <00:18:08.304>using <00:18:08.584>App <00:18:08.865>Insights

361
00:18:09.425 --> 00:18:12.845
<00:18:09.425>and <00:18:09.625>we <00:18:09.825>streamed <00:18:10.024>it <00:18:10.225>also <00:18:10.425>to, <00:18:10.625>uh, <00:18:10.825>Dynatrace.

362
00:18:13.305 --> 00:18:16.765
<00:18:13.305>And <00:18:13.538>we <00:18:13.771>were <00:18:14.005>using <00:18:14.238>also, <00:18:14.471>uh, <00:18:14.705>uh,

363
00:18:17.755 --> 00:18:19.325
<00:18:17.755>real <00:18:18.221>user <00:18:18.688>monitoring <00:18:19.155>techniques.

364
00:18:19.325 --> 00:18:20.445
<00:18:19.325>So <00:18:19.661>real <00:18:19.997>user <00:18:20.332>monitoring

365
00:18:20.445 --> 00:18:24.205
<00:18:20.445>and <00:18:20.572>synthetic <00:18:20.699>tests <00:18:20.826>that <00:18:20.954>I <00:18:21.081>will <00:18:21.208>tell <00:18:21.335>about <00:18:21.463>more <00:18:21.590>in <00:18:21.717>a <00:18:21.845>second.

366
00:18:24.865 --> 00:18:29.305
<00:18:24.865>But <00:18:25.020>before, <00:18:25.176>when <00:18:25.331>we <00:18:25.487>have <00:18:25.642>the <00:18:25.798>data <00:18:25.953>in <00:18:26.109>this, <00:18:26.265>uh,

367
00:18:29.365 --> 00:18:33.105
<00:18:29.365>single <00:18:29.540>observability <00:18:29.715>tool, <00:18:29.890>then <00:18:30.065>we <00:18:30.240>need <00:18:30.415>to <00:18:30.590>leverage <00:18:30.765>it

368
00:18:33.105 --> 00:18:34.665
<00:18:33.105>and <00:18:33.571>Microsoft <00:18:34.038>like <00:18:34.505>recommend

369
00:18:34.665 --> 00:18:36.385
<00:18:34.665>to <00:18:35.014>build <00:18:35.365>layered <00:18:35.715>application <00:18:36.065>health.

370
00:18:36.845 --> 00:18:38.825
<00:18:36.845>And <00:18:37.078>the <00:18:37.311>two <00:18:37.545>months <00:18:37.778>ago <00:18:38.011>on <00:18:38.245>build,

371
00:18:38.825 --> 00:18:42.185
<00:18:38.825>they <00:18:39.025>announced <00:18:39.225>public <00:18:39.425>preview <00:18:39.625>for, <00:18:39.825>uh, <00:18:40.025>service <00:18:40.225>groups

372
00:18:42.245 --> 00:18:44.305
<00:18:42.245>and <00:18:42.524>health <00:18:42.804>modeling <00:18:43.084>in <00:18:43.364>Asia <00:18:43.645>portal.

373
00:18:44.695 --> 00:18:48.425
<00:18:44.695>Unfortunately, <00:18:44.928>I <00:18:45.161>wasn't <00:18:45.395>yet, <00:18:45.628>uh, <00:18:45.861>let <00:18:46.095>in,

374
00:18:48.445 --> 00:18:49.785
<00:18:48.445>so <00:18:48.746>I <00:18:49.048>have <00:18:49.349>no <00:18:49.651>screenshots.

375
00:18:49.785 --> 00:18:50.865
<00:18:49.785>But <00:18:50.028>this <00:18:50.271>is <00:18:50.514>the <00:18:50.757>concept

376
00:18:50.975 --> 00:18:54.865
<00:18:50.975>that <00:18:51.115>you <00:18:51.254>can <00:18:51.395>build <00:18:51.534>all <00:18:51.675>the <00:18:51.814>health <00:18:51.955>model <00:18:52.094>inside <00:18:52.235>Azure <00:18:52.375>portal.

377
00:18:56.085 --> 00:18:57.425
<00:18:56.085>And, <00:18:56.386>uh, <00:18:56.688>in <00:18:56.989>our <00:18:57.291>case,

378
00:18:57.425 --> 00:19:01.705
<00:18:57.425>five <00:18:57.565>years <00:18:57.705>ago <00:18:57.845>when <00:18:57.985>I <00:18:58.125>was <00:18:58.264>using <00:18:58.405>Dynatrace, <00:18:58.544>I <00:18:58.685>uh, <00:18:58.825>choose

379
00:19:01.805 --> 00:19:04.225
<00:19:01.805>to <00:19:02.155>use, <00:19:02.505>uh, <00:19:02.855>synthetic <00:19:03.205>tests

380
00:19:04.365 --> 00:19:08.865
<00:19:04.365>and <00:19:04.505>synthetic <00:19:04.645>tests <00:19:04.785>run <00:19:04.925>this <00:19:05.065>way <00:19:05.205>that <00:19:05.345>I <00:19:05.485>recorded <00:19:05.625>the <00:19:05.765>test

381
00:19:09.135 --> 00:19:11.705
<00:19:09.135>that <00:19:09.415>was <00:19:09.695>going <00:19:09.975>through <00:19:10.254>first <00:19:10.535>step

382
00:19:11.705 --> 00:19:13.905
<00:19:11.705>of <00:19:11.938>taking <00:19:12.171>clone <00:19:12.405>application <00:19:12.638>as <00:19:12.871>real <00:19:13.105>user,

383
00:19:14.765 --> 00:19:19.065
<00:19:14.765>and <00:19:14.920>then <00:19:15.076>I <00:19:15.231>was <00:19:15.387>measuring <00:19:15.542>the <00:19:15.698>availability <00:19:15.853>of <00:19:16.009>the <00:19:16.165>test.

384
00:19:19.165 --> 00:19:21.865
<00:19:19.165>So <00:19:19.445>if <00:19:19.725>any <00:19:20.004>of <00:19:20.284>the <00:19:20.565>services

385
00:19:22.085 --> 00:19:25.225
<00:19:22.085>or <00:19:22.260>front <00:19:22.435>ends <00:19:22.610>were <00:19:22.785>down, <00:19:22.960>I <00:19:23.135>was <00:19:23.310>instantly <00:19:23.485>notified.

386
00:19:25.645 --> 00:19:29.345
<00:19:25.645>And <00:19:25.820>also <00:19:25.995>I <00:19:26.170>had <00:19:26.345>information, <00:19:26.520>what <00:19:26.695>is <00:19:26.870>the <00:19:27.045>time

387
00:19:29.365 --> 00:19:32.425
<00:19:29.365>of <00:19:29.565>execution <00:19:29.765>each <00:19:29.965>step <00:19:30.165>or, <00:19:30.365>and <00:19:30.565>overall <00:19:30.765>test.

388
00:19:32.485 --> 00:19:35.945
<00:19:32.485>So <00:19:32.612>if <00:19:32.739>there <00:19:32.866>was <00:19:32.994>some <00:19:33.121>slowdown, <00:19:33.248>I <00:19:33.375>could <00:19:33.503>have <00:19:33.630>also <00:19:33.757>coded <00:19:33.885>up

389
00:19:36.405 --> 00:19:38.265
<00:19:36.405>and <00:19:36.638>if <00:19:36.871>someone <00:19:37.105>from <00:19:37.338>business <00:19:37.571>approached <00:19:37.805>me

390
00:19:38.265 --> 00:19:39.545
<00:19:38.265>that <00:19:38.649>we <00:19:39.033>lost <00:19:39.417>revenue

391
00:19:39.545 --> 00:19:43.625
<00:19:39.545>because, <00:19:39.700>uh, <00:19:39.856>system <00:19:40.011>is <00:19:40.167>not, <00:19:40.322>uh, <00:19:40.478>working, <00:19:40.633>I <00:19:40.789>had, <00:19:40.945>uh,

392
00:19:44.025 --> 00:19:46.305
<00:19:44.025>evidence <00:19:44.258>if <00:19:44.491>they <00:19:44.725>were <00:19:44.958>wrong <00:19:45.191>or <00:19:45.425>right.

393
00:19:46.485 --> 00:19:48.105
<00:19:46.485>So <00:19:46.764>it's <00:19:47.044>a <00:19:47.324>very <00:19:47.604>nice <00:19:47.885>tool

394
00:19:48.125 --> 00:19:50.385
<00:19:48.125>and <00:19:48.405>it <00:19:48.685>address <00:19:48.965>automation <00:19:49.245>of <00:19:49.525>availability.

395
00:19:50.665 --> 00:19:54.335
<00:19:50.665>SLO <00:19:51.014>Now <00:19:51.365>changing <00:19:51.715>a <00:19:52.065>project

396
00:19:54.835 --> 00:19:57.615
<00:19:54.835>and <00:19:55.035>changing <00:19:55.235>the <00:19:55.435>topic <00:19:55.635>to <00:19:55.835>platform <00:19:56.035>design <00:19:56.235>architecture

397
00:19:57.615 --> 00:20:00.135
<00:19:57.615>that <00:19:57.815>is <00:19:58.015>also <00:19:58.215>described <00:19:58.415>by <00:19:58.615>our <00:19:58.815>architected <00:19:59.015>framework.

398
00:20:01.535 --> 00:20:05.175
<00:20:01.535>I, <00:20:01.662>uh, <00:20:01.789>was <00:20:01.916>working <00:20:02.044>on <00:20:02.171>a <00:20:02.298>project <00:20:02.425>in <00:20:02.553>Dynatrace <00:20:02.680>where <00:20:02.807>we <00:20:02.935>expose

399
00:20:05.715 --> 00:20:07.375
<00:20:05.715>the <00:20:06.064>API <00:20:06.415>to <00:20:06.764>our <00:20:07.115>partner

400
00:20:08.155 --> 00:20:11.455
<00:20:08.155>and <00:20:08.330>uh, <00:20:08.504>our <00:20:08.680>partner <00:20:08.855>is <00:20:09.030>hitting <00:20:09.205>1000 <00:20:09.379>operations <00:20:09.555>from

401
00:20:11.455 --> 00:20:12.575
<00:20:11.455>12 <00:20:11.959>Asia <00:20:12.463>regions.

402
00:20:12.875 --> 00:20:14.815
<00:20:12.875>And <00:20:13.155>our <00:20:13.435>service <00:20:13.715>is <00:20:13.995>very <00:20:14.275>simple.

403
00:20:14.955 --> 00:20:18.495
<00:20:14.955>We <00:20:15.188>have <00:20:15.421>Kubernetes <00:20:15.655>running <00:20:15.888>way <00:20:16.121>web <00:20:16.355>API,

404
00:20:18.745 --> 00:20:21.095
<00:20:18.745>there <00:20:19.024>is <00:20:19.304>persistence <00:20:19.584>in <00:20:19.864>Azure <00:20:20.145>sql,

405
00:20:21.435 --> 00:20:26.375
<00:20:21.435>and <00:20:21.590>there <00:20:21.746>is <00:20:21.901>NLB <00:20:22.057>uh, <00:20:22.212>network <00:20:22.368>load <00:20:22.523>balancer, <00:20:22.679>uh, <00:20:22.835>that,

406
00:20:26.675 --> 00:20:31.055
<00:20:26.675>uh, <00:20:26.830>has <00:20:26.986>a <00:20:27.141>rules <00:20:27.297>on, <00:20:27.452>uh, <00:20:27.608>network <00:20:27.763>security <00:20:27.919>group <00:20:28.075>level

407
00:20:31.515 --> 00:20:33.655
<00:20:31.515>to <00:20:31.715>allow <00:20:31.915>only <00:20:32.115>this <00:20:32.315>partner <00:20:32.515>hit <00:20:32.715>our <00:20:32.915>API.

408
00:20:34.195 --> 00:20:38.935
<00:20:34.195>And <00:20:34.322>my <00:20:34.449>task <00:20:34.576>was <00:20:34.704>to <00:20:34.831>make <00:20:34.958>it, <00:20:35.085>uh, <00:20:35.213>like, <00:20:35.340>uh, <00:20:35.467>region <00:20:35.595>redundant.

409
00:20:39.395 --> 00:20:42.295
<00:20:39.395>So <00:20:39.745>I <00:20:40.095>designed <00:20:40.445>this <00:20:40.795>architecture.

410
00:20:42.355 --> 00:20:47.095
<00:20:42.355>So <00:20:42.510>I <00:20:42.666>advised <00:20:42.821>to <00:20:42.977>run <00:20:43.132>this <00:20:43.288>in <00:20:43.443>West <00:20:43.599>Europe, <00:20:43.755>enable

411
00:20:47.915 --> 00:20:51.685
<00:20:47.915>replication <00:20:48.115>between <00:20:48.315>Azure <00:20:48.514>SQLs <00:20:48.715>in <00:20:48.915>those <00:20:49.115>two <00:20:49.315>regions

412
00:20:51.985 --> 00:20:54.685
<00:20:51.985>and <00:20:52.218>use <00:20:52.451>traffic <00:20:52.685>manager <00:20:52.918>like <00:20:53.151>to, <00:20:53.385>uh,

413
00:20:54.775 --> 00:20:56.485
<00:20:54.775>route <00:20:55.241>the <00:20:55.708>traffic <00:20:56.175>accordingly.

414
00:20:57.345 --> 00:20:58.885
<00:20:57.345>And <00:20:57.622>I <00:20:57.899>was <00:20:58.176>proud <00:20:58.453>about <00:20:58.731>this,

415
00:20:58.985 --> 00:21:01.405
<00:20:58.985>but <00:20:59.185>then <00:20:59.385>I <00:20:59.584>got <00:20:59.784>challenged <00:20:59.985>by <00:21:00.185>the <00:21:00.385>team.

416
00:21:01.945 --> 00:21:05.125
<00:21:01.945>So <00:21:02.120>first <00:21:02.294>thing <00:21:02.470>was <00:21:02.645>the <00:21:02.820>choice <00:21:02.995>of <00:21:03.169>the <00:21:03.345>region.

417
00:21:05.875 --> 00:21:08.925
<00:21:05.875>Well, <00:21:06.155>architected <00:21:06.435>framework <00:21:06.715>defined <00:21:06.995>the <00:21:07.275>concept

418
00:21:09.145 --> 00:21:10.245
<00:21:09.145>of <00:21:09.639>per <00:21:10.135>region

419
00:21:10.825 --> 00:21:12.965
<00:21:10.825>and <00:21:11.058>for <00:21:11.291>each <00:21:11.525>us <00:21:11.758>the <00:21:11.991>right <00:21:12.225>choice

420
00:21:12.965 --> 00:21:15.045
<00:21:12.965>of <00:21:13.139>the <00:21:13.314>region <00:21:13.490>is <00:21:13.665>west <00:21:13.840>us, <00:21:14.014>not <00:21:14.189>West <00:21:14.365>Europe.

421
00:21:15.465 --> 00:21:17.605
<00:21:15.465>And <00:21:15.745>this <00:21:16.024>is <00:21:16.304>due <00:21:16.584>to <00:21:16.865>latency

422
00:21:17.825 --> 00:21:21.765
<00:21:17.825>and <00:21:17.965>due <00:21:18.105>to <00:21:18.245>the <00:21:18.385>failure <00:21:18.525>tolerance <00:21:18.665>Microsoft <00:21:18.805>has <00:21:18.945>on <00:21:19.085>its <00:21:19.225>own.

423
00:21:23.345 --> 00:21:27.245
<00:21:23.345>So <00:21:23.500>the <00:21:23.656>better <00:21:23.811>choice <00:21:23.967>for <00:21:24.122>resiliency <00:21:24.278>will <00:21:24.433>be <00:21:24.589>west <00:21:24.745>US.

424
00:21:29.395 --> 00:21:31.935
<00:21:29.395>And <00:21:29.628>uh, <00:21:29.861>second <00:21:30.095>thing <00:21:30.328>was <00:21:30.561>traffic <00:21:30.795>manager.

425
00:21:32.075 --> 00:21:35.815
<00:21:32.075>So <00:21:32.215>my <00:21:32.355>choice <00:21:32.495>was <00:21:32.635>traffic <00:21:32.775>manager <00:21:32.915>to <00:21:33.055>leverage <00:21:33.195>the <00:21:33.335>sec, <00:21:33.475>uh,

426
00:21:35.835 --> 00:21:38.615
<00:21:35.835>the <00:21:36.115>NSG, <00:21:36.395>uh, <00:21:36.675>for <00:21:36.955>traffic <00:21:37.235>control.

427
00:21:38.675 --> 00:21:41.935
<00:21:38.675>But <00:21:38.875>when <00:21:39.075>you <00:21:39.274>go <00:21:39.475>into <00:21:39.675>whatever <00:21:39.875>architected <00:21:40.075>framework,

428
00:21:41.935 --> 00:21:43.935
<00:21:41.935>you <00:21:42.168>will <00:21:42.401>acknowledge <00:21:42.635>it's <00:21:42.868>a <00:21:43.101>bad <00:21:43.335>choice

429
00:21:43.935 --> 00:21:46.615
<00:21:43.935>because <00:21:44.284>the <00:21:44.635>HTTP <00:21:44.985>traffic, <00:21:45.335>so

430
00:21:46.615 --> 00:21:50.575
<00:21:46.615>where <00:21:46.770>API <00:21:46.926>should <00:21:47.081>be <00:21:47.237>exposed <00:21:47.392>either <00:21:47.548>through <00:21:47.703>Azure <00:21:47.859>front <00:21:48.015>door,

431
00:21:50.575 --> 00:21:54.135
<00:21:50.575>and <00:21:50.730>this <00:21:50.886>is <00:21:51.041>the <00:21:51.197>best <00:21:51.352>choice <00:21:51.508>because <00:21:51.663>it <00:21:51.819>adds <00:21:51.975>WAF

432
00:21:54.135 --> 00:21:56.135
<00:21:54.135>and <00:21:54.485>CDN <00:21:54.835>to <00:21:55.185>the <00:21:55.535>endpoint

433
00:21:56.355 --> 00:22:00.655
<00:21:56.355>or <00:21:56.555>through <00:21:56.755>standard <00:21:56.955>road <00:21:57.155>balancer <00:21:57.355>if <00:21:57.555>you, <00:21:57.755>uh,

434
00:22:01.405 --> 00:22:03.255
<00:22:01.405>need <00:22:01.871>public <00:22:02.338>endpoints <00:22:02.805>only.

435
00:22:06.675 --> 00:22:09.335
<00:22:06.675>And <00:22:06.830>it <00:22:06.986>was <00:22:07.141>not <00:22:07.297>the <00:22:07.452>only <00:22:07.608>problem <00:22:07.763>with <00:22:07.919>my <00:22:08.075>choice.

436
00:22:09.715 --> 00:22:14.015
<00:22:09.715>So, <00:22:09.870>uh, <00:22:10.026>traffic <00:22:10.181>manager <00:22:10.337>is <00:22:10.492>still <00:22:10.648>good <00:22:10.803>for <00:22:10.959>SQL <00:22:11.115>traffic

437
00:22:14.155 --> 00:22:15.495
<00:22:14.155>and <00:22:14.557>non <00:22:14.958>HTDP <00:22:15.360>traffic,

438
00:22:16.035 --> 00:22:19.335
<00:22:16.035>but <00:22:16.190>another, <00:22:16.346>uh, <00:22:16.501>problem <00:22:16.657>that <00:22:16.812>was <00:22:16.968>there, <00:22:17.123>I <00:22:17.279>chosen <00:22:17.435>to

439
00:22:19.915 --> 00:22:21.455
<00:22:19.915>use <00:22:20.608>geographic <00:22:21.301>routing

440
00:22:21.455 --> 00:22:23.895
<00:22:21.455>and <00:22:21.688>geography <00:22:21.921>routing <00:22:22.155>looks, <00:22:22.388>works <00:22:22.621>this <00:22:22.855>way

441
00:22:24.245 --> 00:22:26.095
<00:22:24.245>that <00:22:24.445>if <00:22:24.645>you <00:22:24.844>are <00:22:25.044>going <00:22:25.245>from <00:22:25.445>east <00:22:25.645>us,

442
00:22:26.115 --> 00:22:27.415
<00:22:26.115>you <00:22:26.310>always <00:22:26.505>go <00:22:26.700>to <00:22:26.895>East <00:22:27.090>U <00:22:27.284>us.

443
00:22:27.675 --> 00:22:29.055
<00:22:27.675>If <00:22:27.923>you <00:22:28.171>go <00:22:28.420>from <00:22:28.668>West <00:22:28.917>Europe

444
00:22:29.595 --> 00:22:32.535
<00:22:29.595>or <00:22:29.770>Europe, <00:22:29.945>you <00:22:30.120>always <00:22:30.295>go <00:22:30.470>to <00:22:30.645>West <00:22:30.820>Europe <00:22:30.995>region.

445
00:22:32.595 --> 00:22:35.215
<00:22:32.595>The <00:22:32.828>closest <00:22:33.061>region, <00:22:33.295>even <00:22:33.528>if <00:22:33.761>it <00:22:33.995>fails,

446
00:22:35.215 --> 00:22:36.215
<00:22:35.215>there <00:22:35.439>is <00:22:35.665>no <00:22:35.889>health <00:22:36.115>check.

447
00:22:36.675 --> 00:22:39.455
<00:22:36.675>So <00:22:37.024>the <00:22:37.375>right <00:22:37.725>choice <00:22:38.075>for

448
00:22:40.555 --> 00:22:43.255
<00:22:40.555>geo <00:22:40.835>resiliency <00:22:41.115>routing <00:22:41.395>is <00:22:41.675>performance <00:22:41.955>routing.

449
00:22:43.255 --> 00:22:44.535
<00:22:43.255>There <00:22:43.485>is <00:22:43.715>a <00:22:43.946>health <00:22:44.176>check <00:22:44.407>involved,

450
00:22:44.995 --> 00:22:47.335
<00:22:44.995>and <00:22:45.195>then <00:22:45.395>the <00:22:45.594>traffic <00:22:45.794>is <00:22:45.995>routed <00:22:46.195>into <00:22:46.395>closest

451
00:22:47.925 --> 00:22:50.655
<00:22:47.925>when <00:22:48.125>it <00:22:48.325>comes <00:22:48.524>into <00:22:48.725>latency <00:22:48.925>and <00:22:49.125>available <00:22:49.325>region.

452
00:22:53.835 --> 00:22:57.375
<00:22:53.835>Uh, <00:22:54.035>another <00:22:54.235>aspect <00:22:54.435>of <00:22:54.635>the <00:22:54.835>platform <00:22:55.035>design <00:22:55.235>is

453
00:22:57.375 --> 00:23:00.375
<00:22:57.375>that <00:22:57.575>you <00:22:57.775>should, <00:22:57.975>uh, <00:22:58.175>reduce <00:22:58.375>your <00:22:58.575>maintenance <00:22:58.775>burden.

454
00:23:00.835 --> 00:23:03.935
<00:23:00.835>And <00:23:00.990>here <00:23:01.146>you <00:23:01.301>ideally <00:23:01.457>should <00:23:01.612>run <00:23:01.768>your <00:23:01.923>workloads <00:23:02.079>on <00:23:02.235>the

455
00:23:03.935 --> 00:23:04.935
<00:23:03.935>container <00:23:04.835>environment.

456
00:23:05.265 --> 00:23:07.775
<00:23:05.265>There <00:23:05.465>is <00:23:05.665>a <00:23:05.865>diagram <00:23:06.065>I <00:23:06.265>you <00:23:06.465>can <00:23:06.665>Google

457
00:23:07.785 --> 00:23:12.415
<00:23:07.785>after <00:23:07.925>the <00:23:08.065>session <00:23:08.205>that <00:23:08.345>will <00:23:08.485>tell <00:23:08.625>that <00:23:08.765>in <00:23:08.905>the, <00:23:09.045>the <00:23:09.185>light,

458
00:23:12.415 --> 00:23:14.775
<00:23:12.415>most <00:23:12.615>light <00:23:12.815>choice <00:23:13.014>will <00:23:13.215>be <00:23:13.415>Azure <00:23:13.615>container <00:23:13.815>apps,

459
00:23:14.875 --> 00:23:18.535
<00:23:14.875>but <00:23:14.991>you <00:23:15.108>may <00:23:15.225>end <00:23:15.341>up <00:23:15.458>on <00:23:15.575>Azure <00:23:15.691>Virtual <00:23:15.808>one <00:23:15.925>machine <00:23:16.041>if <00:23:16.158>you <00:23:16.275>have

460
00:23:18.535 --> 00:23:19.935
<00:23:18.535>some <00:23:19.165>legacy <00:23:19.795>burden.

461
00:23:21.275 --> 00:23:24.855
<00:23:21.275>And <00:23:21.391>in <00:23:21.508>our <00:23:21.625>case, <00:23:21.741>we <00:23:21.858>were <00:23:21.975>run, <00:23:22.091>we <00:23:22.208>are <00:23:22.325>running <00:23:22.441>on <00:23:22.558>a <00:23:22.675>KS,

462
00:23:25.315 --> 00:23:27.255
<00:23:25.315>but <00:23:25.548>we <00:23:25.781>are <00:23:26.015>running <00:23:26.248>just <00:23:26.481>two <00:23:26.715>containers.

463
00:23:27.835 --> 00:23:30.335
<00:23:27.835>And <00:23:28.068>this <00:23:28.301>is <00:23:28.535>another <00:23:28.768>bad <00:23:29.001>choice, <00:23:29.235>uh,

464
00:23:30.335 --> 00:23:34.895
<00:23:30.335>because <00:23:30.475>running <00:23:30.615>two <00:23:30.755>pots <00:23:30.895>on <00:23:31.035>a <00:23:31.175>KS <00:23:31.315>cluster <00:23:31.455>is <00:23:31.595>uh, <00:23:31.735>overkill.

465
00:23:35.955 --> 00:23:39.055
<00:23:35.955>The <00:23:36.082>reason <00:23:36.209>why <00:23:36.336>we <00:23:36.464>are <00:23:36.591>run, <00:23:36.718>uh, <00:23:36.845>it's <00:23:36.973>running <00:23:37.100>like <00:23:37.227>that <00:23:37.355>is

466
00:23:39.055 --> 00:23:41.175
<00:23:39.055>because <00:23:39.255>it <00:23:39.455>was <00:23:39.655>designed <00:23:39.855>like <00:23:40.055>four <00:23:40.255>years <00:23:40.455>ago.

467
00:23:41.385 --> 00:23:43.735
<00:23:41.385>There <00:23:41.560>was <00:23:41.735>no <00:23:41.910>con, <00:23:42.085>there <00:23:42.260>were <00:23:42.435>no <00:23:42.610>container <00:23:42.785>apps

468
00:23:43.765 --> 00:23:46.845
<00:23:43.765>with <00:23:43.940>private <00:23:44.115>networking <00:23:44.290>that <00:23:44.465>could <00:23:44.640>have <00:23:44.815>done <00:23:44.990>the <00:23:45.165>trick,

469
00:23:47.105 --> 00:23:49.645
<00:23:47.105>but <00:23:47.245>the <00:23:47.385>right <00:23:47.525>choice <00:23:47.665>for <00:23:47.805>this <00:23:47.945>year <00:23:48.085>would <00:23:48.225>be <00:23:48.365>Azure <00:23:48.505>container

470
00:23:49.655 --> 00:23:54.605
<00:23:49.655>wraps <00:23:49.855>with <00:23:50.055>like <00:23:50.254>a <00:23:50.455>secure <00:23:50.655>networking <00:23:50.855>and <00:23:51.055>last,

471
00:23:54.705 --> 00:23:56.245
<00:23:54.705>but <00:23:55.051>not <00:23:55.398>this <00:23:55.744>data <00:23:56.091>platform.

472
00:23:56.345 --> 00:23:57.565
<00:23:56.345>So <00:23:56.564>there <00:23:56.784>is <00:23:57.003>a <00:23:57.223>big <00:23:57.443>chapter.

473
00:23:57.825 --> 00:24:01.245
<00:23:57.825>How <00:23:57.952>should <00:23:58.079>you <00:23:58.206>choose <00:23:58.334>the <00:23:58.461>data <00:23:58.588>tier <00:23:58.715>for <00:23:58.843>your, <00:23:58.970>uh, <00:23:59.097>res <00:23:59.225>uh,

474
00:24:01.245 --> 00:24:02.525
<00:24:01.245>mission <00:24:01.821>critical <00:24:02.397>workloads?

475
00:24:03.545 --> 00:24:08.315
<00:24:03.545>We, <00:24:03.700>I <00:24:03.856>inherited <00:24:04.011>the <00:24:04.167>Azure <00:24:04.322>sql, <00:24:04.478>so <00:24:04.633>I <00:24:04.789>didn't <00:24:04.945>need

476
00:24:08.375 --> 00:24:11.675
<00:24:08.375>to <00:24:08.575>choose, <00:24:08.775>but <00:24:08.975>I <00:24:09.175>choose <00:24:09.375>the <00:24:09.575>replication <00:24:09.775>here.

477
00:24:11.855 --> 00:24:15.555
<00:24:11.855>So <00:24:12.010>I <00:24:12.166>thought <00:24:12.321>that <00:24:12.477>when <00:24:12.632>I <00:24:12.788>use <00:24:12.943>active <00:24:13.099>geo <00:24:13.255>replication

478
00:24:15.555 --> 00:24:19.115
<00:24:15.555>of <00:24:15.730>Azure <00:24:15.905>sql, <00:24:16.080>I <00:24:16.255>will <00:24:16.430>achieve <00:24:16.605>active <00:24:16.780>active <00:24:16.955>failover.

479
00:24:19.725 --> 00:24:20.915
<00:24:19.725>Again, <00:24:20.081>it <00:24:20.438>was <00:24:20.796>mistake

480
00:24:21.185 --> 00:24:24.755
<00:24:21.185>because <00:24:21.385>active <00:24:21.585>geo <00:24:21.784>replication <00:24:21.985>re <00:24:22.185>results <00:24:22.385>in <00:24:22.585>active

481
00:24:24.755 --> 00:24:26.195
<00:24:24.755>passive, <00:24:25.403>uh, <00:24:26.051>mode.

482
00:24:26.495 --> 00:24:31.435
<00:24:26.495>So <00:24:26.635>the <00:24:26.774>second <00:24:26.915>region, <00:24:27.054>our <00:24:27.195>West <00:24:27.334>Europe <00:24:27.475>was <00:24:27.614>read <00:24:27.754>only, <00:24:27.895>only.

483
00:24:31.895 --> 00:24:35.315
<00:24:31.895>So <00:24:32.095>the <00:24:32.295>good <00:24:32.495>choice <00:24:32.695>if <00:24:32.895>we <00:24:33.095>need <00:24:33.295>multi

484
00:24:35.615 --> 00:24:36.995
<00:24:35.615>uh, <00:24:36.235>region, <00:24:36.857>right?

485
00:24:37.575 --> 00:24:40.315
<00:24:37.575>Uh, <00:24:37.775>persistence <00:24:37.975>in <00:24:38.175>Azure <00:24:38.375>SQL <00:24:38.575>is <00:24:38.775>Cosmos <00:24:38.975>db,

486
00:24:40.655 --> 00:24:45.635
<00:24:40.655>but <00:24:40.795>then <00:24:40.935>we <00:24:41.075>need <00:24:41.215>to <00:24:41.355>massage <00:24:41.495>the <00:24:41.635>application <00:24:41.774>to <00:24:41.915>to <00:24:42.055>to

487
00:24:45.635 --> 00:24:46.675
<00:24:45.635>to <00:24:45.947>consume <00:24:46.259>it, <00:24:46.571>right?

488
00:24:47.745 --> 00:24:49.075
<00:24:47.745>Okay, <00:24:48.343>wrapping <00:24:48.942>up,

489
00:24:52.195 --> 00:24:54.555
<00:24:52.195>I <00:24:52.370>would <00:24:52.544>like <00:24:52.720>you <00:24:52.895>to, <00:24:53.070>uh, <00:24:53.245>spend <00:24:53.419>this <00:24:53.595>couple

490
00:24:54.555 --> 00:24:57.595
<00:24:54.555>of <00:24:54.755>hours <00:24:54.955>deep <00:24:55.155>dive <00:24:55.355>on <00:24:55.555>Azure <00:24:55.755>architected <00:24:55.955>documentation

491
00:24:58.615 --> 00:25:01.705
<00:24:58.615>because <00:24:58.790>it's <00:24:58.965>worth, <00:24:59.140>you <00:24:59.315>can <00:24:59.490>avoid <00:24:59.665>the <00:24:59.840>problems, <00:25:00.015>uh,

492
00:25:01.735 --> 00:25:02.905
<00:25:01.735>that <00:25:02.261>I <00:25:02.788>had.

493
00:25:03.405 --> 00:25:07.465
<00:25:03.405>And <00:25:03.560>also <00:25:03.716>it's, <00:25:03.871>uh, <00:25:04.027>something <00:25:04.182>that <00:25:04.338>can <00:25:04.493>help <00:25:04.649>you, <00:25:04.805>uh,

494
00:25:07.495 --> 00:25:11.185
<00:25:07.495>like <00:25:07.728>save <00:25:07.961>time, <00:25:08.195>uh, <00:25:08.428>making <00:25:08.661>architectural <00:25:08.895>decisions

495
00:25:11.185 --> 00:25:14.945
<00:25:11.185>or <00:25:11.385>proving <00:25:11.585>your <00:25:11.784>architectural <00:25:11.985>the <00:25:12.185>chi <00:25:12.385>decisions, <00:25:12.585>correctness

496
00:25:15.405 --> 00:25:18.025
<00:25:15.405>to <00:25:15.754>your <00:25:16.105>teams <00:25:16.455>managers <00:25:16.805>customers.

497
00:25:19.275 --> 00:25:22.895
<00:25:19.275>If <00:25:19.475>you <00:25:19.675>are <00:25:19.875>already <00:25:20.075>running, <00:25:20.275>uh, <00:25:20.475>your <00:25:20.675>workloads,

498
00:25:22.895 --> 00:25:25.775
<00:25:22.895>what <00:25:23.035>is <00:25:23.175>likely <00:25:23.315>if <00:25:23.455>you <00:25:23.595>are <00:25:23.735>here, <00:25:23.875>there <00:25:24.014>is <00:25:24.155>mission <00:25:24.295>critical,

499
00:25:25.875 --> 00:25:28.095
<00:25:25.875>uh, <00:25:26.155>work, <00:25:26.435>uh, <00:25:26.715>workload <00:25:26.995>assessment <00:25:27.275>tool

500
00:25:28.765 --> 00:25:31.495
<00:25:28.765>that <00:25:28.998>is <00:25:29.231>a <00:25:29.465>questionnaire <00:25:29.698>you <00:25:29.931>can <00:25:30.165>answer

501
00:25:31.755 --> 00:25:33.815
<00:25:31.755>and <00:25:31.988>check <00:25:32.221>how <00:25:32.455>can <00:25:32.688>you <00:25:32.921>be <00:25:33.155>better.

502
00:25:35.075 --> 00:25:39.215
<00:25:35.075>And <00:25:35.275>uh, <00:25:35.475>last <00:25:35.675>thing <00:25:35.875>is, <00:25:36.075>uh, <00:25:36.275>I'd <00:25:36.475>like

503
00:25:39.215 --> 00:25:41.255
<00:25:39.215>to <00:25:39.448>remember <00:25:39.681>it's <00:25:39.915>a <00:25:40.148>session <00:25:40.381>about <00:25:40.615>architecture,

504
00:25:41.275 --> 00:25:42.815
<00:25:41.275>but <00:25:41.621>architecture <00:25:41.968>is <00:25:42.314>not <00:25:42.661>easy.

505
00:25:42.815 --> 00:25:44.455
<00:25:42.815>Architecture <00:25:43.165>is <00:25:43.515>about <00:25:43.865>trade <00:25:44.215>offs.

506
00:25:44.915 --> 00:25:47.175
<00:25:44.915>So <00:25:45.148>we <00:25:45.381>are <00:25:45.615>talking <00:25:45.848>here <00:25:46.081>about, <00:25:46.315>uh,

507
00:25:47.175 --> 00:25:50.255
<00:25:47.175>designing <00:25:47.455>resilient <00:25:47.735>mission <00:25:48.014>critical <00:25:48.294>workload <00:25:48.575>platform

508
00:25:50.255 --> 00:25:52.855
<00:25:50.255>and <00:25:50.455>architecture, <00:25:50.655>but <00:25:50.855>it <00:25:51.055>comes <00:25:51.255>with <00:25:51.455>extra <00:25:51.655>cost

509
00:25:53.155 --> 00:25:55.775
<00:25:53.155>and <00:25:53.330>you <00:25:53.504>need <00:25:53.680>to <00:25:53.855>have <00:25:54.030>like <00:25:54.205>budget <00:25:54.379>for <00:25:54.555>it

510
00:25:56.435 --> 00:25:58.815
<00:25:56.435>and, <00:25:56.784>uh, <00:25:57.135>consider <00:25:57.485>it <00:25:57.835>truthfully

511
00:25:59.235 --> 00:26:01.655
<00:25:59.235>or <00:25:59.514>accept <00:25:59.794>the <00:26:00.074>lower <00:26:00.354>availability <00:26:00.635>SLO.

512
00:26:02.035 --> 00:26:05.175
<00:26:02.035>But <00:26:02.210>this, <00:26:02.385>uh, <00:26:02.560>is <00:26:02.735>the <00:26:02.910>consideration <00:26:03.085>that <00:26:03.260>you <00:26:03.435>need

513
00:26:05.175 --> 00:26:08.455
<00:26:05.175>to <00:26:05.524>have <00:26:05.875>second <00:26:06.225>availability <00:26:06.575>zones.

514
00:26:08.715 --> 00:26:12.175
<00:26:08.715>It <00:26:08.889>is <00:26:09.064>something <00:26:09.240>that <00:26:09.415>is, <00:26:09.590>uh, <00:26:09.764>like <00:26:09.939>preached, <00:26:10.115>uh,

515
00:26:12.175 --> 00:26:15.655
<00:26:12.175>cross <00:26:12.375>a <00:26:12.575>z <00:26:12.774>deployment <00:26:12.975>as <00:26:13.175>a <00:26:13.375>good <00:26:13.575>practice,

516
00:26:15.675 --> 00:26:17.295
<00:26:15.675>but <00:26:15.908>it's <00:26:16.141>not <00:26:16.375>always <00:26:16.608>a <00:26:16.841>good <00:26:17.075>practice.

517
00:26:17.355 --> 00:26:18.895
<00:26:17.355>So <00:26:17.701>in <00:26:18.048>Asia <00:26:18.394>it's <00:26:18.741>nice

518
00:26:18.895 --> 00:26:21.935
<00:26:18.895>because <00:26:19.070>we <00:26:19.245>have <00:26:19.420>no <00:26:19.595>charge <00:26:19.770>for <00:26:19.945>cross <00:26:20.120>AZ <00:26:20.295>traffic.

519
00:26:21.995 --> 00:26:23.615
<00:26:21.995>But <00:26:22.274>if <00:26:22.554>you <00:26:22.834>think <00:26:23.114>about <00:26:23.395>AWS

520
00:26:23.615 --> 00:26:27.655
<00:26:23.615>and <00:26:23.755>GCP, <00:26:23.895>you <00:26:24.035>have <00:26:24.175>charged <00:26:24.315>2 <00:26:24.455>cents <00:26:24.595>for, <00:26:24.735>uh, <00:26:24.875>each <00:26:25.015>gigabytes.

521
00:26:27.655 --> 00:26:31.335
<00:26:27.655>So <00:26:27.888>cross <00:26:28.121>az, <00:26:28.355>uh, <00:26:28.588>cluster, <00:26:28.821>maybe <00:26:29.055>pricey.

522
00:26:31.995 --> 00:26:35.935
<00:26:31.995>And <00:26:32.135>even <00:26:32.274>on <00:26:32.415>Asia, <00:26:32.554>when <00:26:32.695>you <00:26:32.834>host, <00:26:32.975>uh, <00:26:33.114>you <00:26:33.254>have, <00:26:33.395>uh,

523
00:26:35.965 --> 00:26:37.255
<00:26:35.965>like <00:26:36.545>extra <00:26:37.126>latency.

524
00:26:37.275 --> 00:26:41.015
<00:26:37.275>So <00:26:37.450>latency <00:26:37.625>in <00:26:37.800>the <00:26:37.975>same <00:26:38.150>availability <00:26:38.325>zone <00:26:38.500>is, <00:26:38.675>uh,

525
00:26:41.965 --> 00:26:44.405
<00:26:41.965>smaller <00:26:42.314>than <00:26:42.665>across <00:26:43.014>availability <00:26:43.365>zone.

526
00:26:45.545 --> 00:26:49.715
<00:26:45.545>Private <00:26:45.720>endpoints <00:26:45.895>is <00:26:46.070>something <00:26:46.245>that, <00:26:46.420>uh, <00:26:46.595>is, <00:26:46.770>uh, <00:26:46.945>announced

527
00:26:49.735 --> 00:26:52.755
<00:26:49.735>as <00:26:50.014>a <00:26:50.294>nice, <00:26:50.574>uh, <00:26:50.854>resiliency <00:26:51.135>improvement,

528
00:26:52.755 --> 00:26:56.275
<00:26:52.755>but <00:26:52.930>it <00:26:53.105>adds <00:26:53.280>additional <00:26:53.455>point <00:26:53.630>of <00:26:53.805>failure <00:26:53.980>and <00:26:54.155>complexity.

529
00:26:56.935 --> 00:27:01.475
<00:26:56.935>And <00:26:57.168>the <00:26:57.401>worst, <00:26:57.635>uh, <00:26:57.868>idea, <00:26:58.101>multi-cloud <00:26:58.335>deployment

530
00:27:01.815 --> 00:27:04.555
<00:27:01.815>to <00:27:02.015>improve <00:27:02.215>the <00:27:02.415>resiliency, <00:27:02.615>it <00:27:02.815>only <00:27:03.015>sounds <00:27:03.215>nice.

531
00:27:04.655 --> 00:27:09.235
<00:27:04.655>But <00:27:04.810>then <00:27:04.966>we <00:27:05.121>introduce <00:27:05.277>a <00:27:05.432>super <00:27:05.588>complexity <00:27:05.743>to <00:27:05.899>our <00:27:06.055>pipelines

532
00:27:09.695 --> 00:27:12.115
<00:27:09.695>and <00:27:09.870>we <00:27:10.044>cannot <00:27:10.220>leverage <00:27:10.395>any <00:27:10.570>goodness <00:27:10.745>of <00:27:10.919>the <00:27:11.095>cloud.

533
00:27:12.215 --> 00:27:15.235
<00:27:12.215>So <00:27:12.389>if <00:27:12.564>we <00:27:12.740>have <00:27:12.915>Azure <00:27:13.090>functions <00:27:13.264>or <00:27:13.439>any <00:27:13.615>pass

534
00:27:15.255 --> 00:27:18.475
<00:27:15.255>or <00:27:15.410>SaaS <00:27:15.566>from <00:27:15.721>Microsoft, <00:27:15.877>we <00:27:16.032>cannot <00:27:16.188>leverage <00:27:16.343>all <00:27:16.499>the <00:27:16.655>functions

535
00:27:18.475 --> 00:27:20.755
<00:27:18.475>because <00:27:18.708>there <00:27:18.941>is <00:27:19.175>no <00:27:19.408>one-to-one <00:27:19.641>feature <00:27:19.875>parity

536
00:27:20.795 --> 00:27:22.595
<00:27:20.795>between <00:27:21.145>AWS <00:27:21.495>Azure <00:27:21.845>and <00:27:22.195>GCP.

537
00:27:23.215 --> 00:27:28.035
<00:27:23.215>So <00:27:23.355>we <00:27:23.495>are <00:27:23.635>in <00:27:23.774>fact <00:27:23.915>locked, <00:27:24.054>uh, <00:27:24.195>to <00:27:24.334>this <00:27:24.475>multi-cloud <00:27:24.615>deployment

538
00:27:28.375 --> 00:27:30.635
<00:27:28.375>and <00:27:28.725>it's <00:27:29.075>a <00:27:29.425>wrong <00:27:29.775>approach.