WEBVTT

1
00:00:03.415 --> 00:00:05.205
<00:00:03.415>Thank <00:00:03.648>you <00:00:03.881>so <00:00:04.115>much <00:00:04.348>for <00:00:04.581>the <00:00:04.814>introduction.

2
00:00:05.205 --> 00:00:08.725
<00:00:05.205>Thanks <00:00:05.345>for, <00:00:05.485>uh, <00:00:05.625>for <00:00:05.765>the <00:00:05.905>invitation. <00:00:06.045>So <00:00:06.185>I'm <00:00:06.325>with <00:00:06.465>Strike <00:00:06.605>Lab.

3
00:00:08.785 --> 00:00:11.325
<00:00:08.785>I'm <00:00:08.960>head <00:00:09.135>of <00:00:09.310>architecture. <00:00:09.485>We <00:00:09.660>are <00:00:09.835>a <00:00:10.010>consulting <00:00:10.185>company,

4
00:00:11.975 --> 00:00:14.085
<00:00:11.975>relatively <00:00:12.208>fresh, <00:00:12.441>so <00:00:12.674>about <00:00:12.908>a <00:00:13.141>year <00:00:13.375>old.

5
00:00:14.225 --> 00:00:16.165
<00:00:14.225>And <00:00:14.504>I'm <00:00:14.785>working <00:00:15.065>on <00:00:15.344>architecture <00:00:15.625>actually,

6
00:00:16.205 --> 00:00:18.285
<00:00:16.204>I <00:00:16.485>wrote <00:00:16.764>a <00:00:17.044>book <00:00:17.325>about <00:00:17.604>microservices

7
00:00:18.905 --> 00:00:20.365
<00:00:18.905>and <00:00:19.343>nowadays <00:00:19.781>it <00:00:20.218>seems

8
00:00:20.365 --> 00:00:22.565
<00:00:20.365>that <00:00:20.564>microservices <00:00:20.764>are <00:00:20.965>supposed <00:00:21.165>to <00:00:21.365>be <00:00:21.564>a <00:00:21.764>mess.

9
00:00:23.105 --> 00:00:24.925
<00:00:23.105>So <00:00:23.305>there <00:00:23.505>are <00:00:23.705>just <00:00:23.905>too <00:00:24.105>many <00:00:24.305>of <00:00:24.505>them.

10
00:00:25.435 --> 00:00:28.525
<00:00:25.435>They're <00:00:25.634>too <00:00:25.834>small <00:00:26.035>and <00:00:26.235>it's <00:00:26.435>all <00:00:26.634>too <00:00:26.834>complicated.

11
00:00:29.585 --> 00:00:33.365
<00:00:29.585>And <00:00:29.712>therefore <00:00:29.839>the <00:00:29.966>cure <00:00:30.094>seems <00:00:30.221>to <00:00:30.348>be <00:00:30.475>to <00:00:30.603>work <00:00:30.730>on <00:00:30.857>monolith <00:00:30.985>again

12
00:00:33.955 --> 00:00:36.805
<00:00:33.955>because <00:00:34.188>well <00:00:34.421>monoliths <00:00:34.655>are <00:00:34.888>easy <00:00:35.121>to <00:00:35.355>handle,

13
00:00:36.995 --> 00:00:39.405
<00:00:36.995>they're <00:00:37.195>much <00:00:37.394>simpler <00:00:37.595>and <00:00:37.794>also <00:00:37.995>they <00:00:38.195>look <00:00:38.394>great.

14
00:00:39.625 --> 00:00:42.805
<00:00:39.625>So <00:00:39.780>this <00:00:39.936>one <00:00:40.091>is <00:00:40.247>the <00:00:40.402>big <00:00:40.558>monolith <00:00:40.713>on <00:00:40.869>the <00:00:41.025>um,

15
00:00:43.365 --> 00:00:45.485
<00:00:43.365>national <00:00:43.565>Mall <00:00:43.765>in <00:00:43.965>the <00:00:44.165>United <00:00:44.365>States <00:00:44.565>and <00:00:44.765>Washington.

16
00:00:45.905 --> 00:00:48.245
<00:00:45.905>And <00:00:46.060>I <00:00:46.216>think <00:00:46.371>it <00:00:46.527>actually <00:00:46.682>looks <00:00:46.838>great <00:00:46.993>in <00:00:47.149>a <00:00:47.305>way,

17
00:00:49.505 --> 00:00:52.205
<00:00:49.505>but <00:00:49.738>I've <00:00:49.971>been <00:00:50.205>around <00:00:50.438>quite <00:00:50.671>some <00:00:50.905>time

18
00:00:52.345 --> 00:00:55.165
<00:00:52.345>and <00:00:52.545>I <00:00:52.745>still <00:00:52.945>remember <00:00:53.144>my <00:00:53.345>first <00:00:53.545>large <00:00:53.745>project,

19
00:00:55.295 --> 00:00:57.525
<00:00:55.295>which <00:00:55.645>was <00:00:55.995>a <00:00:56.345>deployment <00:00:56.695>monolith.

20
00:00:58.145 --> 00:01:01.205
<00:00:58.145>And <00:00:58.320>the <00:00:58.495>compilation <00:00:58.670>time <00:00:58.845>for <00:00:59.020>the <00:00:59.195>thing <00:00:59.370>was <00:00:59.545>hours.

21
00:01:02.065 --> 00:01:03.285
<00:01:02.065>It <00:01:02.339>took <00:01:02.614>about <00:01:02.888>50 <00:01:03.163>minutes

22
00:01:03.345 --> 00:01:05.405
<00:01:03.345>or <00:01:03.519>so <00:01:03.695>to <00:01:03.870>get <00:01:04.045>the <00:01:04.220>whole <00:01:04.394>thing <00:01:04.569>even <00:01:04.745>started

23
00:01:06.105 --> 00:01:08.765
<00:01:06.105>and <00:01:06.260>it <00:01:06.416>had <00:01:06.571>a <00:01:06.727>lot <00:01:06.882>of <00:01:07.038>integration <00:01:07.193>with <00:01:07.349>other <00:01:07.505>systems.

24
00:01:08.945 --> 00:01:11.085
<00:01:08.945>So <00:01:09.085>it <00:01:09.225>was <00:01:09.365>really <00:01:09.505>at <00:01:09.645>the <00:01:09.785>core <00:01:09.925>of <00:01:10.065>the <00:01:10.205>business <00:01:10.345>and

25
00:01:11.085 --> 00:01:12.565
<00:01:11.085>therefore <00:01:11.307>it <00:01:11.529>had <00:01:11.751>to <00:01:11.973>integrate <00:01:12.195>with <00:01:12.417>everything.

26
00:01:12.585 --> 00:01:14.925
<00:01:12.585>And <00:01:12.935>obviously <00:01:13.285>testing <00:01:13.635>is <00:01:13.985>hard

27
00:01:14.925 --> 00:01:16.765
<00:01:14.925>because <00:01:15.125>there <00:01:15.325>is <00:01:15.524>so <00:01:15.725>much <00:01:15.925>that <00:01:16.125>you <00:01:16.325>integrate.

28
00:01:17.075 --> 00:01:18.885
<00:01:17.075>It's <00:01:17.308>such <00:01:17.541>a <00:01:17.775>complicated <00:01:18.008>system, <00:01:18.241>it <00:01:18.475>takes

29
00:01:18.985 --> 00:01:20.365
<00:01:18.985>so <00:01:19.233>long <00:01:19.481>to <00:01:19.730>actually <00:01:19.978>run <00:01:20.226>it.

30
00:01:21.425 --> 00:01:23.765
<00:01:21.425>And <00:01:21.600>the <00:01:21.774>deployment <00:01:21.950>took <00:01:22.125>two <00:01:22.300>days <00:01:22.475>over <00:01:22.649>the <00:01:22.825>weekend

31
00:01:24.185 --> 00:01:26.765
<00:01:24.185>and <00:01:24.340>I'm <00:01:24.496>not <00:01:24.651>even <00:01:24.807>sure <00:01:24.962>what <00:01:25.118>the <00:01:25.273>commercial <00:01:25.429>impact <00:01:25.585>was.

32
00:01:27.465 --> 00:01:31.005
<00:01:27.465>Um, <00:01:27.698>and <00:01:27.931>nowadays <00:01:28.165>such <00:01:28.398>things <00:01:28.631>are <00:01:28.865>still

33
00:01:31.005 --> 00:01:32.765
<00:01:31.005>around <00:01:31.285>not <00:01:31.565>that <00:01:31.845>bad, <00:01:32.125>but <00:01:32.405>still.

34
00:01:33.065 --> 00:01:37.125
<00:01:33.065>So <00:01:33.181>there <00:01:33.298>was <00:01:33.414>a <00:01:33.531>di <00:01:33.648>a <00:01:33.765>different <00:01:33.881>project <00:01:33.998>that <00:01:34.115>I <00:01:34.231>had <00:01:34.348>to <00:01:34.465>uh,

35
00:01:37.395 --> 00:01:39.965
<00:01:37.395>consult <00:01:37.675>and <00:01:37.955>they <00:01:38.235>did <00:01:38.515>quarterly <00:01:38.795>releases.

36
00:01:40.465 --> 00:01:42.485
<00:01:40.465>So <00:01:40.665>they <00:01:40.865>had <00:01:41.065>about <00:01:41.265>10 <00:01:41.465>weeks <00:01:41.665>of <00:01:41.865>testings

37
00:01:42.665 --> 00:01:47.485
<00:01:42.664>and <00:01:42.820>they <00:01:42.976>did <00:01:43.131>two <00:01:43.287>days <00:01:43.442>of <00:01:43.598>release <00:01:43.753>over <00:01:43.909>the <00:01:44.065>weekend.

38
00:01:48.065 --> 00:01:50.645
<00:01:48.065>So <00:01:48.240>if <00:01:48.414>you <00:01:48.590>look <00:01:48.765>at <00:01:48.940>it <00:01:49.115>on <00:01:49.289>a <00:01:49.465>timescale,

39
00:01:50.655 --> 00:01:53.525
<00:01:50.655>there <00:01:50.795>is <00:01:50.935>a <00:01:51.075>deployment <00:01:51.215>phase, <00:01:51.355>then <00:01:51.495>there <00:01:51.635>is <00:01:51.775>the <00:01:51.915>testing <00:01:52.055>phase

40
00:01:53.525 --> 00:01:55.325
<00:01:53.525>and <00:01:53.725>then <00:01:53.925>there <00:01:54.125>is <00:01:54.325>two <00:01:54.525>days <00:01:54.725>of <00:01:54.925>releases.

41
00:01:55.945 --> 00:01:59.085
<00:01:55.945>And <00:01:56.100>the <00:01:56.256>goal <00:01:56.411>was <00:01:56.567>to <00:01:56.722>do <00:01:56.878>several <00:01:57.033>deployments <00:01:57.189>a <00:01:57.345>day,

42
00:01:59.085 --> 00:02:01.845
<00:01:59.085>which <00:01:59.212>is <00:01:59.339>a <00:01:59.466>good <00:01:59.594>idea <00:01:59.721>because <00:01:59.848>then <00:01:59.975>you <00:02:00.103>have <00:02:00.230>a <00:02:00.357>constant <00:02:00.485>flow

43
00:02:02.185 --> 00:02:04.325
<00:02:02.185>of <00:02:02.535>features <00:02:02.885>and <00:02:03.235>constant <00:02:03.585>feedback.

44
00:02:05.145 --> 00:02:06.485
<00:02:05.145>And <00:02:05.317>I'm <00:02:05.489>not <00:02:05.661>sure <00:02:05.834>how <00:02:06.006>you <00:02:06.178>will <00:02:06.351>do

45
00:02:06.485 --> 00:02:08.485
<00:02:06.485>that <00:02:06.765>if <00:02:07.045>you <00:02:07.325>don't <00:02:07.605>do <00:02:07.885>microservices

46
00:02:08.485 --> 00:02:11.965
<00:02:08.485>because <00:02:08.612>on <00:02:08.739>the <00:02:08.866>same <00:02:08.994>scale <00:02:09.121>this <00:02:09.248>is <00:02:09.375>what <00:02:09.503>it <00:02:09.630>should <00:02:09.757>now <00:02:09.885>take

47
00:02:12.545 --> 00:02:16.205
<00:02:12.545>to <00:02:12.700>test <00:02:12.856>and <00:02:13.011>deploy <00:02:13.167>the <00:02:13.322>application <00:02:13.478>that's <00:02:13.633>so <00:02:13.789>much <00:02:13.945>faster

48
00:02:16.675 --> 00:02:20.125
<00:02:16.675>that <00:02:16.830>you <00:02:16.986>cannot <00:02:17.141>possibly <00:02:17.297>do <00:02:17.452>that <00:02:17.608>by <00:02:17.763>just <00:02:17.919>making <00:02:18.075>testing

49
00:02:20.665 --> 00:02:22.045
<00:02:20.665>and <00:02:21.286>releasing <00:02:21.907>faster.

50
00:02:22.185 --> 00:02:23.325
<00:02:22.185>You <00:02:22.390>have <00:02:22.595>to <00:02:22.800>do <00:02:23.005>something <00:02:23.210>different.

51
00:02:23.325 --> 00:02:26.565
<00:02:23.325>You <00:02:23.441>have <00:02:23.558>to <00:02:23.674>cut <00:02:23.791>down <00:02:23.908>the <00:02:24.024>size <00:02:24.141>of <00:02:24.258>what <00:02:24.375>you <00:02:24.491>test <00:02:24.608>and <00:02:24.725>release.

52
00:02:27.705 --> 00:02:30.565
<00:02:27.704>So <00:02:27.938>therefore <00:02:28.171>you <00:02:28.404>have <00:02:28.638>to <00:02:28.871>change <00:02:29.105>strategies.

53
00:02:30.705 --> 00:02:35.125
<00:02:30.704>So <00:02:30.844>if <00:02:30.984>I <00:02:31.124>hear <00:02:31.265>people <00:02:31.404>saying <00:02:31.545>nowadays <00:02:31.684>the <00:02:31.825>monoliths <00:02:31.964>are <00:02:32.105>easier

54
00:02:35.305 --> 00:02:36.965
<00:02:35.305>to <00:02:35.538>easy <00:02:35.771>to <00:02:36.005>handle, <00:02:36.238>they <00:02:36.471>are <00:02:36.705>simpler

55
00:02:37.465 --> 00:02:38.725
<00:02:37.465>and <00:02:37.748>they <00:02:38.032>also <00:02:38.315>look <00:02:38.599>great.

56
00:02:39.305 --> 00:02:40.485
<00:02:39.305>I'm <00:02:39.482>not <00:02:39.659>sure <00:02:39.836>whether <00:02:40.013>we <00:02:40.190>are <00:02:40.367>talking

57
00:02:40.485 --> 00:02:41.725
<00:02:40.485>about <00:02:40.857>the <00:02:41.229>same <00:02:41.601>monoliths.

58
00:02:42.505 --> 00:02:44.805
<00:02:42.505>Um, <00:02:42.704>and <00:02:42.905>on <00:02:43.105>the <00:02:43.305>other <00:02:43.505>hand <00:02:43.704>there <00:02:43.905>are

59
00:02:45.795 --> 00:02:48.445
<00:02:45.795>architectures <00:02:46.075>like <00:02:46.355>the <00:02:46.635>famous <00:02:46.915>Netflix <00:02:47.195>architecture,

60
00:02:48.445 --> 00:02:49.845
<00:02:48.445>which <00:02:48.697>was <00:02:48.948>sort <00:02:49.201>of <00:02:49.453>a <00:02:49.704>pioneer

61
00:02:50.025 --> 00:02:51.725
<00:02:50.025>for <00:02:50.491>the <00:02:50.958>microservices <00:02:51.425>architecture.

62
00:02:52.305 --> 00:02:54.045
<00:02:52.305>And <00:02:52.538>if <00:02:52.771>you <00:02:53.005>look <00:02:53.238>at <00:02:53.471>this, <00:02:53.705>um,

63
00:02:54.045 --> 00:02:56.445
<00:02:54.045>there <00:02:54.245>is <00:02:54.445>an <00:02:54.645>architecture <00:02:54.845>diagram <00:02:55.045>of <00:02:55.245>the <00:02:55.445>uh,

64
00:02:56.445 --> 00:02:57.485
<00:02:56.445>Netflix <00:02:57.381>architecture.

65
00:02:57.485 --> 00:02:58.965
<00:02:57.485>I <00:02:57.707>stole <00:02:57.929>that <00:02:58.151>from <00:02:58.373>a <00:02:58.595>YouTube <00:02:58.817>video.

66
00:02:59.505 --> 00:03:03.885
<00:02:59.505>And <00:02:59.632>if <00:02:59.759>you <00:02:59.886>look <00:03:00.014>at <00:03:00.141>it, <00:03:00.268>here <00:03:00.395>are <00:03:00.523>probably <00:03:00.650>all <00:03:00.777>the <00:03:00.905>services

67
00:03:04.465 --> 00:03:06.005
<00:03:04.465>and <00:03:04.638>you <00:03:04.811>can <00:03:04.984>see <00:03:05.158>there <00:03:05.331>are <00:03:05.504>quite <00:03:05.677>a <00:03:05.851>few

68
00:03:06.005 --> 00:03:07.165
<00:03:06.005>dependencies <00:03:06.527>between <00:03:07.048>them.

69
00:03:07.665 --> 00:03:10.685
<00:03:07.665>So <00:03:07.840>many <00:03:08.015>in <00:03:08.190>fact <00:03:08.364>that <00:03:08.540>you <00:03:08.715>can't <00:03:08.890>tell, <00:03:09.065>uh,

70
00:03:11.875 --> 00:03:13.325
<00:03:11.875>what <00:03:12.310>depends <00:03:12.745>on <00:03:13.179>what,

71
00:03:14.025 --> 00:03:15.405
<00:03:14.025>and <00:03:14.439>obviously <00:03:14.853>people <00:03:15.267>claim,

72
00:03:15.405 --> 00:03:17.685
<00:03:15.405>well <00:03:15.685>nobody <00:03:15.965>can <00:03:16.245>possibly <00:03:16.525>understand <00:03:16.805>that.

73
00:03:19.985 --> 00:03:22.525
<00:03:19.985>So <00:03:20.218>I <00:03:20.451>checked, <00:03:20.685>um, <00:03:20.918>Netflix <00:03:21.151>still <00:03:21.385>works,

74
00:03:22.875 --> 00:03:25.005
<00:03:22.875>Netflix <00:03:23.225>still <00:03:23.575>launches <00:03:23.925>new <00:03:24.275>features.

75
00:03:25.825 --> 00:03:27.965
<00:03:25.825>Um, <00:03:26.174>so <00:03:26.524>this <00:03:26.875>software <00:03:27.225>architecture

76
00:03:27.965 --> 00:03:29.085
<00:03:27.965>seems <00:03:28.166>to <00:03:28.368>be <00:03:28.569>working <00:03:28.771>for <00:03:28.973>them.

77
00:03:30.265 --> 00:03:33.005
<00:03:30.265>So <00:03:30.404>we <00:03:30.545>shouldn't <00:03:30.684>say <00:03:30.825>that <00:03:30.964>this <00:03:31.105>is <00:03:31.244>just <00:03:31.385>a <00:03:31.524>giant <00:03:31.665>mess.

78
00:03:33.105 --> 00:03:36.885
<00:03:33.105>We <00:03:33.260>should <00:03:33.416>try <00:03:33.571>to <00:03:33.727>understand <00:03:33.882>why <00:03:34.038>this <00:03:34.193>can <00:03:34.349>possibly <00:03:34.505>work.

79
00:03:37.585 --> 00:03:39.645
<00:03:37.585>And <00:03:37.785>I <00:03:37.985>think <00:03:38.185>the <00:03:38.385>answer <00:03:38.585>to <00:03:38.785>that <00:03:38.985>is

80
00:03:40.265 --> 00:03:43.925
<00:03:40.265>if <00:03:40.440>some <00:03:40.614>person <00:03:40.790>develops <00:03:40.964>software <00:03:41.140>at <00:03:41.315>Netflix, <00:03:41.489>chances <00:03:41.665>are

81
00:03:43.925 --> 00:03:46.725
<00:03:43.925>that <00:03:44.125>they <00:03:44.325>just <00:03:44.525>understand <00:03:44.725>a <00:03:44.925>very <00:03:45.125>small <00:03:45.325>part

82
00:03:46.725 --> 00:03:48.845
<00:03:46.725>of <00:03:46.924>the <00:03:47.125>whole <00:03:47.325>thing <00:03:47.525>because <00:03:47.725>that <00:03:47.924>is <00:03:48.125>just

83
00:03:48.845 --> 00:03:50.445
<00:03:48.845>what <00:03:49.078>you <00:03:49.311>can <00:03:49.545>get <00:03:49.778>into <00:03:50.011>your <00:03:50.245>brain.

84
00:03:51.425 --> 00:03:54.405
<00:03:51.425>And <00:03:51.600>I <00:03:51.775>would <00:03:51.950>argue <00:03:52.125>that <00:03:52.300>this <00:03:52.475>is <00:03:52.650>a <00:03:52.825>victory

85
00:03:54.665 --> 00:03:55.805
<00:03:54.665>of <00:03:55.178>information <00:03:55.691>hiding.

86
00:03:56.235 --> 00:03:57.885
<00:03:56.235>It's <00:03:56.515>a <00:03:56.795>victory <00:03:57.075>of <00:03:57.355>a <00:03:57.635>technique

87
00:03:57.885 --> 00:03:59.525
<00:03:57.885>where <00:03:58.234>we <00:03:58.584>have <00:03:58.935>little <00:03:59.285>information

88
00:03:59.745 --> 00:04:01.845
<00:03:59.745>and <00:03:59.978>we <00:04:00.211>can <00:04:00.445>still <00:04:00.678>change <00:04:00.911>the <00:04:01.145>system.

89
00:04:02.345 --> 00:04:03.845
<00:04:02.345>And <00:04:02.570>this <00:04:02.795>is <00:04:03.020>actually <00:04:03.245>the <00:04:03.470>only <00:04:03.695>way

90
00:04:03.905 --> 00:04:05.445
<00:04:03.905>how <00:04:04.182>we <00:04:04.459>can <00:04:04.736>build <00:04:05.013>complex <00:04:05.291>software.

91
00:04:05.945 --> 00:04:08.285
<00:04:05.945>Nobody <00:04:06.225>can <00:04:06.505>understand <00:04:06.785>the <00:04:07.065>software <00:04:07.345>systems

92
00:04:08.285 --> 00:04:09.485
<00:04:08.285>that <00:04:08.555>we <00:04:08.825>are <00:04:09.095>working <00:04:09.365>on.

93
00:04:09.915 --> 00:04:11.365
<00:04:09.915>This <00:04:10.176>is <00:04:10.437>why <00:04:10.698>we <00:04:10.959>have <00:04:11.220>teams

94
00:04:11.865 --> 00:04:15.325
<00:04:11.865>and <00:04:12.005>this <00:04:12.145>is <00:04:12.285>why <00:04:12.425>it's <00:04:12.565>so <00:04:12.705>important <00:04:12.845>to <00:04:12.985>limit <00:04:13.125>the <00:04:13.265>information

95
00:04:15.325 --> 00:04:18.965
<00:04:15.325>that <00:04:15.500>we <00:04:15.674>need <00:04:15.850>to <00:04:16.024>process <00:04:16.200>to <00:04:16.375>do <00:04:16.550>anything <00:04:16.724>sensible

96
00:04:18.965 --> 00:04:19.965
<00:04:18.964>with <00:04:19.414>this <00:04:19.864>software.

97
00:04:21.025 --> 00:04:23.445
<00:04:21.024>So <00:04:21.491>maybe <00:04:21.958>the <00:04:22.424>explanation

98
00:04:23.505 --> 00:04:27.165
<00:04:23.505>for <00:04:23.784>Netflix <00:04:24.065>success <00:04:24.344>is <00:04:24.625>successful <00:04:24.905>modularization

99
00:04:27.705 --> 00:04:29.165
<00:04:27.705>and <00:04:28.362>information <00:04:29.019>hiding.

100
00:04:29.965 --> 00:04:31.805
<00:04:29.965>I <00:04:30.164>can't <00:04:30.364>tell <00:04:30.565>because <00:04:30.765>I <00:04:30.965>haven't <00:04:31.164>worked <00:04:31.364>there,

101
00:04:32.105 --> 00:04:34.165
<00:04:32.105>but <00:04:32.305>I <00:04:32.505>think <00:04:32.705>that <00:04:32.905>might <00:04:33.105>be <00:04:33.305>an <00:04:33.505>explanation.

102
00:04:34.625 --> 00:04:37.005
<00:04:34.625>And <00:04:34.825>by <00:04:35.025>the <00:04:35.225>way, <00:04:35.425>Netflix <00:04:35.625>is <00:04:35.825>a <00:04:36.025>company

103
00:04:37.005 --> 00:04:38.205
<00:04:37.005>that <00:04:37.365>is <00:04:37.724>primarily <00:04:38.085>digital.

104
00:04:38.545 --> 00:04:39.645
<00:04:38.545>So <00:04:38.875>it's <00:04:39.205>about <00:04:39.534>software,

105
00:04:39.645 --> 00:04:41.405
<00:04:39.645>it's <00:04:39.878>about <00:04:40.111>the <00:04:40.344>movies <00:04:40.578>that <00:04:40.811>they <00:04:41.044>have.

106
00:04:41.585 --> 00:04:44.805
<00:04:41.585>Um, <00:04:41.760>and <00:04:41.935>therefore <00:04:42.109>software <00:04:42.284>is <00:04:42.460>very <00:04:42.635>important <00:04:42.810>to <00:04:42.984>them.

107
00:04:45.345 --> 00:04:47.245
<00:04:45.345>And <00:04:45.520>I'm <00:04:45.695>from <00:04:45.870>Germany <00:04:46.045>as <00:04:46.220>you <00:04:46.395>can <00:04:46.570>probably <00:04:46.745>tell.

108
00:04:47.665 --> 00:04:51.085
<00:04:47.665>So <00:04:47.840>it <00:04:48.015>might <00:04:48.190>be <00:04:48.365>interesting <00:04:48.540>to <00:04:48.715>compare <00:04:48.890>this <00:04:49.065>company

109
00:04:51.225 --> 00:04:52.805
<00:04:51.225>to <00:04:51.575>the <00:04:51.925>most <00:04:52.275>successful <00:04:52.625>software

110
00:04:52.805 --> 00:04:53.925
<00:04:52.805>company <00:04:53.006>that <00:04:53.208>we <00:04:53.409>have <00:04:53.611>in <00:04:53.813>Germany.

111
00:04:54.425 --> 00:04:56.645
<00:04:54.425>And <00:04:54.580>it <00:04:54.736>turns <00:04:54.891>out <00:04:55.047>that <00:04:55.202>Netflix <00:04:55.358>is <00:04:55.513>actually <00:04:55.669>making <00:04:55.825>more

112
00:04:56.645 --> 00:04:59.885
<00:04:56.645>revenue <00:04:56.820>and <00:04:56.995>it's <00:04:57.169>also <00:04:57.344>more <00:04:57.520>worth <00:04:57.695>the <00:04:57.870>market <00:04:58.044>capitalization

113
00:04:59.885 --> 00:05:03.005
<00:04:59.885>of <00:05:00.040>Netflix <00:05:00.196>is <00:05:00.351>larger <00:05:00.507>than <00:05:00.662>the <00:05:00.818>one <00:05:00.973>of <00:05:01.129>of <00:05:01.284>SAP

114
00:05:03.425 --> 00:05:05.365
<00:05:03.425>and <00:05:03.625>they <00:05:03.825>are <00:05:04.025>even <00:05:04.225>in <00:05:04.425>the <00:05:04.625>Fortune <00:05:04.825>500.

115
00:05:06.105 --> 00:05:10.125
<00:05:06.105>So <00:05:06.280>I <00:05:06.455>would <00:05:06.630>argue <00:05:06.805>that <00:05:06.980>Netflix <00:05:07.155>is <00:05:07.330>hugely <00:05:07.505>successful.

116
00:05:10.555 --> 00:05:14.365
<00:05:10.555>Netflix <00:05:10.835>heavily <00:05:11.115>depends <00:05:11.395>on <00:05:11.675>software <00:05:11.955>and

117
00:05:14.395 --> 00:05:16.485
<00:05:14.395>therefore <00:05:14.861>the <00:05:15.328>software <00:05:15.794>architecture

118
00:05:16.485 --> 00:05:19.805
<00:05:16.485>that <00:05:16.660>Netflix <00:05:16.835>has <00:05:17.010>implemented <00:05:17.185>has <00:05:17.360>achieved <00:05:17.535>the <00:05:17.710>ultimate <00:05:17.885>goal,

119
00:05:19.805 --> 00:05:21.245
<00:05:19.805>which <00:05:20.237>is <00:05:20.669>business <00:05:21.101>success.

120
00:05:21.315 --> 00:05:22.845
<00:05:21.315>This <00:05:21.590>is <00:05:21.865>why <00:05:22.141>we <00:05:22.416>create <00:05:22.692>software

121
00:05:22.845 --> 00:05:25.165
<00:05:22.845>because <00:05:23.020>we <00:05:23.195>want <00:05:23.370>to <00:05:23.545>be <00:05:23.720>successful <00:05:23.895>in <00:05:24.070>the <00:05:24.245>business

122
00:05:25.865 --> 00:05:27.405
<00:05:25.865>and <00:05:26.327>probably <00:05:26.789>this <00:05:27.251>is

123
00:05:27.405 --> 00:05:29.325
<00:05:27.405>because <00:05:27.638>their <00:05:27.871>architecture <00:05:28.104>was <00:05:28.338>a <00:05:28.571>good <00:05:28.804>fit

124
00:05:29.385 --> 00:05:34.005
<00:05:29.385>for <00:05:29.618>their <00:05:29.851>business, <00:05:30.085>but <00:05:30.318>this <00:05:30.551>also <00:05:30.784>means

125
00:05:34.235 --> 00:05:35.765
<00:05:34.235>that <00:05:34.579>you <00:05:34.923>are <00:05:35.267>not <00:05:35.611>Netflix.

126
00:05:36.245 --> 00:05:39.085
<00:05:36.245>I <00:05:36.385>assume <00:05:36.525>that <00:05:36.665>all <00:05:36.805>of <00:05:36.945>you <00:05:37.085>are <00:05:37.225>not <00:05:37.365>working <00:05:37.505>for <00:05:37.645>Netflix,

127
00:05:39.085 --> 00:05:40.285
<00:05:39.085>otherwise <00:05:39.625>I <00:05:40.164>apologize.

128
00:05:40.905 --> 00:05:43.605
<00:05:40.905>So <00:05:41.184>you <00:05:41.465>should <00:05:41.744>do <00:05:42.025>something <00:05:42.304>different.

129
00:05:44.295 --> 00:05:47.525
<00:05:44.295>Learn <00:05:44.450>from <00:05:44.606>their <00:05:44.761>successes <00:05:44.917>and <00:05:45.072>adapt <00:05:45.228>it <00:05:45.383>to <00:05:45.539>your <00:05:45.695>case.

130
00:05:47.635 --> 00:05:49.325
<00:05:47.635>This <00:05:47.868>is <00:05:48.101>what <00:05:48.335>you <00:05:48.568>should <00:05:48.801>be <00:05:49.034>doing.

131
00:05:50.785 --> 00:05:51.925
<00:05:50.784>And <00:05:50.990>by <00:05:51.195>the <00:05:51.400>way, <00:05:51.605>I <00:05:51.811>mean

132
00:05:52.435 --> 00:05:54.445
<00:05:52.435>obviously <00:05:52.715>nobody <00:05:52.995>can <00:05:53.275>really <00:05:53.555>understand <00:05:53.835>this,

133
00:05:54.705 --> 00:05:57.605
<00:05:54.705>but <00:05:54.880>let's <00:05:55.055>take <00:05:55.229>a <00:05:55.405>look <00:05:55.580>at <00:05:55.755>the <00:05:55.930>typical <00:05:56.104>monolith.

134
00:05:58.185 --> 00:06:02.845
<00:05:58.185>Um, <00:05:58.360>and <00:05:58.535>I've <00:05:58.710>been <00:05:58.885>to <00:05:59.060>some <00:05:59.235>consulting <00:05:59.410>engagement <00:05:59.585>where

135
00:06:03.585 --> 00:06:06.965
<00:06:03.585>90% <00:06:03.784>of <00:06:03.984>the <00:06:04.185>code <00:06:04.385>was <00:06:04.585>an <00:06:04.784>dependency <00:06:04.984>cycle.

136
00:06:07.345 --> 00:06:11.245
<00:06:07.345>So <00:06:07.500>a <00:06:07.656>dependency <00:06:07.811>cycle <00:06:07.967>means <00:06:08.122>that <00:06:08.278>A <00:06:08.433>depends <00:06:08.589>on <00:06:08.745>B,

137
00:06:11.245 --> 00:06:12.805
<00:06:11.245>but <00:06:11.525>B <00:06:11.805>also <00:06:12.085>depends <00:06:12.365>on <00:06:12.645>A.

138
00:06:12.805 --> 00:06:15.805
<00:06:12.805>So <00:06:12.980>it's <00:06:13.155>a <00:06:13.330>cycle. <00:06:13.505>And <00:06:13.680>if <00:06:13.855>you <00:06:14.030>change <00:06:14.205>A,

139
00:06:15.995 --> 00:06:18.205
<00:06:15.995>then <00:06:16.228>you <00:06:16.461>probably <00:06:16.695>also <00:06:16.928>have <00:06:17.161>an <00:06:17.395>influence

140
00:06:18.205 --> 00:06:19.325
<00:06:18.205>on <00:06:18.457>B <00:06:18.709>and <00:06:18.961>vice <00:06:19.212>versa.

141
00:06:19.425 --> 00:06:22.565
<00:06:19.425>So <00:06:19.541>if <00:06:19.658>you <00:06:19.775>change <00:06:19.891>B, <00:06:20.008>there <00:06:20.125>also <00:06:20.241>has <00:06:20.358>an <00:06:20.475>influence <00:06:20.591>on <00:06:20.708>a, <00:06:20.825>so

142
00:06:22.665 --> 00:06:25.685
<00:06:22.665>as <00:06:22.840>soon <00:06:23.015>as <00:06:23.190>you <00:06:23.365>change <00:06:23.540>something <00:06:23.715>of <00:06:23.890>that <00:06:24.065>90%,

143
00:06:26.185 --> 00:06:29.045
<00:06:26.185>it <00:06:26.325>probably <00:06:26.465>has <00:06:26.605>an <00:06:26.745>impact <00:06:26.885>on <00:06:27.025>the <00:06:27.165>rest <00:06:27.305>of <00:06:27.445>the <00:06:27.585>90%.

144
00:06:30.905 --> 00:06:35.485
<00:06:30.905>And <00:06:31.104>almost <00:06:31.304>everything <00:06:31.505>depended <00:06:31.705>on <00:06:31.905>one <00:06:32.104>large <00:06:32.304>package.

145
00:06:35.865 --> 00:06:37.725
<00:06:35.865>So <00:06:36.145>one <00:06:36.425>large <00:06:36.705>group <00:06:36.985>of <00:06:37.265>classes

146
00:06:37.995 --> 00:06:40.085
<00:06:37.995>that <00:06:38.345>were <00:06:38.695>entities, <00:06:39.045>business <00:06:39.395>entities.

147
00:06:41.545 --> 00:06:43.485
<00:06:41.545>And <00:06:41.745>it <00:06:41.945>turned <00:06:42.145>out <00:06:42.345>that <00:06:42.545>for <00:06:42.745>every <00:06:42.945>change,

148
00:06:43.695 --> 00:06:45.365
<00:06:43.695>every <00:06:44.161>team <00:06:44.628>was <00:06:45.094>involved.

149
00:06:45.365 --> 00:06:48.045
<00:06:45.365>They <00:06:45.520>had <00:06:45.676>meetings <00:06:45.831>where <00:06:45.987>people <00:06:46.142>would <00:06:46.298>raise <00:06:46.453>their <00:06:46.609>hands <00:06:46.765>once

150
00:06:48.045 --> 00:06:49.365
<00:06:48.045>they <00:06:48.282>were <00:06:48.520>impacted <00:06:48.757>by <00:06:48.995>a <00:06:49.233>change

151
00:06:49.465 --> 00:06:52.245
<00:06:49.465>and <00:06:49.698>usually <00:06:49.931>everyone <00:06:50.165>would <00:06:50.398>raise <00:06:50.631>their <00:06:50.865>hands,

152
00:06:52.335 --> 00:06:54.165
<00:06:52.335>every <00:06:52.685>representative <00:06:53.034>of <00:06:53.385>each <00:06:53.734>team

153
00:06:54.165 --> 00:06:55.445
<00:06:54.165>would <00:06:54.453>uh, <00:06:54.741>raise <00:06:55.029>their <00:06:55.317>hands.

154
00:06:57.065 --> 00:06:58.125
<00:06:57.065>So <00:06:57.303>it's <00:06:57.542>a <00:06:57.780>huge <00:06:58.019>mess

155
00:06:58.315 --> 00:07:01.005
<00:06:58.315>because <00:06:58.548>you <00:06:58.781>can't <00:06:59.015>really <00:06:59.248>change <00:06:59.481>that <00:06:59.715>software

156
00:07:01.625 --> 00:07:04.405
<00:07:01.625>and <00:07:01.858>it <00:07:02.091>was <00:07:02.325>quite <00:07:02.558>an <00:07:02.791>expensive <00:07:03.025>venture

157
00:07:05.345 --> 00:07:07.045
<00:07:05.345>and <00:07:05.695>it <00:07:06.045>was <00:07:06.395>nowhere <00:07:06.745>close.

158
00:07:07.045 --> 00:07:08.885
<00:07:07.045>When <00:07:07.220>I <00:07:07.395>looked <00:07:07.570>at <00:07:07.745>it, <00:07:07.920>it <00:07:08.095>was <00:07:08.270>nowhere <00:07:08.445>close

159
00:07:09.305 --> 00:07:10.965
<00:07:09.305>to <00:07:09.771>a <00:07:10.238>first <00:07:10.705>release.

160
00:07:13.305 --> 00:07:14.325
<00:07:13.305>So <00:07:13.534>what <00:07:13.764>does <00:07:13.993>that <00:07:14.223>mean?

161
00:07:14.795 --> 00:07:18.525
<00:07:14.795>Well, <00:07:14.935>so <00:07:15.075>here <00:07:15.215>is <00:07:15.355>someone <00:07:15.495>that <00:07:15.635>could <00:07:15.775>step <00:07:15.915>up <00:07:16.055>to <00:07:16.195>me

162
00:07:18.525 --> 00:07:20.645
<00:07:18.525>and <00:07:18.700>say, <00:07:18.875>okay, <00:07:19.049>so <00:07:19.224>we <00:07:19.400>have <00:07:19.575>a <00:07:19.750>thousand <00:07:19.924>microservices

163
00:07:21.065 --> 00:07:22.165
<00:07:21.065>and <00:07:21.395>we <00:07:21.725>lost <00:07:22.055>control.

164
00:07:22.385 --> 00:07:24.685
<00:07:22.385>So <00:07:22.618>therefore <00:07:22.851>microservices <00:07:23.085>are <00:07:23.318>a <00:07:23.551>bad <00:07:23.784>idea.

165
00:07:26.545 --> 00:07:29.965
<00:07:26.545>Now <00:07:26.700>if <00:07:26.856>you <00:07:27.011>had <00:07:27.167>a <00:07:27.322>class <00:07:27.478>with <00:07:27.633>a <00:07:27.789>thousand <00:07:27.945>methods,

166
00:07:30.135 --> 00:07:32.525
<00:07:30.135>would <00:07:30.335>you <00:07:30.534>blame <00:07:30.735>it <00:07:30.935>on <00:07:31.135>object <00:07:31.335>oriented <00:07:31.534>programming

167
00:07:32.525 --> 00:07:33.565
<00:07:32.525>that <00:07:32.758>you're <00:07:32.993>in <00:07:33.227>this <00:07:33.461>mess?

168
00:07:35.605 --> 00:07:38.725
<00:07:35.605>I <00:07:35.745>would <00:07:35.885>argue <00:07:36.025>that <00:07:36.165>the <00:07:36.305>real <00:07:36.445>problem <00:07:36.585>that <00:07:36.725>you <00:07:36.865>have <00:07:37.005>is

169
00:07:39.035 --> 00:07:42.685
<00:07:39.034>that <00:07:39.210>you <00:07:39.385>have <00:07:39.559>too <00:07:39.734>many <00:07:39.909>modules <00:07:40.085>on <00:07:40.260>some <00:07:40.434>level.

170
00:07:43.305 --> 00:07:47.445
<00:07:43.305>So <00:07:43.445>a <00:07:43.585>class <00:07:43.725>that <00:07:43.865>has <00:07:44.005>a <00:07:44.145>thousand <00:07:44.285>methods <00:07:44.425>is <00:07:44.565>as <00:07:44.705>bad

171
00:07:47.865 --> 00:07:51.405
<00:07:47.865>as <00:07:48.040>some <00:07:48.215>system <00:07:48.390>that <00:07:48.565>consists <00:07:48.740>of <00:07:48.915>a <00:07:49.090>thousand <00:07:49.265>microservices.

172
00:07:52.105 --> 00:07:56.325
<00:07:52.105>But <00:07:52.280>that's <00:07:52.455>because <00:07:52.630>we <00:07:52.805>made <00:07:52.980>mistakes <00:07:53.155>in <00:07:53.330>the <00:07:53.505>architecture.

173
00:07:56.325 --> 00:07:58.605
<00:07:56.325>It's <00:07:56.525>not <00:07:56.724>because <00:07:56.925>we <00:07:57.125>are <00:07:57.325>using <00:07:57.525>object <00:07:57.724>oriented

174
00:07:58.605 --> 00:08:00.125
<00:07:58.605>programming <00:07:59.289>or <00:07:59.973>microservices.

175
00:08:00.985 --> 00:08:04.725
<00:08:00.985>We <00:08:01.160>failed <00:08:01.335>to <00:08:01.510>do <00:08:01.685>the <00:08:01.860>right <00:08:02.035>kind <00:08:02.210>of <00:08:02.385>modulization.

176
00:08:05.745 --> 00:08:09.685
<00:08:05.745>And <00:08:05.900>the <00:08:06.056>solution <00:08:06.211>obviously <00:08:06.367>is <00:08:06.522>to <00:08:06.678>split <00:08:06.833>the <00:08:06.989>system <00:08:07.145>apart

177
00:08:10.745 --> 00:08:12.085
<00:08:10.745>and <00:08:11.046>to <00:08:11.348>build <00:08:11.649>a <00:08:11.950>hierarchy.

178
00:08:12.425 --> 00:08:15.845
<00:08:12.425>And <00:08:12.565>this <00:08:12.705>is <00:08:12.845>what <00:08:12.985>we, <00:08:13.125>how <00:08:13.265>we <00:08:13.405>organize <00:08:13.545>large <00:08:13.685>complex <00:08:13.825>systems.

179
00:08:15.905 --> 00:08:19.645
<00:08:15.905>So <00:08:16.060>we <00:08:16.216>have <00:08:16.371>an <00:08:16.527>a <00:08:16.682>hierarchy <00:08:16.838>like <00:08:16.993>an <00:08:17.149>organization <00:08:17.304>like

180
00:08:19.645 --> 00:08:20.725
<00:08:19.645>Netflix <00:08:20.131>for <00:08:20.617>example.

181
00:08:20.995 --> 00:08:23.965
<00:08:20.995>Netflix <00:08:21.195>probably <00:08:21.395>has <00:08:21.595>several <00:08:21.795>systems, <00:08:21.995>a <00:08:22.195>system <00:08:22.395>to

182
00:08:24.835 --> 00:08:28.365
<00:08:24.835>show <00:08:25.010>movies, <00:08:25.185>another <00:08:25.359>system <00:08:25.534>to <00:08:25.710>pay <00:08:25.885>their <00:08:26.060>employees <00:08:26.234>whatever.

183
00:08:29.025 --> 00:08:31.845
<00:08:29.025>And <00:08:29.180>they <00:08:29.336>have <00:08:29.491>probably <00:08:29.647>teams <00:08:29.802>to <00:08:29.958>work <00:08:30.113>on <00:08:30.269>these <00:08:30.424>systems,

184
00:08:32.605 --> 00:08:33.645
<00:08:32.605>probably <00:08:33.073>multiple <00:08:33.540>teams.

185
00:08:34.395 --> 00:08:36.005
<00:08:34.395>They <00:08:34.745>probably <00:08:35.095>work <00:08:35.444>on <00:08:35.794>one

186
00:08:36.105 --> 00:08:40.325
<00:08:36.105>or <00:08:36.305>multiple <00:08:36.505>bound <00:08:36.705>contact, <00:08:36.905>some <00:08:37.105>kind, <00:08:37.305>some <00:08:37.505>unit

187
00:08:40.425 --> 00:08:44.165
<00:08:40.424>or <00:08:40.625>functionality <00:08:40.824>that <00:08:41.025>might <00:08:41.224>be <00:08:41.424>split <00:08:41.625>into <00:08:41.824>microservices

188
00:08:44.505 --> 00:08:47.885
<00:08:44.505>or <00:08:44.705>something <00:08:44.905>different <00:08:45.105>like <00:08:45.305>for <00:08:45.505>example <00:08:45.705>Java <00:08:45.905>jars.

189
00:08:48.195 --> 00:08:50.565
<00:08:48.195>Jars <00:08:48.475>are <00:08:48.755>a <00:08:49.035>collection <00:08:49.315>of <00:08:49.595>classes.

190
00:08:51.195 --> 00:08:53.365
<00:08:51.195>Microservices <00:08:51.428>are <00:08:51.661>also <00:08:51.895>a <00:08:52.128>collection <00:08:52.361>of <00:08:52.595>classes.

191
00:08:53.905 --> 00:08:56.485
<00:08:53.905>So <00:08:54.105>you <00:08:54.305>can <00:08:54.505>have <00:08:54.704>different <00:08:54.905>types <00:08:55.105>of <00:08:55.305>collections

192
00:08:56.485 --> 00:08:59.685
<00:08:56.485>of <00:08:56.718>classes <00:08:56.951>like <00:08:57.185>microservices <00:08:57.418>or <00:08:57.651>Java <00:08:57.885>jars.

193
00:09:00.265 --> 00:09:03.285
<00:09:00.265>And <00:09:00.405>then <00:09:00.545>you <00:09:00.685>have <00:09:00.824>more <00:09:00.965>fine <00:09:01.105>grain <00:09:01.245>things <00:09:01.385>like <00:09:01.525>Java <00:09:01.665>packages

194
00:09:03.285 --> 00:09:05.765
<00:09:03.285>for <00:09:03.459>example, <00:09:03.635>which <00:09:03.810>again <00:09:03.985>are <00:09:04.160>a <00:09:04.334>collection <00:09:04.510>of <00:09:04.685>classes.

195
00:09:06.395 --> 00:09:08.485
<00:09:06.395>Then <00:09:06.569>you <00:09:06.745>have <00:09:06.920>classes <00:09:07.095>and <00:09:07.270>then <00:09:07.444>you <00:09:07.620>have <00:09:07.795>methods.

196
00:09:09.345 --> 00:09:12.045
<00:09:09.345>And <00:09:09.485>if <00:09:09.625>you <00:09:09.765>have <00:09:09.905>a <00:09:10.045>class <00:09:10.185>with <00:09:10.325>a <00:09:10.465>thou <00:09:10.605>thousand <00:09:10.745>methods,

197
00:09:12.635 --> 00:09:15.965
<00:09:12.635>well <00:09:12.790>you <00:09:12.946>built <00:09:13.101>another <00:09:13.257>class, <00:09:13.412>that's <00:09:13.568>what <00:09:13.723>you <00:09:13.879>eventually <00:09:14.035>do.

198
00:09:15.985 --> 00:09:17.525
<00:09:15.985>You <00:09:16.216>will <00:09:16.447>do <00:09:16.678>some <00:09:16.909>kind <00:09:17.140>of <00:09:17.371>refactoring

199
00:09:17.705 --> 00:09:19.845
<00:09:17.705>and <00:09:17.880>then <00:09:18.055>you <00:09:18.230>will <00:09:18.405>end <00:09:18.580>up <00:09:18.755>with <00:09:18.930>more <00:09:19.105>classes.

200
00:09:21.275 --> 00:09:23.055
<00:09:21.275>So <00:09:21.508>if <00:09:21.741>you <00:09:21.975>have <00:09:22.208>a <00:09:22.441>thousand <00:09:22.675>microservices,

201
00:09:23.195 --> 00:09:25.455
<00:09:23.195>you <00:09:23.475>will <00:09:23.755>probably <00:09:24.035>introduce <00:09:24.315>multiple <00:09:24.595>boundary

202
00:09:25.455 --> 00:09:26.575
<00:09:25.455>context <00:09:25.791>or <00:09:26.127>multiple <00:09:26.463>teams.

203
00:09:27.755 --> 00:09:29.895
<00:09:27.755>And <00:09:27.930>this <00:09:28.105>is <00:09:28.280>probably <00:09:28.455>also <00:09:28.630>one <00:09:28.805>of <00:09:28.980>the <00:09:29.155>explanations

204
00:09:30.315 --> 00:09:33.175
<00:09:30.315>of <00:09:30.781>the <00:09:31.248>Netflix <00:09:31.715>architecture.

205
00:09:33.605 --> 00:09:35.295
<00:09:33.605>They <00:09:33.955>probably <00:09:34.305>don't <00:09:34.655>reason <00:09:35.005>about

206
00:09:35.295 --> 00:09:37.895
<00:09:35.295>that <00:09:35.495>architecture <00:09:35.694>on <00:09:35.895>the <00:09:36.094>level <00:09:36.295>of <00:09:36.495>individual <00:09:36.694>microservices

207
00:09:38.475 --> 00:09:41.895
<00:09:38.475>but <00:09:38.615>rather <00:09:38.755>on <00:09:38.895>the <00:09:39.035>level <00:09:39.175>of <00:09:39.315>teams <00:09:39.455>spinal <00:09:39.595>context <00:09:39.735>is <00:09:39.875>whatever.

208
00:09:43.195 --> 00:09:46.495
<00:09:43.195>So <00:09:43.395>the <00:09:43.595>key <00:09:43.795>point <00:09:43.995>here <00:09:44.195>is <00:09:44.395>microservices <00:09:44.595>won't

209
00:09:46.495 --> 00:09:47.575
<00:09:46.495>fix <00:09:46.981>your <00:09:47.467>modelization.

210
00:09:47.955 --> 00:09:49.055
<00:09:47.955>You <00:09:48.202>have <00:09:48.450>to <00:09:48.697>think <00:09:48.944>about

211
00:09:49.195 --> 00:09:51.495
<00:09:49.195>how <00:09:49.428>you <00:09:49.661>split <00:09:49.895>your <00:09:50.128>systems <00:09:50.361>into <00:09:50.595>parts.

212
00:09:51.835 --> 00:09:55.455
<00:09:51.835>And <00:09:51.942>if <00:09:52.050>you <00:09:52.158>fail <00:09:52.265>to <00:09:52.373>do <00:09:52.481>so, <00:09:52.588>then <00:09:52.696>you <00:09:52.804>have <00:09:52.911>a <00:09:53.019>problem <00:09:53.127>no <00:09:53.235>matter

213
00:09:55.455 --> 00:09:57.735
<00:09:55.455>what, <00:09:55.688>whether <00:09:55.921>you're <00:09:56.155>micro, <00:09:56.388>you're <00:09:56.621>using <00:09:56.855>microservices,

214
00:09:57.895 --> 00:09:59.815
<00:09:57.895>a <00:09:58.175>monolith <00:09:58.454>or <00:09:58.735>something <00:09:59.015>completely <00:09:59.295>different.

215
00:10:00.515 --> 00:10:04.695
<00:10:00.515>And <00:10:00.689>the <00:10:00.865>key <00:10:01.040>is <00:10:01.215>to <00:10:01.390>have <00:10:01.564>loosely <00:10:01.740>coupled <00:10:01.915>modules.

216
00:10:04.875 --> 00:10:07.495
<00:10:04.875>So <00:10:05.030>the <00:10:05.186>idea <00:10:05.341>is <00:10:05.497>if <00:10:05.652>you <00:10:05.808>have <00:10:05.963>loosely <00:10:06.119>couple <00:10:06.275>modules,

217
00:10:07.515 --> 00:10:09.895
<00:10:07.515>you <00:10:07.795>will <00:10:08.074>understand <00:10:08.355>one <00:10:08.635>single <00:10:08.915>modules

218
00:10:10.435 --> 00:10:12.575
<00:10:10.435>and <00:10:10.609>you <00:10:10.785>will <00:10:10.959>have <00:10:11.135>a <00:10:11.310>change <00:10:11.484>to <00:10:11.660>the <00:10:11.834>module

219
00:10:12.915 --> 00:10:15.255
<00:10:12.915>and <00:10:13.089>you <00:10:13.265>only <00:10:13.439>need <00:10:13.615>to <00:10:13.790>understand <00:10:13.964>that <00:10:14.140>one <00:10:14.314>module.

220
00:10:17.155 --> 00:10:22.015
<00:10:17.155>If <00:10:17.295>you <00:10:17.435>have <00:10:17.574>badly <00:10:17.714>designed <00:10:17.855>uh, <00:10:17.995>modules, <00:10:18.135>then <00:10:18.275>you <00:10:18.415>will <00:10:18.555>have

221
00:10:22.115 --> 00:10:24.735
<00:10:22.115>to <00:10:22.315>change <00:10:22.515>and <00:10:22.715>understand <00:10:22.915>quite <00:10:23.115>a <00:10:23.315>few <00:10:23.515>modules

222
00:10:25.915 --> 00:10:30.015
<00:10:25.915>and <00:10:26.194>if <00:10:26.474>you, <00:10:26.755>this <00:10:27.035>is <00:10:27.314>independent

223
00:10:30.035 --> 00:10:32.175
<00:10:30.035>of <00:10:30.314>whether <00:10:30.594>using <00:10:30.875>microservices <00:10:31.155>or <00:10:31.435>not.

224
00:10:32.595 --> 00:10:34.975
<00:10:32.595>But <00:10:32.828>if <00:10:33.061>you're <00:10:33.295>using <00:10:33.528>microservices, <00:10:33.761>you <00:10:33.995>just,

225
00:10:35.235 --> 00:10:37.175
<00:10:35.235>you <00:10:35.515>don't <00:10:35.795>just <00:10:36.075>need <00:10:36.355>to <00:10:36.635>understand

226
00:10:37.275 --> 00:10:39.135
<00:10:37.275>and <00:10:37.555>change <00:10:37.834>all <00:10:38.115>of <00:10:38.395>these <00:10:38.675>modules,

227
00:10:39.475 --> 00:10:41.495
<00:10:39.475>but <00:10:39.650>you <00:10:39.825>will <00:10:40.000>also <00:10:40.175>need <00:10:40.350>to <00:10:40.525>deploy <00:10:40.700>them <00:10:40.875>together.

228
00:10:42.075 --> 00:10:43.295
<00:10:42.075>And <00:10:42.294>if <00:10:42.514>you <00:10:42.733>have <00:10:42.953>a <00:10:43.173>crash,

229
00:10:43.635 --> 00:10:47.015
<00:10:43.635>it <00:10:43.868>might <00:10:44.101>make <00:10:44.335>also <00:10:44.568>other <00:10:44.801>microservices <00:10:45.035>unavailable.

230
00:10:47.715 --> 00:10:49.175
<00:10:47.715>And <00:10:48.043>performance <00:10:48.372>is <00:10:48.700>also <00:10:49.029>bad

231
00:10:49.175 --> 00:10:51.455
<00:10:49.175>because <00:10:49.408>the <00:10:49.641>network <00:10:49.875>communication <00:10:50.108>is <00:10:50.341>so <00:10:50.574>much.

232
00:10:51.955 --> 00:10:53.455
<00:10:51.955>So <00:10:52.180>the <00:10:52.405>problem <00:10:52.630>is <00:10:52.855>if <00:10:53.080>you <00:10:53.305>have

233
00:10:54.215 --> 00:10:57.975
<00:10:54.215>strongly <00:10:54.495>dependent <00:10:54.775>microservices, <00:10:55.055>it's <00:10:55.335>worth <00:10:55.615>than

234
00:10:58.205 --> 00:11:00.215
<00:10:58.205>with <00:10:58.555>other <00:10:58.905>types <00:10:59.255>of <00:10:59.605>modules.

235
00:11:00.765 --> 00:11:03.695
<00:11:00.765>Well <00:11:00.998>if <00:11:01.231>you <00:11:01.465>have <00:11:01.698>loosely <00:11:01.931>coupled <00:11:02.165>modules,

236
00:11:05.125 --> 00:11:07.375
<00:11:05.125>then <00:11:05.405>you <00:11:05.685>can <00:11:05.965>change <00:11:06.245>them <00:11:06.525>independently.

237
00:11:07.435 --> 00:11:09.175
<00:11:07.435>And <00:11:07.714>in <00:11:07.994>the <00:11:08.275>case <00:11:08.555>of <00:11:08.834>microservices,

238
00:11:10.355 --> 00:11:12.295
<00:11:10.355>you <00:11:10.635>can <00:11:10.915>also <00:11:11.195>deploy <00:11:11.475>them <00:11:11.755>independently.

239
00:11:12.655 --> 00:11:14.855
<00:11:12.655>A <00:11:12.888>crash <00:11:13.121>is <00:11:13.355>limited <00:11:13.588>to <00:11:13.821>one <00:11:14.055>microservice

240
00:11:15.195 --> 00:11:16.655
<00:11:15.195>and <00:11:15.523>performance <00:11:15.852>is <00:11:16.180>also <00:11:16.509>fine.

241
00:11:17.275 --> 00:11:20.615
<00:11:17.275>So <00:11:17.449>the <00:11:17.625>key <00:11:17.800>to <00:11:17.975>be <00:11:18.150>successful <00:11:18.324>with <00:11:18.500>microservices <00:11:18.675>is

242
00:11:20.915 --> 00:11:22.815
<00:11:20.915>to <00:11:21.381>fix <00:11:21.848>your <00:11:22.314>modularization.

243
00:11:24.505 --> 00:11:26.655
<00:11:24.505>Which <00:11:24.645>leads <00:11:24.785>to <00:11:24.925>the <00:11:25.064>question. <00:11:25.205>So <00:11:25.345>how <00:11:25.485>do <00:11:25.625>we <00:11:25.765>do <00:11:25.905>that?

244
00:11:27.995 --> 00:11:32.975
<00:11:27.995>And <00:11:28.135>I <00:11:28.275>tend <00:11:28.415>to <00:11:28.555>go <00:11:28.695>back <00:11:28.835>to <00:11:28.975>the <00:11:29.115>original, <00:11:29.255>uh, <00:11:29.395>authors

245
00:11:33.075 --> 00:11:35.015
<00:11:33.075>of <00:11:33.541>ideas <00:11:34.008>about <00:11:34.475>modularization.

246
00:11:35.155 --> 00:11:38.495
<00:11:35.155>So <00:11:35.355>there <00:11:35.555>is <00:11:35.755>this <00:11:35.954>person <00:11:36.155>called <00:11:36.355>UM, <00:11:36.555>partners

247
00:11:39.075 --> 00:11:42.215
<00:11:39.075>and <00:11:39.191>this <00:11:39.308>paper <00:11:39.425>is <00:11:39.541>from, <00:11:39.658>it's <00:11:39.775>a <00:11:39.891>little <00:11:40.008>bit <00:11:40.125>older <00:11:40.241>than <00:11:40.358>I <00:11:40.475>am.

248
00:11:43.195 --> 00:11:46.975
<00:11:43.195>Um, <00:11:43.395>and <00:11:43.595>it <00:11:43.795>talks <00:11:43.995>about <00:11:44.195>information <00:11:44.395>distribution <00:11:44.595>aspects.

249
00:11:47.715 --> 00:11:51.895
<00:11:47.715>The <00:11:47.831>idea <00:11:47.948>is <00:11:48.065>if <00:11:48.181>you <00:11:48.298>have <00:11:48.415>a <00:11:48.531>module <00:11:48.648>that <00:11:48.765>can <00:11:48.881>be <00:11:48.998>changed <00:11:49.115>freely

250
00:11:52.755 --> 00:11:55.725
<00:11:52.755>if <00:11:52.930>it <00:11:53.105>still <00:11:53.280>meets <00:11:53.455>the <00:11:53.630>expectation <00:11:53.805>of <00:11:53.980>other <00:11:54.155>modules.

251
00:11:56.985 --> 00:11:59.325
<00:11:56.985>So <00:11:57.218>if <00:11:57.451>you <00:11:57.685>just <00:11:57.918>change <00:11:58.151>the <00:11:58.385>internals

252
00:11:59.325 --> 00:12:00.805
<00:11:59.325>and <00:11:59.658>not <00:11:59.991>the <00:12:00.324>interface, <00:12:00.656>so

253
00:12:00.805 --> 00:12:02.565
<00:12:00.805>therefore <00:12:01.505>the <00:12:02.204>um,

254
00:12:03.185 --> 00:12:05.765
<00:12:03.185>the <00:12:03.359>expectations <00:12:03.535>from <00:12:03.709>the <00:12:03.885>other <00:12:04.060>modules <00:12:04.234>are <00:12:04.410>still <00:12:04.584>met,

255
00:12:06.075 --> 00:12:07.845
<00:12:06.075>then <00:12:06.308>you're <00:12:06.541>good <00:12:06.775>to <00:12:07.008>change <00:12:07.241>the <00:12:07.475>module.

256
00:12:09.185 --> 00:12:12.865
<00:12:09.185>So <00:12:09.418>therefore <00:12:09.651>you <00:12:09.885>will <00:12:10.118>do <00:12:10.351>information <00:12:10.584>writing.

257
00:12:13.005 --> 00:12:15.625
<00:12:13.005>You <00:12:13.180>will <00:12:13.355>hide <00:12:13.530>as <00:12:13.705>much <00:12:13.880>information <00:12:14.055>as <00:12:14.230>you <00:12:14.405>can

258
00:12:16.015 --> 00:12:19.105
<00:12:16.015>because <00:12:16.215>then <00:12:16.415>less <00:12:16.615>information <00:12:16.814>leaks <00:12:17.015>to <00:12:17.215>other <00:12:17.415>modules

259
00:12:19.605 --> 00:12:22.825
<00:12:19.605>and <00:12:19.838>modules <00:12:20.071>are <00:12:20.305>easier <00:12:20.538>to <00:12:20.771>change <00:12:21.005>nowadays.

260
00:12:22.935 --> 00:12:25.265
<00:12:22.935>This <00:12:23.168>means <00:12:23.401>you <00:12:23.635>will <00:12:23.868>expose <00:12:24.101>an <00:12:24.334>interface

261
00:12:26.165 --> 00:12:29.505
<00:12:26.165>and <00:12:26.339>the <00:12:26.515>internals, <00:12:26.689>the <00:12:26.865>implementation <00:12:27.040>will <00:12:27.214>not <00:12:27.390>be <00:12:27.564>exposed

262
00:12:30.125 --> 00:12:32.665
<00:12:30.125>and <00:12:30.300>therefore <00:12:30.475>you <00:12:30.650>can <00:12:30.825>change <00:12:31.000>the <00:12:31.175>implementation <00:12:31.350>as <00:12:31.525>long

263
00:12:32.665 --> 00:12:35.305
<00:12:32.665>as <00:12:33.015>the <00:12:33.365>interface <00:12:33.714>stays <00:12:34.064>stable.

264
00:12:36.805 --> 00:12:39.145
<00:12:36.805>So <00:12:36.944>here <00:12:37.084>is <00:12:37.224>the <00:12:37.364>graph, <00:12:37.505>how <00:12:37.645>you <00:12:37.785>can <00:12:37.925>think <00:12:38.064>about <00:12:38.204>that.

265
00:12:39.145 --> 00:12:41.025
<00:12:39.145>There <00:12:39.495>are <00:12:39.845>the <00:12:40.194>changeable <00:12:40.545>internals

266
00:12:41.025 --> 00:12:42.745
<00:12:41.025>and <00:12:41.225>there <00:12:41.425>is <00:12:41.625>the <00:12:41.824>public <00:12:42.025>information <00:12:42.225>like <00:12:42.425>the

267
00:12:42.745 --> 00:12:43.785
<00:12:42.745>interface <00:12:43.057>and <00:12:43.369>so <00:12:43.680>on.

268
00:12:44.485 --> 00:12:46.745
<00:12:44.485>So <00:12:44.835>what <00:12:45.185>are <00:12:45.535>great <00:12:45.885>modules?

269
00:12:47.215 --> 00:12:49.465
<00:12:47.215>Well, <00:12:47.495>they <00:12:47.775>come <00:12:48.055>on <00:12:48.335>different <00:12:48.615>levels.

270
00:12:49.645 --> 00:12:53.065
<00:12:49.645>So <00:12:49.845>with <00:12:50.045>a <00:12:50.245>class <00:12:50.444>it's <00:12:50.645>the <00:12:50.845>instance <00:12:51.045>variables

271
00:12:53.205 --> 00:12:54.265
<00:12:53.205>and <00:12:53.523>the <00:12:53.841>public <00:12:54.159>methods.

272
00:12:55.085 --> 00:12:58.065
<00:12:55.085>So <00:12:55.260>you <00:12:55.435>can <00:12:55.610>change <00:12:55.785>the <00:12:55.960>instance <00:12:56.135>variables, <00:12:56.310>the <00:12:56.485>implementation

273
00:12:58.725 --> 00:13:00.865
<00:12:58.725>as <00:12:58.900>long <00:12:59.075>as <00:12:59.250>the <00:12:59.425>public <00:12:59.600>methods <00:12:59.775>stay <00:12:59.950>the <00:13:00.125>same.

274
00:13:01.415 --> 00:13:03.785
<00:13:01.415>This <00:13:01.589>is <00:13:01.765>the <00:13:01.939>reason <00:13:02.115>why <00:13:02.290>you <00:13:02.464>must <00:13:02.640>not <00:13:02.814>expose

275
00:13:04.305 --> 00:13:05.905
<00:13:04.305>instance <00:13:04.655>variables <00:13:05.005>to <00:13:05.354>the <00:13:05.704>outside

276
00:13:06.655 --> 00:13:09.945
<00:13:06.655>because <00:13:06.855>then <00:13:07.055>you <00:13:07.255>can't <00:13:07.454>change <00:13:07.655>the <00:13:07.855>implementation <00:13:08.055>anymore.

277
00:13:12.205 --> 00:13:15.105
<00:13:12.205>And <00:13:12.405>there <00:13:12.605>is <00:13:12.805>a <00:13:13.005>technique <00:13:13.205>called <00:13:13.405>CSC <00:13:13.605>classes

278
00:13:16.155 --> 00:13:20.745
<00:13:16.155>which <00:13:16.388>is <00:13:16.621>an <00:13:16.855>acronym <00:13:17.088>for <00:13:17.321>class <00:13:17.555>responsibility

279
00:13:20.965 --> 00:13:24.305
<00:13:20.965>and <00:13:21.140>collaboration <00:13:21.315>which <00:13:21.490>basically <00:13:21.665>says <00:13:21.840>this <00:13:22.015>is <00:13:22.190>a <00:13:22.365>class

280
00:13:24.305 --> 00:13:25.305
<00:13:24.305>that <00:13:24.755>accepts <00:13:25.204>orders

281
00:13:26.725 --> 00:13:28.785
<00:13:26.725>and <00:13:26.925>this <00:13:27.125>is, <00:13:27.325>these <00:13:27.525>are <00:13:27.725>the <00:13:27.925>other <00:13:28.125>classes

282
00:13:28.895 --> 00:13:30.665
<00:13:28.895>that <00:13:29.245>this <00:13:29.595>class <00:13:29.944>interacts <00:13:30.295>with.

283
00:13:31.485 --> 00:13:34.425
<00:13:31.485>And <00:13:31.601>this <00:13:31.718>is <00:13:31.835>a <00:13:31.951>way <00:13:32.068>to <00:13:32.185>design <00:13:32.301>a <00:13:32.418>system <00:13:32.535>on <00:13:32.651>the <00:13:32.768>class <00:13:32.885>level.

284
00:13:36.245 --> 00:13:38.705
<00:13:36.245>So <00:13:36.445>you <00:13:36.645>can <00:13:36.845>go <00:13:37.045>through <00:13:37.245>some <00:13:37.445>business <00:13:37.645>case

285
00:13:39.165 --> 00:13:41.545
<00:13:39.165>and <00:13:39.365>execute <00:13:39.564>the <00:13:39.765>business <00:13:39.964>case <00:13:40.165>with <00:13:40.365>CSE <00:13:40.564>cards

286
00:13:41.545 --> 00:13:43.385
<00:13:41.545>and <00:13:41.745>see <00:13:41.944>whether <00:13:42.145>you <00:13:42.344>are <00:13:42.545>designs <00:13:42.745>actually <00:13:42.944>valid.

287
00:13:44.165 --> 00:13:47.145
<00:13:44.165>And <00:13:44.320>I <00:13:44.476>would <00:13:44.631>argue <00:13:44.787>with <00:13:44.942>more <00:13:45.098>cost <00:13:45.253>grained <00:13:45.409>entities <00:13:45.564>like

288
00:13:47.425 --> 00:13:49.905
<00:13:47.425>edcon, <00:13:47.891>it's <00:13:48.358>quite <00:13:48.824>similar.

289
00:13:50.245 --> 00:13:53.625
<00:13:50.245>So <00:13:50.400>you <00:13:50.556>have <00:13:50.711>the <00:13:50.867>code <00:13:51.022>inside, <00:13:51.178>you <00:13:51.333>have <00:13:51.489>some <00:13:51.645>interface

290
00:13:54.805 --> 00:13:56.865
<00:13:54.805>and <00:13:55.005>it <00:13:55.204>turns <00:13:55.405>out <00:13:55.604>that <00:13:55.805>you <00:13:56.005>can <00:13:56.204>describe

291
00:13:57.705 --> 00:13:59.145
<00:13:57.705>Edcon <00:13:58.029>in <00:13:58.353>a <00:13:58.677>similar <00:13:59.001>way.

292
00:13:59.165 --> 00:14:03.505
<00:13:59.165>So <00:13:59.305>there <00:13:59.444>is <00:13:59.584>a <00:13:59.724>bounded <00:13:59.865>context <00:14:00.005>canvas <00:14:00.145>that <00:14:00.285>again <00:14:00.425>talks <00:14:00.564>about

293
00:14:04.565 --> 00:14:08.345
<00:14:04.565>the <00:14:04.720>name, <00:14:04.876>it <00:14:05.031>gives <00:14:05.187>some <00:14:05.342>categorization <00:14:05.498>how <00:14:05.653>important <00:14:05.809>it <00:14:05.965>is.

294
00:14:08.345 --> 00:14:10.465
<00:14:08.345>This <00:14:08.545>one <00:14:08.745>is <00:14:08.945>core, <00:14:09.145>so <00:14:09.345>it's <00:14:09.545>very <00:14:09.745>important.

295
00:14:10.845 --> 00:14:14.465
<00:14:10.845>It <00:14:11.045>gives <00:14:11.245>a <00:14:11.445>description, <00:14:11.645>inbound <00:14:11.845>and <00:14:12.045>outbound <00:14:12.245>communication

296
00:14:15.205 --> 00:14:16.705
<00:14:15.205>and <00:14:15.880>ubiquitous <00:14:16.555>language.

297
00:14:16.725 --> 00:14:20.385
<00:14:16.725>So <00:14:16.852>terms <00:14:16.979>that <00:14:17.106>are <00:14:17.234>used <00:14:17.361>in <00:14:17.488>this <00:14:17.615>modern <00:14:17.743>context, <00:14:17.870>I <00:14:17.997>would <00:14:18.125>argue

298
00:14:20.385 --> 00:14:23.185
<00:14:20.385>that <00:14:20.525>this <00:14:20.665>is <00:14:20.805>basically <00:14:20.944>the <00:14:21.085>same <00:14:21.225>thing <00:14:21.365>as <00:14:21.505>the <00:14:21.645>CSE <00:14:21.785>card.

299
00:14:23.285 --> 00:14:24.905
<00:14:23.285>So <00:14:23.751>this <00:14:24.218>is <00:14:24.685>collaboration.

300
00:14:25.005 --> 00:14:27.585
<00:14:25.005>The <00:14:25.160>other <00:14:25.316>things <00:14:25.471>that <00:14:25.627>this <00:14:25.782>bon <00:14:25.938>of <00:14:26.093>context <00:14:26.249>interacts <00:14:26.405>with

301
00:14:28.455 --> 00:14:32.345
<00:14:28.455>this <00:14:28.610>is <00:14:28.766>the <00:14:28.921>responsibility, <00:14:29.077>what <00:14:29.232>this <00:14:29.388>bon <00:14:29.543>of <00:14:29.699>context <00:14:29.855>does.

302
00:14:32.965 --> 00:14:34.865
<00:14:32.965>So <00:14:33.245>it's <00:14:33.525>basically <00:14:33.805>the <00:14:34.085>same <00:14:34.365>thing.

303
00:14:35.095 --> 00:14:36.825
<00:14:35.095>It's <00:14:35.561>just <00:14:36.028>spelled <00:14:36.495>differently

304
00:14:36.925 --> 00:14:39.025
<00:14:36.925>or <00:14:37.204>put <00:14:37.484>differently <00:14:37.765>into <00:14:38.045>a <00:14:38.324>graph.

305
00:14:40.125 --> 00:14:42.305
<00:14:40.125>And <00:14:40.300>this <00:14:40.475>also <00:14:40.650>works <00:14:40.825>if <00:14:41.000>you <00:14:41.175>have <00:14:41.350>a <00:14:41.525>team.

306
00:14:42.605 --> 00:14:44.945
<00:14:42.605>So <00:14:42.805>a <00:14:43.005>team <00:14:43.205>is <00:14:43.405>responsible <00:14:43.605>for <00:14:43.805>some <00:14:44.005>code

307
00:14:45.685 --> 00:14:48.545
<00:14:45.685>and <00:14:45.885>it <00:14:46.084>would <00:14:46.285>negotiate <00:14:46.484>interfaces <00:14:46.685>with <00:14:46.885>other <00:14:47.084>teams.

308
00:14:49.005 --> 00:14:50.425
<00:14:49.005>So <00:14:49.218>in <00:14:49.431>a <00:14:49.644>way <00:14:49.857>it's <00:14:50.069>also <00:14:50.282>module.

309
00:14:53.945 --> 00:14:56.125
<00:14:53.945>Now, <00:14:54.145>I'm <00:14:54.345>not <00:14:54.545>sure <00:14:54.745>whether <00:14:54.945>you <00:14:55.145>realize <00:14:55.345>that,

310
00:14:56.945 --> 00:14:58.245
<00:14:56.945>but <00:14:57.179>there <00:14:57.413>is <00:14:57.647>one <00:14:57.881>thing <00:14:58.115>missing

311
00:14:58.905 --> 00:15:02.675
<00:14:58.905>and <00:14:59.185>that's <00:14:59.464>data <00:14:59.745>that's <00:15:00.025>by <00:15:00.305>design

312
00:15:02.675 --> 00:15:05.195
<00:15:02.675>because <00:15:02.875>what <00:15:03.074>we <00:15:03.275>are <00:15:03.474>interested <00:15:03.675>in <00:15:03.875>is <00:15:04.074>functionality.

313
00:15:05.775 --> 00:15:08.235
<00:15:05.775>We <00:15:05.975>are <00:15:06.175>interested <00:15:06.375>in <00:15:06.574>the <00:15:06.775>functionality <00:15:06.975>of <00:15:07.175>amount

314
00:15:08.235 --> 00:15:11.395
<00:15:08.235>of <00:15:08.390>contact <00:15:08.546>such <00:15:08.701>as <00:15:08.857>this <00:15:09.012>one <00:15:09.168>is <00:15:09.323>responsible <00:15:09.479>for <00:15:09.635>payment,

315
00:15:11.825 --> 00:15:14.115
<00:15:11.825>this <00:15:12.025>one <00:15:12.225>is <00:15:12.425>responsible <00:15:12.625>for <00:15:12.825>processing <00:15:13.025>an <00:15:13.225>order,

316
00:15:14.515 --> 00:15:16.515
<00:15:14.515>whatever <00:15:14.670>it <00:15:14.826>is, <00:15:14.981>this <00:15:15.137>is <00:15:15.292>what <00:15:15.448>we <00:15:15.603>are <00:15:15.759>paid <00:15:15.915>for,

317
00:15:16.515 --> 00:15:18.835
<00:15:16.515>for <00:15:16.748>the <00:15:16.981>functionality, <00:15:17.215>not <00:15:17.448>for <00:15:17.681>the <00:15:17.915>data.

318
00:15:18.975 --> 00:15:23.475
<00:15:18.975>So <00:15:19.150>seriously <00:15:19.325>built <00:15:19.500>modules <00:15:19.675>by <00:15:19.850>functionality, <00:15:20.025>not <00:15:20.200>by <00:15:20.375>data.

319
00:15:24.095 --> 00:15:27.995
<00:15:24.095>And <00:15:24.222>we <00:15:24.349>have <00:15:24.476>seen <00:15:24.604>that <00:15:24.731>because <00:15:24.858>the <00:15:24.985>CSC <00:15:25.113>card <00:15:25.240>doesn't <00:15:25.367>give <00:15:25.495>any

320
00:15:27.995 --> 00:15:29.995
<00:15:27.995>data, <00:15:28.275>it <00:15:28.555>doesn't <00:15:28.835>talk <00:15:29.115>about <00:15:29.395>data,

321
00:15:30.505 --> 00:15:32.795
<00:15:30.505>neither <00:15:30.785>does <00:15:31.064>the <00:15:31.345>boundary <00:15:31.625>context <00:15:31.905>cameras.

322
00:15:33.215 --> 00:15:35.155
<00:15:33.215>It <00:15:33.495>also <00:15:33.775>doesn't <00:15:34.055>talk <00:15:34.335>about <00:15:34.615>data.

323
00:15:36.615 --> 00:15:39.875
<00:15:36.615>And <00:15:36.755>for <00:15:36.895>that <00:15:37.035>reason, <00:15:37.175>what <00:15:37.315>you <00:15:37.455>should <00:15:37.595>not <00:15:37.735>be <00:15:37.875>doing <00:15:38.015>is

324
00:15:40.615 --> 00:15:43.835
<00:15:40.615>you <00:15:40.815>shouldn't <00:15:41.015>build <00:15:41.215>a <00:15:41.415>database <00:15:41.615>and <00:15:41.815>have <00:15:42.015>lots

325
00:15:43.835 --> 00:15:46.195
<00:15:43.835>and <00:15:44.035>lots <00:15:44.235>of <00:15:44.435>systems <00:15:44.635>depend <00:15:44.835>on <00:15:45.035>the <00:15:45.235>database

326
00:15:46.195 --> 00:15:50.475
<00:15:46.195>because <00:15:46.428>then <00:15:46.661>the <00:15:46.895>database <00:15:47.128>is <00:15:47.361>essentially <00:15:47.595>unchangeable.

327
00:15:50.775 --> 00:15:52.155
<00:15:50.775>And <00:15:51.023>that's <00:15:51.271>not <00:15:51.520>a <00:15:51.768>good <00:15:52.016>thing

328
00:15:52.385 --> 00:15:54.715
<00:15:52.385>because <00:15:52.618>you <00:15:52.851>depend <00:15:53.085>on <00:15:53.318>the <00:15:53.551>database <00:15:53.785>schema.

329
00:15:55.255 --> 00:16:00.155
<00:15:55.255>And <00:15:55.395>that's <00:15:55.535>also <00:15:55.675>true <00:15:55.814>for <00:15:55.955>events <00:15:56.095>that <00:15:56.235>contain <00:15:56.375>lots <00:15:56.515>of <00:15:56.655>data

330
00:16:00.535 --> 00:16:04.995
<00:16:00.535>and <00:16:00.735>also <00:16:00.935>a <00:16:01.135>dependency, <00:16:01.334>uh, <00:16:01.535>are <00:16:01.735>also <00:16:01.935>depend.

331
00:16:05.425 --> 00:16:07.355
<00:16:05.425>Lots <00:16:05.658>of <00:16:05.891>other <00:16:06.125>systems <00:16:06.358>depend <00:16:06.591>on <00:16:06.824>that.

332
00:16:07.615 --> 00:16:08.675
<00:16:07.615>That's <00:16:07.853>also <00:16:08.092>a <00:16:08.330>bad <00:16:08.569>idea

333
00:16:08.675 --> 00:16:13.315
<00:16:08.675>because <00:16:08.830>again, <00:16:08.986>you <00:16:09.141>can't <00:16:09.297>change <00:16:09.452>that <00:16:09.608>structure <00:16:09.763>in <00:16:09.919>the <00:16:10.074>center

334
00:16:13.815 --> 00:16:16.635
<00:16:13.815>and <00:16:13.970>therefore <00:16:14.126>you're <00:16:14.281>limited <00:16:14.437>to <00:16:14.592>about <00:16:14.748>what <00:16:14.903>you <00:16:15.059>can <00:16:15.215>do

335
00:16:16.665 --> 00:16:17.795
<00:16:16.665>with <00:16:17.173>the <00:16:17.682>system.

336
00:16:18.915 --> 00:16:22.875
<00:16:18.915>I <00:16:19.042>did <00:16:19.169>a <00:16:19.296>video <00:16:19.424>about <00:16:19.551>how <00:16:19.678>Kafka <00:16:19.805>leads <00:16:19.933>you <00:16:20.060>to <00:16:20.187>this <00:16:20.314>kind

337
00:16:22.975 --> 00:16:26.435
<00:16:22.975>of <00:16:23.150>architecture <00:16:23.325>where <00:16:23.500>you <00:16:23.675>have <00:16:23.850>data <00:16:24.025>at <00:16:24.200>the <00:16:24.375>center

338
00:16:26.855 --> 00:16:27.915
<00:16:26.855>and <00:16:27.045>you <00:16:27.236>have <00:16:27.427>to <00:16:27.618>be <00:16:27.809>careful.

339
00:16:28.655 --> 00:16:30.715
<00:16:28.655>Uh, <00:16:28.935>how <00:16:29.214>do <00:16:29.495>you <00:16:29.775>use <00:16:30.055>Kafka?

340
00:16:30.995 --> 00:16:35.875
<00:16:30.995>Actually <00:16:31.170>the <00:16:31.345>way <00:16:31.520>to <00:16:31.695>get <00:16:31.870>around <00:16:32.045>with <00:16:32.220>this <00:16:32.395>is

341
00:16:36.505 --> 00:16:38.435
<00:16:36.505>sort <00:16:36.680>of <00:16:36.855>is <00:16:37.030>the <00:16:37.205>idea <00:16:37.380>of <00:16:37.555>bound <00:16:37.730>of <00:16:37.905>context.

342
00:16:38.535 --> 00:16:42.395
<00:16:38.535>So <00:16:38.675>bound <00:16:38.814>of <00:16:38.954>context <00:16:39.094>are <00:16:39.235>has <00:16:39.375>one <00:16:39.515>of <00:16:39.655>context <00:16:39.795>has <00:16:39.935>bounds,

343
00:16:42.395 --> 00:16:44.035
<00:16:42.395>that's <00:16:42.569>why <00:16:42.745>it's <00:16:42.920>called <00:16:43.095>a <00:16:43.270>bound <00:16:43.444>of <00:16:43.620>context, <00:16:43.795>right?

344
00:16:44.775 --> 00:16:47.795
<00:16:44.775>And <00:16:44.975>inside <00:16:45.175>those <00:16:45.375>bounds <00:16:45.574>there <00:16:45.775>is <00:16:45.975>a <00:16:46.175>model

345
00:16:48.575 --> 00:16:49.845
<00:16:48.575>which <00:16:48.956>is <00:16:49.337>basically <00:16:49.718>code

346
00:16:50.265 --> 00:16:53.925
<00:16:50.265>and <00:16:50.420>there <00:16:50.576>is <00:16:50.731>a <00:16:50.887>ubiquitous <00:16:51.042>language, <00:16:51.198>a <00:16:51.353>set <00:16:51.509>of <00:16:51.665>expressions

347
00:16:55.785 --> 00:16:59.685
<00:16:55.785>and <00:16:55.940>examples <00:16:56.096>for <00:16:56.251>such <00:16:56.407>one <00:16:56.562>context, <00:16:56.718>this <00:16:56.873>might <00:16:57.029>be <00:16:57.185>something

348
00:16:59.685 --> 00:17:01.045
<00:16:59.685>that <00:17:00.296>does <00:17:00.909>invoicing.

349
00:17:01.465 --> 00:17:02.725
<00:17:01.465>So <00:17:01.843>that's <00:17:02.221>a <00:17:02.599>functionality.

350
00:17:02.985 --> 00:17:06.205
<00:17:02.985>So <00:17:03.160>it's <00:17:03.335>some <00:17:03.510>code <00:17:03.685>that <00:17:03.860>prints <00:17:04.035>out <00:17:04.210>an <00:17:04.385>invoice.

351
00:17:06.825 --> 00:17:10.245
<00:17:06.825>And <00:17:07.025>this <00:17:07.225>might <00:17:07.425>also <00:17:07.625>do <00:17:07.825>the <00:17:08.025>VAT <00:17:08.225>calculation.

352
00:17:10.245 --> 00:17:13.165
<00:17:10.244>Well <00:17:10.444>you <00:17:10.645>add <00:17:10.844>a <00:17:11.044>text <00:17:11.244>because <00:17:11.444>that <00:17:11.645>needs

353
00:17:13.165 --> 00:17:15.685
<00:17:13.165>to <00:17:13.320>be <00:17:13.476>spelled <00:17:13.631>out <00:17:13.787>on <00:17:13.942>the <00:17:14.098>invoice <00:17:14.253>or <00:17:14.409>maybe <00:17:14.565>not,

354
00:17:16.345 --> 00:17:18.125
<00:17:16.345>but <00:17:16.545>that's <00:17:16.745>the <00:17:16.944>discussion <00:17:17.145>that <00:17:17.345>you <00:17:17.545>should <00:17:17.745>have.

355
00:17:18.385 --> 00:17:19.525
<00:17:18.385>You <00:17:18.590>should <00:17:18.795>have <00:17:19.000>a <00:17:19.205>discussion <00:17:19.411>about

356
00:17:19.665 --> 00:17:21.965
<00:17:19.665>how <00:17:20.014>you <00:17:20.365>structure <00:17:20.714>functionality <00:17:21.065>together.

357
00:17:22.625 --> 00:17:25.125
<00:17:22.625>And <00:17:22.905>I <00:17:23.185>decided <00:17:23.464>to <00:17:23.744>put <00:17:24.025>invoicing

358
00:17:25.125 --> 00:17:28.205
<00:17:25.125>and <00:17:25.325>VAT <00:17:25.525>together <00:17:25.724>in <00:17:25.925>something <00:17:26.125>like <00:17:26.325>invoice <00:17:26.525>processing.

359
00:17:28.795 --> 00:17:32.205
<00:17:28.795>Then <00:17:29.028>we <00:17:29.261>have <00:17:29.495>tracking, <00:17:29.728>uh, <00:17:29.961>which <00:17:30.195>is

360
00:17:32.975 --> 00:17:36.765
<00:17:32.975>again <00:17:33.324>another <00:17:33.675>bound, <00:17:34.024>another <00:17:34.375>functionality.

361
00:17:36.825 --> 00:17:38.565
<00:17:36.825>It <00:17:37.058>tells <00:17:37.291>me <00:17:37.525>where <00:17:37.758>my <00:17:37.991>delivery <00:17:38.225>is

362
00:17:39.305 --> 00:17:43.365
<00:17:39.305>and <00:17:39.432>I <00:17:39.559>also <00:17:39.686>have <00:17:39.814>delivery <00:17:39.941>in <00:17:40.068>there <00:17:40.195>and <00:17:40.323>I <00:17:40.450>call <00:17:40.577>that <00:17:40.705>shipping.

363
00:17:43.585 --> 00:17:47.365
<00:17:43.585>So <00:17:43.785>again, <00:17:43.985>I <00:17:44.185>structured <00:17:44.385>functionalities <00:17:44.585>together <00:17:44.785>and <00:17:44.985>finally

364
00:17:47.455 --> 00:17:50.805
<00:17:47.455>after <00:17:47.655>functionality, <00:17:47.855>shopping <00:17:48.054>cart, <00:17:48.254>adding <00:17:48.455>stuff <00:17:48.655>to <00:17:48.855>uh,

365
00:17:50.915 --> 00:17:53.205
<00:17:50.915>something <00:17:51.148>that <00:17:51.381>I <00:17:51.615>would <00:17:51.848>pro <00:17:52.081>possibly <00:17:52.315>order

366
00:17:53.825 --> 00:17:57.005
<00:17:53.825>and <00:17:54.025>also <00:17:54.225>executing <00:17:54.425>that <00:17:54.625>order, <00:17:54.825>accepting <00:17:55.025>that <00:17:55.225>order.

367
00:17:57.385 --> 00:17:58.845
<00:17:57.385>And <00:17:57.647>I <00:17:57.910>call <00:17:58.173>it <00:17:58.436>order <00:17:58.699>processing.

368
00:17:58.905 --> 00:18:01.325
<00:17:58.905>So <00:17:59.080>what <00:17:59.254>I've <00:17:59.430>done <00:17:59.605>is <00:17:59.780>I've <00:17:59.955>designed <00:18:00.129>my <00:18:00.305>system

369
00:18:01.385 --> 00:18:05.695
<00:18:01.385>by <00:18:01.618>functionality <00:18:01.851>and <00:18:02.085>now <00:18:02.318>I <00:18:02.551>have <00:18:02.785>data.

370
00:18:06.275 --> 00:18:09.695
<00:18:06.275>So <00:18:06.430>obviously <00:18:06.586>if <00:18:06.741>I <00:18:06.897>want <00:18:07.052>write <00:18:07.208>an <00:18:07.363>invoice, <00:18:07.519>I <00:18:07.675>need

371
00:18:09.695 --> 00:18:12.455
<00:18:09.695>to <00:18:09.895>have <00:18:10.095>a <00:18:10.294>billing <00:18:10.495>address <00:18:10.695>and <00:18:10.895>a <00:18:11.095>customer.

372
00:18:12.955 --> 00:18:14.095
<00:18:12.955>So <00:18:13.160>I <00:18:13.365>have <00:18:13.570>a <00:18:13.775>customer <00:18:13.981>here

373
00:18:14.315 --> 00:18:16.055
<00:18:14.315>and <00:18:14.548>the <00:18:14.781>billing <00:18:15.015>address <00:18:15.248>of <00:18:15.481>that <00:18:15.715>customer.

374
00:18:17.235 --> 00:18:19.095
<00:18:17.235>And <00:18:17.468>for <00:18:17.701>sh <00:18:17.935>and <00:18:18.168>I <00:18:18.401>have <00:18:18.635>products.

375
00:18:19.095 --> 00:18:21.095
<00:18:19.095>So <00:18:19.270>for <00:18:19.445>products <00:18:19.620>it's <00:18:19.795>important <00:18:19.970>to <00:18:20.145>have <00:18:20.320>the <00:18:20.495>prices.

376
00:18:21.195 --> 00:18:24.455
<00:18:21.195>You <00:18:21.370>wanna <00:18:21.544>write <00:18:21.720>an <00:18:21.895>invoice <00:18:22.070>for <00:18:22.245>shipping, <00:18:22.419>I <00:18:22.595>need

377
00:18:24.455 --> 00:18:27.615
<00:18:24.455>to <00:18:24.629>have <00:18:24.804>the <00:18:24.980>shipping <00:18:25.155>address <00:18:25.330>and <00:18:25.504>uh, <00:18:25.679>the <00:18:25.855>product.

378
00:18:27.885 --> 00:18:30.095
<00:18:27.885>Well <00:18:28.085>it's <00:18:28.285>important <00:18:28.485>how <00:18:28.685>large <00:18:28.885>they <00:18:29.085>are, <00:18:29.285>right?

379
00:18:30.115 --> 00:18:33.455
<00:18:30.115>So <00:18:30.290>I've <00:18:30.465>gotta <00:18:30.640>send <00:18:30.815>this <00:18:30.990>clicker <00:18:31.165>out <00:18:31.340>differently <00:18:31.515>from

380
00:18:33.475 --> 00:18:36.095
<00:18:33.475>how <00:18:33.649>I <00:18:33.824>will <00:18:34.000>send <00:18:34.175>out <00:18:34.350>a <00:18:34.524>dishwasher <00:18:34.699>for <00:18:34.875>example.

381
00:18:37.155 --> 00:18:39.975
<00:18:37.155>So <00:18:37.310>it's <00:18:37.466>important <00:18:37.621>to <00:18:37.777>understand <00:18:37.932>the <00:18:38.088>size, <00:18:38.243>not <00:18:38.399>the <00:18:38.555>price.

382
00:18:40.635 --> 00:18:42.135
<00:18:40.635>And <00:18:40.860>for <00:18:41.085>the <00:18:41.310>order <00:18:41.535>process, <00:18:41.760>I <00:18:41.985>need

383
00:18:42.135 --> 00:18:43.895
<00:18:42.135>to <00:18:42.485>understand <00:18:42.835>the <00:18:43.185>product <00:18:43.535>preferences

384
00:18:44.435 --> 00:18:46.135
<00:18:44.435>and <00:18:44.668>the <00:18:44.901>marketing <00:18:45.135>information <00:18:45.368>and <00:18:45.601>so <00:18:45.835>on.

385
00:18:46.675 --> 00:18:50.375
<00:18:46.675>And <00:18:46.815>I <00:18:46.955>would <00:18:47.095>even <00:18:47.235>argue <00:18:47.375>that <00:18:47.514>what <00:18:47.655>you're <00:18:47.794>actually <00:18:47.935>seeing <00:18:48.075>here

386
00:18:50.835 --> 00:18:52.855
<00:18:50.835>as <00:18:51.115>a <00:18:51.395>customer <00:18:51.675>are <00:18:51.955>different <00:18:52.235>things.

387
00:18:53.235 --> 00:18:55.335
<00:18:53.235>So <00:18:53.514>if <00:18:53.794>I <00:18:54.074>order <00:18:54.354>a <00:18:54.635>laptop

388
00:18:57.025 --> 00:19:01.805
<00:18:57.025>and <00:18:57.152>SW <00:18:57.279>lab <00:18:57.406>GMBH, <00:18:57.534>my <00:18:57.661>employer <00:18:57.788>is <00:18:57.915>supposed <00:18:58.043>to <00:18:58.170>pay <00:18:58.297>for <00:18:58.425>it,

389
00:19:02.355 --> 00:19:06.445
<00:19:02.355>well <00:19:02.530>then <00:19:02.705>the <00:19:02.880>customer <00:19:03.055>who <00:19:03.230>is <00:19:03.405>going <00:19:03.580>to <00:19:03.755>pay

390
00:19:07.025 --> 00:19:10.285
<00:19:07.025>who <00:19:07.180>the <00:19:07.336>invoice <00:19:07.491>is <00:19:07.647>sent <00:19:07.802>to <00:19:07.958>is <00:19:08.113>GBH <00:19:08.269>in <00:19:08.425>Hamburg.

391
00:19:11.185 --> 00:19:13.365
<00:19:11.185>And <00:19:11.385>the <00:19:11.585>customer <00:19:11.784>that <00:19:11.985>the <00:19:12.185>laptop <00:19:12.385>is <00:19:12.585>sent

392
00:19:13.365 --> 00:19:16.085
<00:19:13.365>to <00:19:13.715>is <00:19:14.065>myself <00:19:14.415>in <00:19:14.765>Lauan.

393
00:19:16.585 --> 00:19:20.005
<00:19:16.585>And <00:19:16.740>I <00:19:16.896>really <00:19:17.051>hope <00:19:17.207>that <00:19:17.362>we <00:19:17.518>get <00:19:17.673>that <00:19:17.829>right <00:19:17.985>because

394
00:19:20.115 --> 00:19:21.925
<00:19:20.115>otherwise <00:19:20.395>I <00:19:20.675>won't <00:19:20.955>get <00:19:21.235>my <00:19:21.515>laptop.

395
00:19:24.465 --> 00:19:27.645
<00:19:24.465>So <00:19:24.639>it's <00:19:24.814>different <00:19:24.990>customers, <00:19:25.165>it's <00:19:25.340>the <00:19:25.514>spec <00:19:25.689>of <00:19:25.865>GMBH

396
00:19:27.785 --> 00:19:29.285
<00:19:27.785>and <00:19:28.235>myself, <00:19:28.685>IAD <00:19:29.135>Wolf.

397
00:19:29.715 --> 00:19:33.245
<00:19:29.715>Whether <00:19:29.855>you <00:19:29.995>look <00:19:30.135>at <00:19:30.274>the <00:19:30.415>customer <00:19:30.554>that <00:19:30.695>stuff <00:19:30.834>is <00:19:30.975>shipped <00:19:31.115>to

398
00:19:33.265 --> 00:19:36.045
<00:19:33.265>or <00:19:33.498>the <00:19:33.731>uh, <00:19:33.965>customer <00:19:34.198>that <00:19:34.431>is <00:19:34.665>invoiced

399
00:19:36.625 --> 00:19:38.445
<00:19:36.625>and <00:19:36.825>this <00:19:37.025>is <00:19:37.225>what <00:19:37.425>we <00:19:37.625>need <00:19:37.825>for <00:19:38.025>microservices.

400
00:19:39.425 --> 00:19:41.725
<00:19:39.425>We <00:19:39.625>need <00:19:39.825>to <00:19:40.024>have <00:19:40.225>these <00:19:40.425>great <00:19:40.625>modules <00:19:40.825>because

401
00:19:41.725 --> 00:19:44.845
<00:19:41.725>otherwise <00:19:41.925>you <00:19:42.125>end <00:19:42.324>up <00:19:42.524>in <00:19:42.725>lots <00:19:42.925>of <00:19:43.125>dependencies

402
00:19:44.905 --> 00:19:46.845
<00:19:44.905>and <00:19:45.138>that's <00:19:45.371>probably <00:19:45.605>not <00:19:45.838>a <00:19:46.071>good <00:19:46.305>thing.

403
00:19:48.915 --> 00:19:50.575
<00:19:48.915>Now <00:19:49.381>I <00:19:49.848>would <00:19:50.315>argue

404
00:19:50.725 --> 00:19:53.575
<00:19:50.725>that <00:19:50.958>there <00:19:51.191>are <00:19:51.425>technical <00:19:51.658>benefits <00:19:51.891>for <00:19:52.125>microservices.

405
00:19:53.835 --> 00:19:56.655
<00:19:53.835>So <00:19:54.010>you <00:19:54.185>can <00:19:54.360>have <00:19:54.535>multiple <00:19:54.710>instances <00:19:54.885>for <00:19:55.060>each <00:19:55.235>microservice

406
00:19:58.435 --> 00:19:59.775
<00:19:58.435>if <00:19:58.676>you <00:19:58.917>have <00:19:59.158>a <00:19:59.399>memory <00:19:59.641>leak,

407
00:20:00.545 --> 00:20:02.335
<00:20:00.545>which <00:20:00.778>means <00:20:01.011>you <00:20:01.245>can <00:20:01.478>scale <00:20:01.711>them, <00:20:01.945>right?

408
00:20:02.355 --> 00:20:05.215
<00:20:02.355>So <00:20:02.495>if <00:20:02.635>there <00:20:02.775>is <00:20:02.915>one <00:20:03.055>part <00:20:03.195>of <00:20:03.335>the <00:20:03.475>system <00:20:03.615>that <00:20:03.755>needs

409
00:20:05.215 --> 00:20:08.055
<00:20:05.215>to <00:20:05.389>handle <00:20:05.564>a <00:20:05.740>larger <00:20:05.915>load, <00:20:06.090>well <00:20:06.264>you <00:20:06.439>can <00:20:06.615>scale

410
00:20:08.055 --> 00:20:09.215
<00:20:08.055>that <00:20:08.316>part <00:20:08.577>of <00:20:08.838>the <00:20:09.099>system.

411
00:20:09.955 --> 00:20:12.335
<00:20:09.955>If <00:20:10.155>you <00:20:10.355>have <00:20:10.554>a <00:20:10.754>memory <00:20:10.955>leak, <00:20:11.155>that <00:20:11.355>process,

412
00:20:12.565 --> 00:20:14.095
<00:20:12.565>that <00:20:13.024>microservice <00:20:13.483>will <00:20:13.942>die,

413
00:20:14.115 --> 00:20:16.655
<00:20:14.115>but <00:20:14.270>the <00:20:14.426>rest <00:20:14.581>of <00:20:14.737>the <00:20:14.892>system <00:20:15.048>will <00:20:15.203>still <00:20:15.359>be <00:20:15.515>available.

414
00:20:17.555 --> 00:20:19.975
<00:20:17.555>You <00:20:17.835>can <00:20:18.115>have <00:20:18.395>firewalls <00:20:18.675>between <00:20:18.955>microservices,

415
00:20:19.985 --> 00:20:22.135
<00:20:19.985>which <00:20:20.334>is <00:20:20.685>beneficial <00:20:21.034>for <00:20:21.385>security

416
00:20:23.035 --> 00:20:23.975
<00:20:23.035>and <00:20:23.246>you <00:20:23.458>can <00:20:23.669>also <00:20:23.880>run

417
00:20:24.205 --> 00:20:26.095
<00:20:24.205>microservices <00:20:24.671>in <00:20:25.138>different <00:20:25.605>environments.

418
00:20:26.235 --> 00:20:28.415
<00:20:26.235>So <00:20:26.468>stuff <00:20:26.701>that <00:20:26.935>needs <00:20:27.168>to <00:20:27.401>be <00:20:27.635>exposed

419
00:20:28.475 --> 00:20:29.935
<00:20:28.475>to <00:20:28.737>the <00:20:29.000>internet <00:20:29.263>will <00:20:29.526>be <00:20:29.789>exposed

420
00:20:29.935 --> 00:20:31.295
<00:20:29.935>to <00:20:30.179>the <00:20:30.424>internet <00:20:30.669>but <00:20:30.914>not <00:20:31.159>more.

421
00:20:31.465 --> 00:20:32.855
<00:20:31.465>Other <00:20:31.777>stuff <00:20:32.090>is <00:20:32.403>kept <00:20:32.716>internal.

422
00:20:33.995 --> 00:20:35.175
<00:20:33.995>So <00:20:34.349>I <00:20:34.703>would <00:20:35.057>argue

423
00:20:35.325 --> 00:20:39.015
<00:20:35.325>that <00:20:35.500>microservices <00:20:35.675>are <00:20:35.850>just <00:20:36.025>another <00:20:36.200>tool <00:20:36.375>to <00:20:36.550>solve <00:20:36.725>problems.

424
00:20:39.315 --> 00:20:41.655
<00:20:39.315>And <00:20:39.515>there <00:20:39.715>are <00:20:39.915>some <00:20:40.115>things <00:20:40.315>like <00:20:40.515>independent <00:20:40.715>scaling

425
00:20:42.065 --> 00:20:45.055
<00:20:42.065>where <00:20:42.220>it's <00:20:42.376>hard <00:20:42.531>to <00:20:42.687>come <00:20:42.842>up <00:20:42.998>with <00:20:43.153>any <00:20:43.309>alternative <00:20:43.465>whatsoever.

426
00:20:45.875 --> 00:20:48.685
<00:20:45.875>And <00:20:46.030>I'm <00:20:46.186>not <00:20:46.341>sure <00:20:46.497>why <00:20:46.652>you <00:20:46.808>would <00:20:46.963>fight <00:20:47.119>that <00:20:47.275>solution.

427
00:20:49.345 --> 00:20:51.885
<00:20:49.345>If <00:20:49.472>this <00:20:49.599>is <00:20:49.726>a <00:20:49.854>solution <00:20:49.981>for <00:20:50.108>your <00:20:50.235>problem, <00:20:50.363>you <00:20:50.490>should <00:20:50.617>use <00:20:50.745>it

428
00:20:51.885 --> 00:20:53.165
<00:20:51.885>because <00:20:52.269>it's <00:20:52.653>a <00:20:53.037>solution.

429
00:20:53.905 --> 00:20:56.605
<00:20:53.905>Um, <00:20:54.185>and <00:20:54.465>what <00:20:54.745>you <00:20:55.024>should <00:20:55.305>consider

430
00:20:57.225 --> 00:20:59.245
<00:20:57.225>is <00:20:57.504>you <00:20:57.784>should <00:20:58.064>consider <00:20:58.344>the <00:20:58.625>trade-offs.

431
00:20:59.245 --> 00:21:01.365
<00:20:59.245>So <00:20:59.445>obviously <00:20:59.645>there <00:20:59.844>are <00:21:00.044>not <00:21:00.245>just <00:21:00.445>benefits <00:21:00.645>there,

432
00:21:01.375 --> 00:21:02.525
<00:21:01.375>there <00:21:01.720>are <00:21:02.065>also <00:21:02.410>problems.

433
00:21:03.065 --> 00:21:05.725
<00:21:03.065>So <00:21:03.298>you <00:21:03.531>should <00:21:03.765>consider <00:21:03.998>these <00:21:04.231>trade <00:21:04.465>offs.

434
00:21:06.945 --> 00:21:10.365
<00:21:06.945>So <00:21:07.178>this <00:21:07.411>is <00:21:07.645>what <00:21:07.878>I <00:21:08.111>just <00:21:08.345>said,

435
00:21:10.675 --> 00:21:13.005
<00:21:10.675>microservices <00:21:11.141>enable <00:21:11.608>independent <00:21:12.075>deployment

436
00:21:13.005 --> 00:21:14.165
<00:21:13.005>and <00:21:13.527>technology <00:21:14.049>decisions.

437
00:21:14.585 --> 00:21:16.645
<00:21:14.585>You <00:21:14.865>can <00:21:15.145>also <00:21:15.425>have <00:21:15.705>different <00:21:15.985>languages,

438
00:21:16.645 --> 00:21:19.005
<00:21:16.645>programming <00:21:16.925>languages <00:21:17.205>in <00:21:17.485>each <00:21:17.764>microservice, <00:21:18.045>right?

439
00:21:19.225 --> 00:21:20.365
<00:21:19.225>That's <00:21:19.567>also <00:21:19.908>another <00:21:20.251>benefit.

440
00:21:20.365 --> 00:21:23.005
<00:21:20.365>Whether <00:21:20.520>you <00:21:20.676>execute <00:21:20.831>on <00:21:20.987>that <00:21:21.142>benefit <00:21:21.298>is <00:21:21.453>a <00:21:21.609>different <00:21:21.765>story,

441
00:21:23.505 --> 00:21:24.725
<00:21:23.505>but <00:21:23.779>this <00:21:24.054>is <00:21:24.328>the <00:21:24.602>benefit.

442
00:21:25.985 --> 00:21:27.485
<00:21:25.985>Now <00:21:26.322>there <00:21:26.659>is <00:21:26.997>some <00:21:27.334>person

443
00:21:27.485 --> 00:21:29.125
<00:21:27.485>who <00:21:27.764>says <00:21:28.044>we <00:21:28.324>are <00:21:28.604>doing <00:21:28.885>microservices,

444
00:21:29.985 --> 00:21:31.565
<00:21:29.985>but <00:21:30.218>we <00:21:30.451>deploy <00:21:30.685>them <00:21:30.918>all <00:21:31.151>at <00:21:31.385>once.

445
00:21:32.065 --> 00:21:34.525
<00:21:32.065>So <00:21:32.298>we <00:21:32.531>don't <00:21:32.765>use <00:21:32.998>the <00:21:33.231>independent <00:21:33.465>deployment.

446
00:21:35.065 --> 00:21:37.725
<00:21:35.065>And <00:21:35.298>also <00:21:35.531>there <00:21:35.765>is <00:21:35.998>that <00:21:36.231>one <00:21:36.465>architect

447
00:21:37.745 --> 00:21:40.205
<00:21:37.745>who <00:21:38.094>decides <00:21:38.445>about <00:21:38.794>the <00:21:39.145>technologies

448
00:21:40.205 --> 00:21:42.605
<00:21:40.205>that <00:21:40.554>each <00:21:40.905>micro <00:21:41.254>should <00:21:41.605>use.

449
00:21:43.945 --> 00:21:47.045
<00:21:43.945>So <00:21:44.120>you're <00:21:44.294>not <00:21:44.470>executing <00:21:44.645>on <00:21:44.820>those <00:21:44.995>two <00:21:45.169>benefits <00:21:45.345>obviously.

450
00:21:47.465 --> 00:21:51.365
<00:21:47.465>And <00:21:47.665>that <00:21:47.865>leads <00:21:48.064>to <00:21:48.264>the <00:21:48.465>uh, <00:21:48.665>question, <00:21:48.865>um,

451
00:21:51.945 --> 00:21:53.645
<00:21:51.945>why <00:21:52.294>are <00:21:52.645>you <00:21:52.995>doing <00:21:53.345>microservices?

452
00:21:55.695 --> 00:21:58.475
<00:21:55.695>And <00:21:55.870>the <00:21:56.044>answer <00:21:56.220>might <00:21:56.395>be <00:21:56.570>we <00:21:56.745>are <00:21:56.919>doing <00:21:57.095>that

453
00:21:58.475 --> 00:22:00.835
<00:21:58.475>because <00:21:58.708>we <00:21:58.941>are <00:21:59.175>looking <00:21:59.408>for <00:21:59.641>a <00:21:59.875>solution

454
00:22:00.835 --> 00:22:02.795
<00:22:00.835>for <00:22:01.068>independent <00:22:01.301>scaling, <00:22:01.535>which <00:22:01.768>is <00:22:02.001>perfectly <00:22:02.235>fine,

455
00:22:03.775 --> 00:22:07.275
<00:22:03.775>but <00:22:03.930>if <00:22:04.086>you're <00:22:04.241>looking <00:22:04.397>for <00:22:04.552>a <00:22:04.708>solution <00:22:04.863>for <00:22:05.019>more <00:22:05.175>productivity,

456
00:22:08.345 --> 00:22:09.435
<00:22:08.345>this <00:22:08.541>is <00:22:08.737>not <00:22:08.933>going <00:22:09.129>to <00:22:09.326>work

457
00:22:09.435 --> 00:22:13.395
<00:22:09.435>because <00:22:09.590>what <00:22:09.746>you <00:22:09.901>just <00:22:10.057>did <00:22:10.212>is <00:22:10.368>you <00:22:10.523>limited <00:22:10.679>the <00:22:10.835>autonomy

458
00:22:13.535 --> 00:22:14.915
<00:22:13.535>of <00:22:13.949>the <00:22:14.363>teams <00:22:14.777>and

459
00:22:14.915 --> 00:22:16.715
<00:22:14.915>therefore <00:22:15.148>you <00:22:15.381>won't <00:22:15.615>get <00:22:15.848>any <00:22:16.081>better <00:22:16.315>productivity.

460
00:22:17.655 --> 00:22:21.155
<00:22:17.655>In <00:22:17.888>theory, <00:22:18.121>those <00:22:18.355>teams <00:22:18.588>could <00:22:18.821>work <00:22:19.055>independently,

461
00:22:21.185 --> 00:22:22.875
<00:22:21.185>they <00:22:21.651>could <00:22:22.118>deploy <00:22:22.585>independently,

462
00:22:23.265 --> 00:22:26.355
<00:22:23.265>they <00:22:23.545>could <00:22:23.825>make <00:22:24.105>independent <00:22:24.385>technology <00:22:24.665>decisions,

463
00:22:26.655 --> 00:22:29.915
<00:22:26.655>but <00:22:26.782>you <00:22:26.909>decided <00:22:27.036>that <00:22:27.164>you <00:22:27.291>will <00:22:27.418>rather <00:22:27.545>not <00:22:27.673>have <00:22:27.800>them <00:22:27.927>do <00:22:28.055>that.

464
00:22:30.415 --> 00:22:34.675
<00:22:30.415>So <00:22:30.615>therefore <00:22:30.815>you <00:22:31.014>won't <00:22:31.215>have <00:22:31.415>any <00:22:31.615>productivity <00:22:31.815>benefit.

465
00:22:36.355 --> 00:22:38.135
<00:22:36.355>And <00:22:36.588>this <00:22:36.821>is <00:22:37.055>not <00:22:37.288>an <00:22:37.521>organizational <00:22:37.755>problem.

466
00:22:38.635 --> 00:22:42.015
<00:22:38.635>So <00:22:38.810>microservices <00:22:38.985>won't <00:22:39.160>fix <00:22:39.335>the <00:22:39.510>organization <00:22:39.685>at <00:22:39.860>the <00:22:40.035>core.

467
00:22:42.115 --> 00:22:44.295
<00:22:42.115>The <00:22:42.290>problem <00:22:42.465>that <00:22:42.640>we <00:22:42.815>are <00:22:42.990>talking <00:22:43.165>about <00:22:43.340>here <00:22:43.515>is

468
00:22:44.605 --> 00:22:46.935
<00:22:44.605>that <00:22:44.838>you <00:22:45.071>don't <00:22:45.305>trust <00:22:45.538>your <00:22:45.771>teams <00:22:46.005>enough

469
00:22:47.355 --> 00:22:49.495
<00:22:47.355>to <00:22:47.705>make <00:22:48.055>their <00:22:48.405>own <00:22:48.755>decisions,

470
00:22:50.225 --> 00:22:51.735
<00:22:50.225>which <00:22:50.496>might <00:22:50.768>be <00:22:51.040>justified <00:22:51.312>or <00:22:51.583>not.

471
00:22:51.875 --> 00:22:53.175
<00:22:51.875>I'm <00:22:52.264>not <00:22:52.655>judging <00:22:53.045>that.

472
00:22:53.515 --> 00:22:56.135
<00:22:53.515>I'm <00:22:53.690>just <00:22:53.865>saying <00:22:54.040>that <00:22:54.215>this <00:22:54.390>is <00:22:54.565>the <00:22:54.740>logical <00:22:54.915>conclusion.

473
00:22:56.315 --> 00:23:00.295
<00:22:56.315>If <00:22:56.455>you <00:22:56.595>don't <00:22:56.735>have <00:22:56.875>your <00:22:57.015>teams <00:22:57.155>make <00:22:57.295>these <00:22:57.435>decisions <00:22:57.575>while <00:22:57.715>you

474
00:23:00.295 --> 00:23:02.735
<00:23:00.295>don't <00:23:00.435>trust <00:23:00.575>them <00:23:00.715>to <00:23:00.855>do, <00:23:00.995>to <00:23:01.135>make <00:23:01.275>those <00:23:01.415>decisions, <00:23:01.555>do <00:23:01.695>you,

475
00:23:02.735 --> 00:23:04.535
<00:23:02.735>because <00:23:03.014>otherwise <00:23:03.294>you <00:23:03.574>would <00:23:03.854>let <00:23:04.135>them.

476
00:23:04.955 --> 00:23:07.175
<00:23:04.955>So <00:23:05.155>therefore <00:23:05.355>there <00:23:05.554>is <00:23:05.754>an <00:23:05.955>organization <00:23:06.155>problem <00:23:06.355>here.

477
00:23:08.865 --> 00:23:13.405
<00:23:08.865>So <00:23:09.098>in <00:23:09.331>conclusion, <00:23:09.565>well <00:23:09.798>the <00:23:10.031>conclusion <00:23:10.265>is

478
00:23:14.325 --> 00:23:16.445
<00:23:14.325>monolith <00:23:14.500>might <00:23:14.675>not <00:23:14.850>be <00:23:15.025>as <00:23:15.200>symbol <00:23:15.375>as <00:23:15.550>you <00:23:15.725>think

479
00:23:16.955 --> 00:23:18.965
<00:23:16.955>I've <00:23:17.188>been <00:23:17.421>there, <00:23:17.655>they're <00:23:17.888>big <00:23:18.121>and <00:23:18.355>ugly,

480
00:23:20.185 --> 00:23:23.365
<00:23:20.185>or <00:23:20.360>they <00:23:20.534>can <00:23:20.710>become <00:23:20.885>big <00:23:21.060>and <00:23:21.235>ugly, <00:23:21.409>but <00:23:21.585>so

481
00:23:23.365 --> 00:23:25.845
<00:23:23.365>therefore <00:23:23.520>microservices <00:23:23.676>might <00:23:23.831>not <00:23:23.987>be <00:23:24.142>as <00:23:24.298>bad <00:23:24.453>as <00:23:24.609>you <00:23:24.765>think.

482
00:23:26.745 --> 00:23:31.125
<00:23:26.745>And <00:23:26.861>if <00:23:26.978>you <00:23:27.094>look <00:23:27.211>at <00:23:27.328>what <00:23:27.445>I'm <00:23:27.561>doing <00:23:27.678>these <00:23:27.794>days, <00:23:27.911>um, <00:23:28.028>it's <00:23:28.145>back

483
00:23:31.145 --> 00:23:32.165
<00:23:31.145>to <00:23:31.604>basics, <00:23:32.062>right?

484
00:23:32.445 --> 00:23:35.645
<00:23:32.445>I <00:23:32.725>cited <00:23:33.004>that <00:23:33.284>paper <00:23:33.564>from <00:23:33.845>partners

485
00:23:35.645 --> 00:23:37.325
<00:23:35.645>that <00:23:35.845>is <00:23:36.045>a <00:23:36.245>little <00:23:36.445>bit <00:23:36.645>older <00:23:36.845>than <00:23:37.045>myself

486
00:23:37.435 --> 00:23:40.365
<00:23:37.435>because <00:23:37.635>I <00:23:37.835>find <00:23:38.034>modules <00:23:38.235>to <00:23:38.435>be <00:23:38.635>really <00:23:38.835>fundamental.

487
00:23:41.405 --> 00:23:44.165
<00:23:41.405>I <00:23:41.685>find <00:23:41.965>that <00:23:42.245>organizations <00:23:42.524>are <00:23:42.805>really

488
00:23:44.165 --> 00:23:45.765
<00:23:44.165>fundamental <00:23:44.514>how <00:23:44.865>people <00:23:45.215>work <00:23:45.565>together.

489
00:23:46.785 --> 00:23:48.045
<00:23:46.785>So <00:23:46.974>this <00:23:47.163>is <00:23:47.352>what <00:23:47.541>I <00:23:47.730>care <00:23:47.919>about.

490
00:23:48.425 --> 00:23:51.885
<00:23:48.425>Um, <00:23:48.580>I <00:23:48.736>do <00:23:48.891>a <00:23:49.047>stream <00:23:49.202>on <00:23:49.358>every <00:23:49.513>Friday, <00:23:49.669>this <00:23:49.825>Friday,

491
00:23:52.105 --> 00:23:54.645
<00:23:52.105>I'm <00:23:52.280>afraid <00:23:52.455>I'm <00:23:52.630>the, <00:23:52.805>I <00:23:52.980>don't <00:23:53.155>do <00:23:53.330>that, <00:23:53.505>uh,

492
00:23:54.745 --> 00:23:55.845
<00:23:54.745>for <00:23:55.074>obvious <00:23:55.405>reasons, <00:23:55.735>right?

493
00:23:55.845 --> 00:24:00.365
<00:23:55.845>Because <00:23:56.000>I'm <00:23:56.156>here. <00:23:56.311>Um, <00:23:56.467>so <00:23:56.622>I <00:23:56.778>have <00:23:56.933>several, <00:23:57.089>um, <00:23:57.245>several,

494
00:24:00.905 --> 00:24:04.005
<00:24:00.905>um, <00:24:01.254>several <00:24:01.605>streams <00:24:01.955>about <00:24:02.305>organization,

495
00:24:04.005 --> 00:24:05.045
<00:24:04.005>several <00:24:04.473>streams <00:24:04.941>about

496
00:24:05.045 --> 00:24:07.325
<00:24:05.045>modularization, <00:24:05.395>uh, <00:24:05.745>also <00:24:06.095>about <00:24:06.445>quality.

497
00:24:07.435 --> 00:24:08.765
<00:24:07.435>Most <00:24:07.674>of <00:24:07.913>them <00:24:08.153>are <00:24:08.392>in <00:24:08.632>German,

498
00:24:09.225 --> 00:24:10.965
<00:24:09.225>but <00:24:09.425>there <00:24:09.625>are <00:24:09.824>also <00:24:10.024>a <00:24:10.225>few <00:24:10.425>English <00:24:10.625>ones.

499
00:24:10.965 --> 00:24:12.645
<00:24:10.965>So <00:24:11.139>if <00:24:11.314>you <00:24:11.490>want <00:24:11.665>to <00:24:11.840>look <00:24:12.014>at <00:24:12.189>them, <00:24:12.365>uh,

500
00:24:12.835 --> 00:24:14.405
<00:24:12.835>your <00:24:13.068>mother <00:24:13.301>might <00:24:13.535>come <00:24:13.768>to <00:24:14.001>do <00:24:14.235>so.

501
00:24:15.225 --> 00:24:17.885
<00:24:15.225>And <00:24:15.365>if <00:24:15.504>you <00:24:15.645>enjoyed <00:24:15.784>my <00:24:15.925>presentation, <00:24:16.064>here <00:24:16.205>is <00:24:16.344>an <00:24:16.485>email <00:24:16.625>address

502
00:24:17.905 --> 00:24:21.005
<00:24:17.905>and <00:24:18.185>also, <00:24:18.465>um, <00:24:18.745>a <00:24:19.024>QR <00:24:19.305>code.

503
00:24:21.345 --> 00:24:23.365
<00:24:21.345>If <00:24:21.520>you <00:24:21.695>send <00:24:21.870>an <00:24:22.045>email <00:24:22.220>to <00:24:22.395>that <00:24:22.570>email <00:24:22.745>address,

504
00:24:23.425 --> 00:24:28.125
<00:24:23.425>you <00:24:23.541>will <00:24:23.658>get <00:24:23.774>a <00:24:23.891>link <00:24:24.008>to <00:24:24.125>the, <00:24:24.241>to <00:24:24.358>a <00:24:24.475>OneDrive <00:24:24.591>with <00:24:24.708>the <00:24:24.825>slides

505
00:24:28.545 --> 00:24:29.965
<00:24:28.545>and <00:24:28.800>some <00:24:29.056>sample <00:24:29.311>of <00:24:29.567>my <00:24:29.822>books.

506
00:24:30.595 --> 00:24:32.325
<00:24:30.595>This <00:24:30.828>is <00:24:31.061>a <00:24:31.295>small <00:24:31.528>Amazon <00:24:31.761>Lambda <00:24:31.995>script.

507
00:24:32.385 --> 00:24:34.525
<00:24:32.385>So <00:24:32.540>in <00:24:32.696>that <00:24:32.851>case, <00:24:33.007>your <00:24:33.162>email <00:24:33.318>address <00:24:33.473>will <00:24:33.629>be <00:24:33.785>locked.

508
00:24:35.425 --> 00:24:37.205
<00:24:35.425>Um, <00:24:35.600>but <00:24:35.774>I'm <00:24:35.950>not <00:24:36.125>using <00:24:36.300>that <00:24:36.475>for <00:24:36.649>anything <00:24:36.825>else.

509
00:24:37.265 --> 00:24:38.965
<00:24:37.265>But <00:24:37.545>sending <00:24:37.825>out <00:24:38.105>those, <00:24:38.385>that <00:24:38.665>information,

510
00:24:38.965 --> 00:24:41.885
<00:24:38.965>if <00:24:39.105>you <00:24:39.245>use <00:24:39.385>the <00:24:39.524>QR <00:24:39.665>code, <00:24:39.804>it <00:24:39.945>should <00:24:40.084>take <00:24:40.225>you <00:24:40.365>directly,

511
00:24:42.265 --> 00:24:43.325
<00:24:42.265>uh, <00:24:42.583>to <00:24:42.901>the <00:24:43.219>OneDrive.

512
00:24:43.345 --> 00:24:45.805
<00:24:43.345>So <00:24:43.520>in <00:24:43.695>that <00:24:43.870>case, <00:24:44.045>uh, <00:24:44.220>Amazon <00:24:44.395>is <00:24:44.570>not <00:24:44.745>removed,

513
00:24:45.835 --> 00:24:48.525
<00:24:45.835>it's <00:24:46.068>just <00:24:46.301>Microsoft <00:24:46.535>and <00:24:46.768>uh, <00:24:47.001>Microsoft <00:24:47.235>OneDrive.

514
00:24:49.185 --> 00:24:50.525
<00:24:49.185>So <00:24:49.426>thanks <00:24:49.667>a <00:24:49.908>lot <00:24:50.149>for <00:24:50.391>listening.

515
00:24:50.665 --> 00:24:52.565
<00:24:50.665>We <00:24:50.898>will <00:24:51.131>have <00:24:51.365>time <00:24:51.598>for <00:24:51.831>some <00:24:52.065>questions.

516
00:24:53.145 --> 00:24:55.405
<00:24:53.145>Uh, <00:24:53.320>so <00:24:53.495>I'm <00:24:53.670>really <00:24:53.845>looking <00:24:54.020>forward <00:24:54.195>to <00:24:54.370>your <00:24:54.545>questions

517
00:24:55.585 --> 00:24:58.685
<00:24:55.585>and <00:24:55.760>uh, <00:24:55.935>yeah, <00:24:56.110>I <00:24:56.285>will <00:24:56.460>try <00:24:56.635>to <00:24:56.810>answer <00:24:56.985>them.

518
00:24:59.065 --> 00:25:01.325
<00:24:59.065>So <00:24:59.298>thanks <00:24:59.531>a <00:24:59.765>lot <00:24:59.998>for <00:25:00.231>listening <00:25:00.465>and.