WEBVTT

1
00:00:05.100 --> 00:00:09.800
it

2
00:00:12.300 --> 00:00:13.200
<00:00:12.300>and <00:00:12.570>here <00:00:12.840>we <00:00:13.110>are.

3
00:00:14.800 --> 00:00:17.300
<00:00:14.800>Hi <00:00:15.033>everyone. <00:00:15.266>Welcome <00:00:15.500>to <00:00:15.733>we <00:00:15.966>are <00:00:16.200>developers.

4
00:00:17.300 --> 00:00:17.900
<00:00:17.300>Are <00:00:17.570>you <00:00:17.840>excited?

5
00:00:19.200 --> 00:00:19.500
cool

6
00:00:20.200 --> 00:00:21.100
<00:00:20.200>That's <00:00:20.605>right <00:00:21.010>energy.

7
00:00:23.200 --> 00:00:24.600
<00:00:23.200>Seven <00:00:23.380>years <00:00:23.560>ago. <00:00:23.740>I <00:00:23.920>was <00:00:24.100>on <00:00:24.280>a <00:00:24.460>plane.

8
00:00:25.400 --> 00:00:28.900
<00:00:25.400>The <00:00:25.633>plane <00:00:25.866>was <00:00:26.099>direct <00:00:26.333>to <00:00:26.566>Tokyo <00:00:26.799>London

9
00:00:28.900 --> 00:00:31.200
<00:00:28.900>to <00:00:29.180>Tokyo. <00:00:29.459>Whoever <00:00:29.740>hours <00:00:30.020>of <00:00:30.299>light.

10
00:00:31.900 --> 00:00:34.100
<00:00:31.900>As <00:00:32.100>you <00:00:32.299>can <00:00:32.500>imagine <00:00:32.699>long <00:00:32.900>flight <00:00:33.100>a <00:00:33.300>lot

11
00:00:34.100 --> 00:00:36.300
<00:00:34.100>of <00:00:34.275>time <00:00:34.450>to <00:00:34.625>think <00:00:34.800>luckily <00:00:34.975>was <00:00:35.150>in <00:00:35.325>business <00:00:35.500>class.

12
00:00:37.300 --> 00:00:40.500
<00:00:37.300>And <00:00:37.580>that <00:00:37.860>flight <00:00:38.140>changed <00:00:38.419>completely <00:00:38.699>my

13
00:00:40.500 --> 00:00:40.700
life.

14
00:00:41.500 --> 00:00:45.100
<00:00:41.500>Because <00:00:41.700>I <00:00:41.900>started <00:00:42.100>to <00:00:42.300>think <00:00:42.500>how <00:00:42.700>create <00:00:42.900>distributed

15
00:00:44.100 --> 00:00:47.400
<00:00:44.100>systems <00:00:44.300>for <00:00:44.500>front <00:00:44.700>end. <00:00:44.900>And <00:00:45.100>that's <00:00:45.300>where <00:00:45.500>we

16
00:00:47.400 --> 00:00:48.500
<00:00:47.400>are <00:00:47.894>here <00:00:48.390>today.

17
00:00:49.900 --> 00:00:50.800
<00:00:49.900>seven <00:00:50.305>years <00:00:50.709>later

18
00:00:51.600 --> 00:00:54.600
<00:00:51.600>We <00:00:51.800>are <00:00:52.000>here <00:00:52.200>talking <00:00:52.400>about <00:00:52.600>what <00:00:52.800>I <00:00:53.000>have

19
00:00:54.600 --> 00:00:58.100
<00:00:54.600>learned <00:00:54.833>about <00:00:55.066>microphone <00:00:55.300>dance <00:00:55.533>and <00:00:55.766>how <00:00:56.000>to

20
00:00:57.100 --> 00:00:59.600
<00:00:57.100>make <00:00:57.380>the <00:00:57.660>best <00:00:57.940>use <00:00:58.220>of <00:00:58.500>them.

21
00:01:00.400 --> 00:01:04.800
<00:01:00.400>One <00:01:00.540>thing <00:01:00.680>that <00:01:00.820>I <00:01:00.960>learned <00:01:01.100>when <00:01:01.239>I <00:01:01.379>joined <00:01:01.519>Amazon <00:01:01.660>was <00:01:01.800>this

22
00:01:04.800 --> 00:01:07.300
<00:01:04.800>so <00:01:05.033>from <00:01:05.266>directly <00:01:05.500>from <00:01:05.733>Andy <00:01:05.966>Jesse <00:01:06.200>our

23
00:01:07.300 --> 00:01:11.100
<00:01:07.300>CEO <00:01:07.440>that <00:01:07.580>there <00:01:07.720>is <00:01:07.860>no <00:01:08.000>compression <00:01:08.140>algorithm <00:01:08.280>for <00:01:08.420>experience. <00:01:08.560>And <00:01:08.700>therefore

24
00:01:10.100 --> 00:01:13.700
<00:01:10.100>what <00:01:10.274>I <00:01:10.449>want <00:01:10.625>to <00:01:10.800>do <00:01:10.975>is <00:01:11.149>sharing <00:01:11.324>my <00:01:11.500>experience

25
00:01:13.700 --> 00:01:16.300
<00:01:13.700>today <00:01:13.980>with <00:01:14.260>you <00:01:14.540>and <00:01:14.820>try <00:01:15.100>to

26
00:01:16.300 --> 00:01:19.600
<00:01:16.300>provide <00:01:16.475>you <00:01:16.649>all <00:01:16.825>the <00:01:17.000>insights <00:01:17.175>for <00:01:17.350>designing <00:01:17.524>a <00:01:17.700>successful

27
00:01:19.600 --> 00:01:21.100
<00:01:19.600>microphone <00:01:20.274>tense <00:01:20.949>application.

28
00:01:22.400 --> 00:01:26.100
<00:01:22.400>My <00:01:22.555>name <00:01:22.711>is <00:01:22.866>Luca. <00:01:23.022>I'm <00:01:23.177>principal <00:01:23.333>solution <00:01:23.488>architect <00:01:23.644>in <00:01:23.800>AWS

29
00:01:25.100 --> 00:01:28.900
<00:01:25.100>an <00:01:25.380>international <00:01:25.660>speaker <00:01:25.940>and <00:01:26.220>O'Reilly <00:01:26.500>author.

30
00:01:29.700 --> 00:01:32.500
<00:01:29.700>And <00:01:29.933>let's <00:01:30.166>start <00:01:30.400>first <00:01:30.633>before <00:01:30.866>dive <00:01:31.100>deep

31
00:01:32.500 --> 00:01:36.000
<00:01:32.500>into <00:01:32.655>the <00:01:32.811>topic <00:01:32.966>about <00:01:33.122>the <00:01:33.277>benefits <00:01:33.433>of <00:01:33.588>microphone <00:01:33.744>dance <00:01:33.900>the

32
00:01:35.100 --> 00:01:38.600
<00:01:35.100>last <00:01:35.255>few <00:01:35.411>years. <00:01:35.566>I <00:01:35.722>spent <00:01:35.877>a <00:01:36.033>lot <00:01:36.188>of <00:01:36.344>time <00:01:36.500>a

33
00:01:38.600 --> 00:01:41.300
<00:01:38.600>lot <00:01:38.800>of <00:01:39.000>talks <00:01:39.199>wrote <00:01:39.399>blog <00:01:39.600>post <00:01:39.800>books <00:01:40.000>and

34
00:01:41.300 --> 00:01:45.200
<00:01:41.300>everything <00:01:41.533>about <00:01:41.766>microphone <00:01:42.000>tents. <00:01:42.233>And <00:01:42.466>what <00:01:42.700>turnout

35
00:01:44.200 --> 00:01:48.200
<00:01:44.200>to <00:01:44.550>be <00:01:44.900>very <00:01:45.250>useful <00:01:45.600>in

36
00:01:47.200 --> 00:01:50.200
<00:01:47.200>the <00:01:47.550>frontend <00:01:47.900>world <00:01:48.250>is <00:01:48.600>the

37
00:01:50.200 --> 00:01:53.500
<00:01:50.200>incremental <00:01:50.375>upgrades <00:01:50.550>nature <00:01:50.725>that <00:01:50.900>is <00:01:51.075>available <00:01:51.250>in <00:01:51.425>microphone <00:01:51.600>tense.

38
00:01:53.500 --> 00:01:56.700
<00:01:53.500>If <00:01:53.733>design <00:01:53.966>properly <00:01:54.200>we <00:01:54.433>can <00:01:54.666>independently <00:01:54.900>deploy

39
00:01:56.700 --> 00:01:59.500
<00:01:56.700>our <00:01:56.900>microphone <00:01:57.100>dance <00:01:57.300>without <00:01:57.500>too <00:01:57.700>much <00:01:57.900>coordination, <00:01:58.100>if

40
00:01:59.500 --> 00:02:02.800
<00:01:59.500>no <00:01:59.700>coordination <00:01:59.900>at <00:02:00.100>all <00:02:00.300>even <00:02:00.500>better <00:02:00.700>and <00:02:00.900>we

41
00:02:02.800 --> 00:02:05.300
<00:02:02.800>can <00:02:03.033>take <00:02:03.266>our <00:02:03.500>own <00:02:03.733>peace <00:02:03.966>as <00:02:04.200>a

42
00:02:05.300 --> 00:02:08.600
<00:02:05.300>team <00:02:05.533>for <00:02:05.766>deploying <00:02:06.000>our <00:02:06.233>application <00:02:06.466>part <00:02:06.700>of

43
00:02:08.600 --> 00:02:11.100
<00:02:08.600>the <00:02:08.949>application <00:02:09.299>into <00:02:09.650>in <00:02:10.000>front

44
00:02:11.100 --> 00:02:11.600
<00:02:11.100>of <00:02:11.325>our <00:02:11.549>users.

45
00:02:13.400 --> 00:02:16.700
<00:02:13.400>The <00:02:13.540>second <00:02:13.680>concept <00:02:13.820>that <00:02:13.960>shine <00:02:14.100>is <00:02:14.240>the <00:02:14.380>concept <00:02:14.520>of <00:02:14.660>decentralization <00:02:14.800>and

46
00:02:16.700 --> 00:02:19.900
<00:02:16.700>that <00:02:16.933>is <00:02:17.166>for <00:02:17.399>any <00:02:17.633>distributed <00:02:17.866>system. <00:02:18.100>Not

47
00:02:19.900 --> 00:02:22.500
<00:02:19.900>only <00:02:20.250>microphone <00:02:20.600>dance <00:02:20.950>decentralization <00:02:21.300>means

48
00:02:22.500 --> 00:02:22.600
that

49
00:02:23.700 --> 00:02:25.200
<00:02:23.700>every <00:02:24.037>team <00:02:24.375>should <00:02:24.712>have <00:02:25.049>skin.

50
00:02:26.400 --> 00:02:29.800
<00:02:26.400>The <00:02:26.633>reality <00:02:26.866>is <00:02:27.100>very <00:02:27.333>often. <00:02:27.566>Unfortunately, <00:02:27.800>I've

51
00:02:29.800 --> 00:02:32.800
<00:02:29.800>seen <00:02:30.033>organization <00:02:30.266>that <00:02:30.500>are <00:02:30.733>extremely <00:02:30.966>centralized <00:02:31.200>and

52
00:02:32.800 --> 00:02:35.800
<00:02:32.800>they're <00:02:33.000>trying <00:02:33.200>the <00:02:33.400>journey <00:02:33.600>into <00:02:33.800>distributed <00:02:34.000>architectures <00:02:34.200>and

53
00:02:35.800 --> 00:02:38.800
<00:02:35.800>it's <00:02:36.033>not <00:02:36.266>easy <00:02:36.500>Because <00:02:36.733>unless <00:02:36.966>you <00:02:37.200>start

54
00:02:38.800 --> 00:02:41.800
<00:02:38.800>to <00:02:39.000>change <00:02:39.200>and <00:02:39.400>shift <00:02:39.600>your <00:02:39.800>mindset <00:02:40.000>and <00:02:40.200>our

55
00:02:41.800 --> 00:02:44.800
<00:02:41.800>in <00:02:41.955>the <00:02:42.111>developers <00:02:42.266>to <00:02:42.422>take <00:02:42.577>their <00:02:42.733>own <00:02:42.888>decision <00:02:43.044>inside <00:02:43.200>certain

56
00:02:44.800 --> 00:02:47.300
<00:02:44.800>guardrails <00:02:45.080>is <00:02:45.360>going <00:02:45.640>to <00:02:45.920>be <00:02:46.200>difficult

57
00:02:47.300 --> 00:02:50.500
<00:02:47.300>and <00:02:47.455>guardrail <00:02:47.611>is <00:02:47.766>the <00:02:47.922>key <00:02:48.077>word <00:02:48.233>for <00:02:48.388>the <00:02:48.544>tech <00:02:48.700>leadership

58
00:02:50.500 --> 00:02:53.500
<00:02:50.500>because <00:02:50.733>the <00:02:50.966>tech <00:02:51.200>leadership <00:02:51.433>start <00:02:51.666>should <00:02:51.900>start

59
00:02:53.500 --> 00:02:57.400
<00:02:53.500>creating <00:02:53.780>these <00:02:54.060>gardeners <00:02:54.340>to <00:02:54.620>suggest <00:02:54.900>a

60
00:02:56.400 --> 00:03:01.000
<00:02:56.400>bunch <00:02:56.680>of <00:02:56.960>techniques <00:02:57.240>to <00:02:57.520>and <00:02:57.800>raise

61
00:02:59.400 --> 00:03:02.700
<00:02:59.400>the <00:02:59.866>best <00:03:00.333>partners <00:03:00.800>that

62
00:03:02.700 --> 00:03:05.200
<00:03:02.700>they <00:03:02.875>have <00:03:03.049>seen <00:03:03.225>inside <00:03:03.399>the <00:03:03.575>trenches <00:03:03.750>for <00:03:03.924>all <00:03:04.100>the

63
00:03:05.200 --> 00:03:05.300
teams.

64
00:03:07.400 --> 00:03:11.100
<00:03:07.400>The <00:03:07.575>first <00:03:07.750>thing <00:03:07.925>is <00:03:08.100>reducing <00:03:08.275>the <00:03:08.450>cognitive <00:03:08.625>load. <00:03:08.800>If

65
00:03:10.100 --> 00:03:13.100
<00:03:10.100>you're <00:03:10.333>familiar <00:03:10.566>with <00:03:10.799>the <00:03:11.033>team <00:03:11.266>topologies <00:03:11.500>book,

66
00:03:13.100 --> 00:03:16.800
<00:03:13.100>you <00:03:13.299>probably <00:03:13.500>have <00:03:13.700>heard <00:03:13.900>about <00:03:14.100>the <00:03:14.299>concept <00:03:14.500>of

67
00:03:16.800 --> 00:03:19.500
<00:03:16.800>Team <00:03:17.080>cognitive <00:03:17.360>load <00:03:17.640>where <00:03:17.920>usually <00:03:18.200>in

68
00:03:19.500 --> 00:03:22.300
<00:03:19.500>the <00:03:19.675>monolithic <00:03:19.850>architecture <00:03:20.025>you <00:03:20.200>can <00:03:20.375>jump <00:03:20.550>from <00:03:20.725>I <00:03:20.900>don't

69
00:03:22.300 --> 00:03:25.700
<00:03:22.300>know <00:03:22.440>the <00:03:22.580>acquisition <00:03:22.720>domain <00:03:22.860>or <00:03:23.000>or <00:03:23.140>payment <00:03:23.280>domain <00:03:23.420>to <00:03:23.560>the <00:03:23.700>catalog

70
00:03:25.700 --> 00:03:28.500
<00:03:25.700>domain <00:03:25.875>and <00:03:26.049>you <00:03:26.225>need <00:03:26.399>to <00:03:26.575>understand <00:03:26.750>everything. <00:03:26.924>So <00:03:27.100>there

71
00:03:28.500 --> 00:03:31.300
<00:03:28.500>is <00:03:28.640>a <00:03:28.780>huge <00:03:28.920>effort <00:03:29.060>for <00:03:29.200>the <00:03:29.340>team <00:03:29.480>to <00:03:29.620>maintain <00:03:29.760>that <00:03:29.900>code

72
00:03:31.300 --> 00:03:32.700
<00:03:31.300>base <00:03:32.560>across

73
00:03:33.500 --> 00:03:34.800
<00:03:33.500>the <00:03:34.085>entire <00:03:34.670>system

74
00:03:36.100 --> 00:03:39.600
<00:03:36.100>So <00:03:36.200>with <00:03:36.299>microphone <00:03:36.400>tense, <00:03:36.500>we <00:03:36.600>are <00:03:36.700>trying <00:03:36.799>to <00:03:36.900>reduce <00:03:37.000>that. <00:03:37.100>We <00:03:37.200>have <00:03:37.299>just <00:03:37.400>a <00:03:37.500>portion

75
00:03:39.600 --> 00:03:42.700
<00:03:39.600>of <00:03:39.775>the <00:03:39.950>domain <00:03:40.125>like <00:03:40.299>domain <00:03:40.475>driven <00:03:40.650>design <00:03:40.825>suggests <00:03:41.000>and

76
00:03:42.700 --> 00:03:45.300
<00:03:42.700>we <00:03:42.875>can <00:03:43.049>Master <00:03:43.225>it <00:03:43.399>we <00:03:43.575>can <00:03:43.750>became <00:03:43.924>expert <00:03:44.100>and

77
00:03:45.300 --> 00:03:48.400
<00:03:45.300>that <00:03:45.533>will <00:03:45.766>help <00:03:46.000>us <00:03:46.233>to <00:03:46.466>let's <00:03:46.700>say

78
00:03:48.400 --> 00:03:51.700
<00:03:48.400>fast-track <00:03:48.680>certain <00:03:48.960>certain <00:03:49.240>decisions <00:03:49.520>Fast <00:03:49.800>Track

79
00:03:51.700 --> 00:03:55.100
<00:03:51.700>certain <00:03:51.933>deployment. <00:03:52.166>But <00:03:52.399>moreover <00:03:52.633>also <00:03:52.866>add <00:03:53.100>new

80
00:03:54.100 --> 00:03:57.700
<00:03:54.100>developers <00:03:54.380>joining <00:03:54.660>our <00:03:54.940>teams <00:03:55.220>and <00:03:55.500>quickly

81
00:03:57.700 --> 00:03:58.900
<00:03:57.700>contribute <00:03:57.970>to <00:03:58.240>the <00:03:58.510>code <00:03:58.780>base.

82
00:04:00.300 --> 00:04:01.400
<00:04:00.300>Last <00:04:00.630>but <00:04:00.960>not <00:04:01.290>least.

83
00:04:02.100 --> 00:04:06.500
<00:04:02.100>Architecture <00:04:02.380>is <00:04:02.660>strictly <00:04:02.940>related <00:04:03.220>to <00:04:03.500>organizational

84
00:04:05.500 --> 00:04:10.300
<00:04:05.500>structure. <00:04:05.780>Never <00:04:06.060>forget <00:04:06.340>that <00:04:06.620>and <00:04:06.900>I

85
00:04:09.300 --> 00:04:12.200
<00:04:09.300>think <00:04:09.533>is <00:04:09.766>important <00:04:10.000>to <00:04:10.233>highlight <00:04:10.466>that <00:04:10.700>when

86
00:04:12.200 --> 00:04:15.400
<00:04:12.200>we <00:04:12.339>are <00:04:12.480>looking <00:04:12.619>for <00:04:12.760>a <00:04:12.899>distributed <00:04:13.040>system. <00:04:13.179>We <00:04:13.320>are <00:04:13.459>not <00:04:13.600>looking

87
00:04:15.400 --> 00:04:18.000
<00:04:15.400>only <00:04:15.633>to <00:04:15.866>technical <00:04:16.100>characteristics. <00:04:16.333>We <00:04:16.566>are <00:04:16.800>looking

88
00:04:18.500 --> 00:04:21.600
<00:04:18.500>also <00:04:18.779>and <00:04:19.060>sometimes <00:04:19.339>more <00:04:19.620>importantly <00:04:19.899>on

89
00:04:21.600 --> 00:04:24.600
<00:04:21.600>organization <00:04:21.880>structure. <00:04:22.160>So <00:04:22.440>having <00:04:22.720>disability <00:04:23.000>System

90
00:04:24.600 --> 00:04:27.100
<00:04:24.600>including <00:04:24.950>microphone <00:04:25.300>dance <00:04:25.650>will <00:04:26.000>allow

91
00:04:27.100 --> 00:04:31.000
<00:04:27.100>you <00:04:27.275>to <00:04:27.450>spin <00:04:27.625>up <00:04:27.800>new <00:04:27.975>teams <00:04:28.150>and <00:04:28.325>scale <00:04:28.500>your

92
00:04:30.500 --> 00:04:32.600
<00:04:30.500>organization <00:04:31.900>properly.

93
00:04:33.600 --> 00:04:37.200
<00:04:33.600>With <00:04:33.800>that <00:04:34.000>all <00:04:34.200>said <00:04:34.400>let's <00:04:34.600>focus <00:04:34.800>on <00:04:35.000>the

94
00:04:36.200 --> 00:04:39.600
<00:04:36.200>antipatterns. <00:04:36.479>We <00:04:36.760>always <00:04:37.039>always <00:04:37.320>say <00:04:37.599>what

95
00:04:39.600 --> 00:04:42.500
<00:04:39.600>is <00:04:39.740>good <00:04:39.880>for <00:04:40.020>microphone <00:04:40.160>tense. <00:04:40.300>Let's <00:04:40.440>see <00:04:40.580>what <00:04:40.720>is <00:04:40.860>not <00:04:41.000>those

96
00:04:42.500 --> 00:04:45.600
<00:04:42.500>antipotents <00:04:42.700>are <00:04:42.900>basically <00:04:43.100>what <00:04:43.300>I've <00:04:43.500>learned <00:04:43.700>in <00:04:43.900>several

97
00:04:45.600 --> 00:04:48.400
<00:04:45.600>engagements <00:04:45.950>with <00:04:46.300>the <00:04:46.650>customers <00:04:47.000>that

98
00:04:48.400 --> 00:04:52.200
<00:04:48.400>I <00:04:48.575>follow <00:04:48.750>in <00:04:48.924>the <00:04:49.099>last <00:04:49.275>few <00:04:49.450>years <00:04:49.625>and <00:04:49.799>I've

99
00:04:51.200 --> 00:04:52.500
seen

100
00:04:53.300 --> 00:04:56.300
<00:04:53.300>Some <00:04:53.500>mistakes <00:04:53.700>that <00:04:53.900>were <00:04:54.100>happening <00:04:54.300>over <00:04:54.500>and <00:04:54.700>over

101
00:04:56.300 --> 00:04:58.100
<00:04:56.300>and <00:04:56.500>over <00:04:56.700>so <00:04:56.900>I <00:04:57.100>decided <00:04:57.300>to <00:04:57.500>collect <00:04:57.700>them.

102
00:04:58.800 --> 00:05:01.400
<00:04:58.800>Let's <00:04:58.927>start <00:04:59.054>with <00:04:59.181>the <00:04:59.309>first <00:04:59.436>one <00:04:59.563>and <00:04:59.690>probably <00:04:59.818>the <00:04:59.945>most <00:05:00.072>common <00:05:00.200>one.

103
00:05:01.400 --> 00:05:04.400
<00:05:01.400>I <00:05:01.555>call <00:05:01.711>it <00:05:01.866>the <00:05:02.022>yin <00:05:02.177>and <00:05:02.333>the <00:05:02.488>young <00:05:02.644>or <00:05:02.799>the

104
00:05:04.400 --> 00:05:06.500
<00:05:04.400>difference <00:05:04.679>between <00:05:04.960>microphone <00:05:05.239>dance <00:05:05.520>and <00:05:05.799>components.

105
00:05:09.200 --> 00:05:10.300
<00:05:09.200>Let's <00:05:09.530>read <00:05:09.860>the <00:05:10.190>components.

106
00:05:11.600 --> 00:05:14.500
<00:05:11.600>Let's <00:05:11.740>take <00:05:11.880>the <00:05:12.020>most <00:05:12.160>simple <00:05:12.300>component <00:05:12.440>in <00:05:12.580>the <00:05:12.720>world <00:05:12.860>the <00:05:13.000>button.

107
00:05:15.600 --> 00:05:18.300
<00:05:15.600>And <00:05:15.755>usually <00:05:15.911>in <00:05:16.066>the <00:05:16.222>button <00:05:16.377>if <00:05:16.533>we <00:05:16.688>want <00:05:16.844>them <00:05:17.000>to

108
00:05:18.300 --> 00:05:21.300
<00:05:18.300>reuse <00:05:18.475>everywhere, <00:05:18.650>we <00:05:18.825>start <00:05:19.000>to <00:05:19.175>have <00:05:19.350>a <00:05:19.525>button <00:05:19.700>that

109
00:05:21.300 --> 00:05:24.800
<00:05:21.300>has <00:05:21.475>a <00:05:21.650>label <00:05:21.825>great <00:05:22.000>a <00:05:22.175>few <00:05:22.350>weeks <00:05:22.525>later <00:05:22.700>new

110
00:05:24.800 --> 00:05:27.800
<00:05:24.800>requirement. <00:05:25.033>Now <00:05:25.266>the <00:05:25.500>button <00:05:25.733>might <00:05:25.966>have <00:05:26.200>also

111
00:05:27.800 --> 00:05:30.600
<00:05:27.800>an <00:05:27.975>icon. <00:05:28.150>So <00:05:28.325>you <00:05:28.500>want <00:05:28.675>to <00:05:28.850>have <00:05:29.025>the <00:05:29.200>possibility

112
00:05:30.600 --> 00:05:33.900
<00:05:30.600>to <00:05:30.800>decide <00:05:31.000>based <00:05:31.200>on <00:05:31.400>the <00:05:31.600>context <00:05:31.800>if <00:05:32.000>the

113
00:05:33.900 --> 00:05:36.500
<00:05:33.900>button <00:05:34.133>has <00:05:34.366>a <00:05:34.599>label <00:05:34.833>and <00:05:35.066>an <00:05:35.299>icono

114
00:05:37.900 --> 00:05:40.900
<00:05:37.900>Than <00:05:38.179>suddenly <00:05:38.460>new <00:05:38.739>requirement <00:05:39.020>kicks <00:05:39.299>in.

115
00:05:41.700 --> 00:05:44.200
<00:05:41.700>Change <00:05:41.900>border <00:05:42.099>color. <00:05:42.300>So <00:05:42.500>I <00:05:42.700>want <00:05:42.900>the <00:05:43.099>possibility

116
00:05:44.200 --> 00:05:47.600
<00:05:44.200>to <00:05:44.355>change <00:05:44.511>the <00:05:44.666>Border <00:05:44.822>color <00:05:44.977>because <00:05:45.133>in <00:05:45.288>certain <00:05:45.444>occasion <00:05:45.599>or

117
00:05:47.600 --> 00:05:50.600
<00:05:47.600>in <00:05:47.880>certain <00:05:48.160>portals, <00:05:48.440>these <00:05:48.720>buttons <00:05:49.000>should

118
00:05:50.600 --> 00:05:51.200
<00:05:50.600>have <00:05:50.870>this <00:05:51.140>difference.

119
00:05:52.300 --> 00:05:55.200
<00:05:52.300>All <00:05:52.475>different <00:05:52.650>lover <00:05:52.825>animation. <00:05:53.000>I <00:05:53.175>want <00:05:53.350>to <00:05:53.525>instruct <00:05:53.700>my

120
00:05:55.200 --> 00:05:59.200
<00:05:55.200>button <00:05:55.479>to <00:05:55.760>change <00:05:56.039>the <00:05:56.320>specific <00:05:56.599>characteristics.

121
00:06:01.300 --> 00:06:06.900
<00:06:01.300>All <00:06:01.475>the <00:06:01.650>size <00:06:01.825>dimension <00:06:02.000>you <00:06:02.175>introduce <00:06:02.350>introduce <00:06:02.525>internationalization <00:06:02.700>or

122
00:06:06.900 --> 00:06:09.600
<00:06:06.900>localization <00:06:07.179>and <00:06:07.460>you <00:06:07.739>want <00:06:08.020>the <00:06:08.299>possibility

123
00:06:09.600 --> 00:06:12.000
<00:06:09.600>that <00:06:09.833>the <00:06:10.066>button <00:06:10.300>Autos <00:06:10.533>resize <00:06:10.766>based <00:06:11.000>on

124
00:06:12.600 --> 00:06:13.000
<00:06:12.600>the <00:06:12.690>dimension <00:06:12.780>of <00:06:12.870>the <00:06:12.960>label.

125
00:06:13.800 --> 00:06:16.400
<00:06:13.800>Last <00:06:13.955>but <00:06:14.111>not <00:06:14.266>least <00:06:14.422>you <00:06:14.577>want <00:06:14.733>to <00:06:14.888>use <00:06:15.044>the <00:06:15.200>button

126
00:06:16.400 --> 00:06:19.300
<00:06:16.400>also <00:06:16.527>some <00:06:16.654>forms. <00:06:16.781>So <00:06:16.909>you <00:06:17.036>want <00:06:17.163>a <00:06:17.290>possibility <00:06:17.418>to <00:06:17.545>disable <00:06:17.672>the <00:06:17.799>button

127
00:06:19.300 --> 00:06:20.100
<00:06:19.300>out <00:06:19.540>of <00:06:19.780>the <00:06:20.020>box.

128
00:06:21.100 --> 00:06:24.300
<00:06:21.100>So <00:06:21.227>as <00:06:21.354>you <00:06:21.481>can <00:06:21.609>see, <00:06:21.736>there <00:06:21.863>are <00:06:21.990>a <00:06:22.118>lot <00:06:22.245>of <00:06:22.372>characteristics <00:06:22.500>of

129
00:06:24.300 --> 00:06:24.800
<00:06:24.300>this <00:06:24.750>button.

130
00:06:25.800 --> 00:06:28.000
<00:06:25.800>But <00:06:26.033>there <00:06:26.266>is <00:06:26.500>a <00:06:26.733>key <00:06:26.966>thing <00:06:27.200>to

131
00:06:28.400 --> 00:06:28.900
<00:06:28.400>understand <00:06:28.849>here.

132
00:06:29.800 --> 00:06:32.600
<00:06:29.800>The <00:06:30.000>button <00:06:30.200>has <00:06:30.400>all <00:06:30.600>these <00:06:30.800>functionalities <00:06:31.000>is <00:06:31.200>exposing

133
00:06:32.600 --> 00:06:35.500
<00:06:32.600>a <00:06:32.775>very <00:06:32.950>large <00:06:33.125>API <00:06:33.300>with <00:06:33.475>a <00:06:33.650>bunch <00:06:33.825>of <00:06:34.000>different.

134
00:06:35.500 --> 00:06:38.400
<00:06:35.500>Let's <00:06:35.780>say <00:06:36.060>possibilities <00:06:36.340>for <00:06:36.620>for <00:06:36.900>the

135
00:06:38.400 --> 00:06:38.600
container.

136
00:06:39.600 --> 00:06:42.000
<00:06:39.600>But <00:06:39.775>the <00:06:39.950>reality <00:06:40.125>is <00:06:40.300>it <00:06:40.475>doesn't <00:06:40.650>own <00:06:40.825>the <00:06:41.000>domain.

137
00:06:42.700 --> 00:06:45.500
<00:06:42.700>The <00:06:42.875>reality <00:06:43.050>is <00:06:43.224>the <00:06:43.400>container <00:06:43.575>of <00:06:43.750>this <00:06:43.925>button <00:06:44.099>knows

138
00:06:45.500 --> 00:06:48.100
<00:06:45.500>how <00:06:45.675>the <00:06:45.850>button <00:06:46.025>should <00:06:46.200>behave <00:06:46.375>and <00:06:46.550>therefore <00:06:46.725>we <00:06:46.900>are

139
00:06:48.100 --> 00:06:50.200
<00:06:48.100>not <00:06:48.333>in <00:06:48.566>front <00:06:48.800>of <00:06:49.033>a <00:06:49.266>microphone <00:06:49.500>tab.

140
00:06:51.400 --> 00:06:55.400
<00:06:51.400>If <00:06:51.555>you <00:06:51.711>take <00:06:51.866>my <00:06:52.022>definition <00:06:52.177>of <00:06:52.333>microphone <00:06:52.488>dance, <00:06:52.644>I <00:06:52.799>Define

141
00:06:55.400 --> 00:06:59.000
<00:06:55.400>as <00:06:55.539>a <00:06:55.679>technical <00:06:55.820>representation <00:06:55.960>of <00:06:56.099>a <00:06:56.239>business <00:06:56.380>of <00:06:56.520>domain <00:06:56.659>with <00:06:56.799>independent

142
00:06:58.600 --> 00:07:01.800
<00:06:58.600>deployment <00:06:59.300>and <00:07:00.000>they

143
00:07:01.800 --> 00:07:04.300
<00:07:01.800>might <00:07:01.975>use <00:07:02.150>same <00:07:02.325>or <00:07:02.500>different <00:07:02.675>technology <00:07:02.850>choice. <00:07:03.025>We <00:07:03.200>will

144
00:07:04.300 --> 00:07:07.400
<00:07:04.300>get <00:07:04.455>back <00:07:04.611>to <00:07:04.766>that <00:07:04.922>later <00:07:05.077>and <00:07:05.233>they <00:07:05.388>should <00:07:05.544>minimize <00:07:05.700>the

145
00:07:07.400 --> 00:07:10.300
<00:07:07.400>code <00:07:07.633>share <00:07:07.866>reducing <00:07:08.099>the <00:07:08.333>external <00:07:08.566>dependencies <00:07:08.799>and

146
00:07:10.300 --> 00:07:13.800
<00:07:10.300>the <00:07:10.650>team <00:07:11.000>planned <00:07:11.350>the <00:07:11.700>microphone

147
00:07:13.800 --> 00:07:13.800
time.

148
00:07:14.500 --> 00:07:17.700
<00:07:14.500>Now <00:07:14.675>the <00:07:14.850>things <00:07:15.025>that <00:07:15.200>we <00:07:15.375>care <00:07:15.550>for <00:07:15.725>the <00:07:15.900>difference

149
00:07:17.700 --> 00:07:20.500
<00:07:17.700>between <00:07:17.875>microphone <00:07:18.050>tense <00:07:18.224>and <00:07:18.400>components <00:07:18.575>is <00:07:18.750>this <00:07:18.925>one <00:07:19.099>so

150
00:07:20.500 --> 00:07:23.700
<00:07:20.500>the <00:07:20.700>technical <00:07:20.900>representation <00:07:21.100>of <00:07:21.300>business <00:07:21.500>sub <00:07:21.700>domain <00:07:21.900>if

151
00:07:23.700 --> 00:07:26.400
<00:07:23.700>you're <00:07:23.933>familiar <00:07:24.166>with <00:07:24.400>the <00:07:24.633>main <00:07:24.866>treatment <00:07:25.099>design

152
00:07:26.400 --> 00:07:29.600
<00:07:26.400>a <00:07:26.527>sub <00:07:26.654>domain <00:07:26.781>is <00:07:26.909>just <00:07:27.036>the <00:07:27.163>portion <00:07:27.290>of <00:07:27.418>the <00:07:27.545>complex <00:07:27.672>system. <00:07:27.799>Let's

153
00:07:29.600 --> 00:07:32.800
<00:07:29.600>speak <00:07:29.755>Netflix <00:07:29.911>for <00:07:30.066>instance. <00:07:30.222>Probably <00:07:30.377>everyone <00:07:30.533>knows <00:07:30.688>it. <00:07:30.844>So <00:07:31.000>Netflix

154
00:07:32.800 --> 00:07:35.500
<00:07:32.800>is <00:07:33.080>not <00:07:33.360>just <00:07:33.640>video <00:07:33.920>on <00:07:34.200>demand

155
00:07:35.500 --> 00:07:38.500
<00:07:35.500>streaming <00:07:35.700>platform <00:07:35.900>is <00:07:36.100>also <00:07:36.300>a <00:07:36.500>pain. <00:07:36.700>Yeah. <00:07:36.900>It

156
00:07:38.500 --> 00:07:41.700
<00:07:38.500>has <00:07:38.627>also <00:07:38.754>possibility <00:07:38.881>to <00:07:39.009>a <00:07:39.136>payment <00:07:39.263>Gateway. <00:07:39.390>You <00:07:39.518>can <00:07:39.645>contact <00:07:39.772>customer <00:07:39.900>support

157
00:07:41.700 --> 00:07:44.700
<00:07:41.700>you <00:07:41.855>can <00:07:42.011>do <00:07:42.166>a <00:07:42.322>bunch <00:07:42.477>of <00:07:42.633>things <00:07:42.788>that <00:07:42.944>are <00:07:43.099>represented

158
00:07:44.700 --> 00:07:46.000
<00:07:44.700>by <00:07:45.090>different <00:07:45.480>sub <00:07:45.870>domains.

159
00:07:46.700 --> 00:07:48.600
<00:07:46.700>The <00:07:46.979>other <00:07:47.260>thing <00:07:47.539>is <00:07:47.820>independent <00:07:48.099>implementations.

160
00:07:49.500 --> 00:07:53.600
<00:07:49.500>The <00:07:49.675>moment <00:07:49.850>that <00:07:50.025>you <00:07:50.200>find <00:07:50.375>yourself <00:07:50.550>to <00:07:50.725>deploy <00:07:50.900>two

161
00:07:52.600 --> 00:07:56.200
<00:07:52.600>microphone <00:07:53.066>tense <00:07:53.533>constantly <00:07:54.000>together

162
00:07:55.200 --> 00:07:58.700
<00:07:55.200>and <00:07:55.550>coordinating <00:07:55.900>the <00:07:56.250>effort. <00:07:56.599>Probably

163
00:07:58.700 --> 00:08:01.300
<00:07:58.700>you <00:07:58.840>need <00:07:58.979>to <00:07:59.120>go <00:07:59.260>back <00:07:59.400>to <00:07:59.539>the <00:07:59.680>Whiteboard <00:07:59.820>and <00:07:59.960>understand <00:08:00.099>if

164
00:08:01.300 --> 00:08:02.800
<00:08:01.300>they <00:08:01.525>are <00:08:01.750>really <00:08:01.975>microphone <00:08:02.200>tens <00:08:02.425>or <00:08:02.650>not.

165
00:08:03.900 --> 00:08:05.400
<00:08:03.900>So <00:08:04.125>let's <00:08:04.349>take <00:08:04.575>a <00:08:04.799>microphone <00:08:05.025>that <00:08:05.250>now.

166
00:08:06.100 --> 00:08:09.300
<00:08:06.100>So <00:08:06.255>how <00:08:06.411>the <00:08:06.566>microphone <00:08:06.722>can <00:08:06.877>deserve <00:08:07.033>from <00:08:07.188>from <00:08:07.344>a <00:08:07.500>component?

167
00:08:09.300 --> 00:08:12.600
<00:08:09.300>First <00:08:09.580>of <00:08:09.860>all <00:08:10.140>is <00:08:10.420>independent <00:08:10.700>I

168
00:08:12.600 --> 00:08:15.500
<00:08:12.600>can <00:08:12.775>dump <00:08:12.950>it <00:08:13.125>in <00:08:13.300>in <00:08:13.475>a <00:08:13.650>place <00:08:13.825>and <00:08:14.000>I

169
00:08:15.500 --> 00:08:18.700
<00:08:15.500>can <00:08:15.616>go <00:08:15.733>my <00:08:15.850>own <00:08:15.966>piece. <00:08:16.083>I <00:08:16.200>don't <00:08:16.316>have <00:08:16.433>to <00:08:16.550>coordinate <00:08:16.666>with <00:08:16.783>anyone <00:08:16.900>and

170
00:08:18.700 --> 00:08:21.600
<00:08:18.700>that's <00:08:18.855>great. <00:08:19.011>So <00:08:19.166>if <00:08:19.322>there <00:08:19.477>is <00:08:19.633>a <00:08:19.788>new <00:08:19.944>release, <00:08:20.099>it's

171
00:08:21.600 --> 00:08:24.200
<00:08:21.600>my <00:08:21.880>effort <00:08:22.160>is <00:08:22.440>my <00:08:22.720>team <00:08:23.000>had

172
00:08:24.200 --> 00:08:25.000
<00:08:24.200>for <00:08:24.440>to <00:08:24.680>handle <00:08:24.920>that.

173
00:08:25.900 --> 00:08:28.200
<00:08:25.900>Is <00:08:26.133>the <00:08:26.366>main <00:08:26.599>aware <00:08:26.833>he <00:08:27.066>knows <00:08:27.299>how

174
00:08:28.200 --> 00:08:31.500
<00:08:28.200>to <00:08:28.327>behave <00:08:28.454>I <00:08:28.581>don't <00:08:28.709>have <00:08:28.836>I <00:08:28.963>don't <00:08:29.090>need <00:08:29.218>to <00:08:29.345>have <00:08:29.472>a <00:08:29.599>container.

175
00:08:31.500 --> 00:08:34.300
<00:08:31.500>That <00:08:31.640>is <00:08:31.780>telling <00:08:31.920>me <00:08:32.059>okay, <00:08:32.200>you <00:08:32.340>need <00:08:32.480>to <00:08:32.620>disable <00:08:32.760>this <00:08:32.900>you

176
00:08:34.300 --> 00:08:37.700
<00:08:34.299>need <00:08:34.427>to <00:08:34.554>do <00:08:34.681>that <00:08:34.809>and <00:08:34.936>sauce <00:08:35.063>for <00:08:35.190>so <00:08:35.318>day <00:08:35.445>API <00:08:35.572>layer <00:08:35.699>start

177
00:08:37.700 --> 00:08:40.000
<00:08:37.700>to <00:08:37.855>became <00:08:38.011>very <00:08:38.166>very <00:08:38.322>small <00:08:38.477>and <00:08:38.633>that <00:08:38.788>is <00:08:38.944>a <00:08:39.100>great

178
00:08:40.800 --> 00:08:43.400
<00:08:40.799>aristics <00:08:40.939>by <00:08:41.079>the <00:08:41.219>way. <00:08:41.359>So <00:08:41.500>if <00:08:41.640>you <00:08:41.780>see <00:08:41.919>that <00:08:42.059>your <00:08:42.199>API

179
00:08:43.400 --> 00:08:47.600
<00:08:43.400>start <00:08:43.633>to <00:08:43.866>grow <00:08:44.100>for <00:08:44.333>allowing <00:08:44.566>more <00:08:44.800>possibilities

180
00:08:46.600 --> 00:08:49.800
<00:08:46.600>to <00:08:46.880>your <00:08:47.160>microphone <00:08:47.440>10 <00:08:47.720>again, <00:08:48.000>you

181
00:08:49.800 --> 00:08:52.600
<00:08:49.800>are <00:08:50.033>transforming <00:08:50.266>that <00:08:50.500>element <00:08:50.733>into <00:08:50.966>a <00:08:51.199>component.

182
00:08:54.400 --> 00:08:57.500
<00:08:54.400>You <00:08:54.540>need <00:08:54.680>to <00:08:54.819>Define <00:08:54.959>input <00:08:55.100>and <00:08:55.240>output <00:08:55.380>clearly. <00:08:55.520>We <00:08:55.660>will <00:08:55.800>see

183
00:08:57.500 --> 00:09:01.700
<00:08:57.500>later <00:08:57.655>a <00:08:57.811>good <00:08:57.966>technique <00:08:58.122>for <00:08:58.277>defining <00:08:58.433>them. <00:08:58.588>And <00:08:58.744>finally <00:08:58.900>they

184
00:09:00.700 --> 00:09:03.600
<00:09:00.700>tend <00:09:00.933>to <00:09:01.166>not <00:09:01.400>be <00:09:01.633>too <00:09:01.866>extensible <00:09:02.100>because

185
00:09:03.600 --> 00:09:06.300
<00:09:03.600>our <00:09:03.775>domain <00:09:03.950>aware <00:09:04.125>they <00:09:04.300>know <00:09:04.475>how <00:09:04.650>the <00:09:04.825>things <00:09:05.000>are

186
00:09:06.300 --> 00:09:07.400
<00:09:06.300>working <00:09:06.547>for <00:09:06.795>the <00:09:07.042>specific <00:09:07.290>domain.

187
00:09:08.600 --> 00:09:11.200
<00:09:08.600>So <00:09:08.775>the <00:09:08.950>moment <00:09:09.125>that <00:09:09.300>you <00:09:09.475>find <00:09:09.650>yourself <00:09:09.825>in <00:09:10.000>a

188
00:09:11.200 --> 00:09:14.700
<00:09:11.200>situation <00:09:11.340>like <00:09:11.480>that, <00:09:11.620>probably <00:09:11.760>you <00:09:11.900>don't <00:09:12.040>have <00:09:12.180>to <00:09:12.320>many <00:09:12.460>microphone <00:09:12.600>dance

189
00:09:14.700 --> 00:09:17.700
<00:09:14.700>you <00:09:14.875>start <00:09:15.050>to <00:09:15.225>have <00:09:15.400>too <00:09:15.575>many <00:09:15.750>components. <00:09:15.925>And <00:09:16.100>therefore

190
00:09:17.700 --> 00:09:20.200
<00:09:17.700>you <00:09:17.900>need <00:09:18.100>to <00:09:18.300>ask <00:09:18.500>yourself. <00:09:18.700>Are <00:09:18.900>you <00:09:19.100>designing

191
00:09:20.200 --> 00:09:22.100
<00:09:20.200>microphone <00:09:20.666>tense <00:09:21.133>or <00:09:21.600>component?

192
00:09:25.300 --> 00:09:28.600
<00:09:25.300>Second <00:09:25.533>antipotent <00:09:25.766>a <00:09:26.000>hydraulic <00:09:26.233>learner <00:09:26.466>or <00:09:26.699>the

193
00:09:28.600 --> 00:09:31.900
<00:09:28.600>multi <00:09:28.775>Frameworks <00:09:28.950>approach. <00:09:29.125>That <00:09:29.300>is <00:09:29.475>something <00:09:29.650>I <00:09:29.825>read <00:09:30.000>so

194
00:09:31.900 --> 00:09:34.600
<00:09:31.900>many <00:09:32.250>times <00:09:32.600>in <00:09:32.949>on <00:09:33.300>social

195
00:09:34.600 --> 00:09:37.500
<00:09:34.600>and <00:09:34.950>blog <00:09:35.300>posts <00:09:35.650>microphone <00:09:36.000>tents

196
00:09:37.500 --> 00:09:41.100
<00:09:37.500>are <00:09:37.675>created <00:09:37.850>because <00:09:38.025>we <00:09:38.200>can <00:09:38.375>use <00:09:38.550>finally <00:09:38.725>multi <00:09:38.900>framework

197
00:09:40.100 --> 00:09:41.400
approach.

198
00:09:42.700 --> 00:09:44.000
<00:09:42.700>I <00:09:42.895>have <00:09:43.090>a <00:09:43.285>question <00:09:43.480>for <00:09:43.675>you, <00:09:43.870>though.

199
00:09:44.900 --> 00:09:47.500
<00:09:44.900>How <00:09:45.133>many <00:09:45.366>UI <00:09:45.600>libraries <00:09:45.833>or <00:09:46.066>framework <00:09:46.300>would

200
00:09:47.500 --> 00:09:49.000
<00:09:47.500>you <00:09:47.725>use <00:09:47.950>in <00:09:48.175>a <00:09:48.400>single <00:09:48.625>page <00:09:48.850>application?

201
00:09:50.500 --> 00:09:53.200
<00:09:50.500>I <00:09:50.627>hope <00:09:50.754>that <00:09:50.881>the <00:09:51.009>answer <00:09:51.136>is <00:09:51.263>one. <00:09:51.390>I <00:09:51.518>see <00:09:51.645>some <00:09:51.772>ones <00:09:51.900>here.

202
00:09:53.200 --> 00:09:56.200
<00:09:53.200>So <00:09:53.375>great. <00:09:53.550>That's <00:09:53.725>the <00:09:53.900>right <00:09:54.075>answer <00:09:54.250>why <00:09:54.425>you <00:09:54.600>would

203
00:09:56.200 --> 00:09:58.200
<00:09:56.200>do <00:09:56.550>different <00:09:56.900>with <00:09:57.250>microphone <00:09:57.600>tense.

204
00:09:59.100 --> 00:10:02.600
<00:09:59.100>Despite <00:09:59.240>you <00:09:59.380>can <00:09:59.520>it <00:09:59.660>doesn't <00:09:59.800>mean <00:09:59.940>you <00:10:00.080>have <00:10:00.220>to <00:10:00.360>and <00:10:00.500>therefore.

205
00:10:02.600 --> 00:10:05.400
<00:10:02.600>Yes, <00:10:02.755>multi <00:10:02.911>framework <00:10:03.066>approach <00:10:03.222>is <00:10:03.377>a <00:10:03.533>thing <00:10:03.688>in <00:10:03.844>microphone <00:10:04.000>dance,

206
00:10:05.400 --> 00:10:07.200
<00:10:05.400>but <00:10:05.750>for <00:10:06.100>specific <00:10:06.449>use <00:10:06.800>cases.

207
00:10:07.900 --> 00:10:10.400
<00:10:07.900>Dealing <00:10:08.055>with <00:10:08.211>like <00:10:08.366>a <00:10:08.522>system. <00:10:08.677>Maybe <00:10:08.833>you <00:10:08.988>have <00:10:09.144>a <00:10:09.300>legacy

208
00:10:10.400 --> 00:10:14.600
<00:10:10.400>system <00:10:10.555>and <00:10:10.711>you <00:10:10.866>want <00:10:11.022>to <00:10:11.177>leverage <00:10:11.333>the <00:10:11.488>possibility <00:10:11.644>to <00:10:11.800>independently

209
00:10:13.600 --> 00:10:17.300
<00:10:13.600>deploy <00:10:13.880>your <00:10:14.160>microphone <00:10:14.440>and <00:10:14.720>create <00:10:15.000>value

210
00:10:16.300 --> 00:10:19.500
<00:10:16.300>for <00:10:16.533>your <00:10:16.766>customer. <00:10:17.000>And <00:10:17.233>therefore <00:10:17.466>you <00:10:17.699>want

211
00:10:19.500 --> 00:10:22.500
<00:10:19.500>to <00:10:19.675>have <00:10:19.850>your <00:10:20.025>legacy <00:10:20.200>system <00:10:20.375>leaving <00:10:20.550>alongside <00:10:20.725>the <00:10:20.900>microphone

212
00:10:22.500 --> 00:10:25.800
<00:10:22.500>dance <00:10:22.700>implementation. <00:10:22.900>That's <00:10:23.100>a <00:10:23.300>valid <00:10:23.500>way <00:10:23.700>for <00:10:23.900>a

213
00:10:25.800 --> 00:10:28.400
<00:10:25.800>multi <00:10:25.955>framework <00:10:26.111>approach <00:10:26.266>because <00:10:26.422>you <00:10:26.577>know <00:10:26.733>upfront <00:10:26.888>that <00:10:27.044>we <00:10:27.199>stay

214
00:10:28.400 --> 00:10:30.500
<00:10:28.400>there <00:10:28.600>for <00:10:28.800>a <00:10:29.000>short <00:10:29.199>amount <00:10:29.400>of <00:10:29.600>time <00:10:29.800>hopefully.

215
00:10:31.900 --> 00:10:34.400
<00:10:31.900>Migration <00:10:32.133>to <00:10:32.366>new <00:10:32.600>UI <00:10:32.833>Library <00:10:33.066>think <00:10:33.300>for

216
00:10:34.400 --> 00:10:37.600
<00:10:34.400>instance <00:10:34.540>you <00:10:34.680>want <00:10:34.819>to <00:10:34.959>update <00:10:35.100>from? <00:10:35.240>I <00:10:35.380>don't <00:10:35.520>know <00:10:35.660>angular <00:10:35.800>to

217
00:10:37.600 --> 00:10:39.900
<00:10:37.600>react <00:10:37.755>or <00:10:37.911>vice <00:10:38.066>versa <00:10:38.222>up <00:10:38.377>to <00:10:38.533>you <00:10:38.688>to <00:10:38.844>the <00:10:39.000>side.

218
00:10:40.500 --> 00:10:43.000
<00:10:40.500>And <00:10:40.640>you <00:10:40.780>want <00:10:40.920>to <00:10:41.060>do <00:10:41.200>that. <00:10:41.340>I <00:10:41.480>ternatively <00:10:41.620>that's <00:10:41.760>a <00:10:41.900>good

219
00:10:43.300 --> 00:10:46.500
<00:10:43.300>way <00:10:43.455>to <00:10:43.611>handle <00:10:43.766>that <00:10:43.922>last <00:10:44.077>but <00:10:44.233>not <00:10:44.388>least <00:10:44.544>and <00:10:44.699>I

220
00:10:46.500 --> 00:10:49.400
<00:10:46.500>didn't <00:10:46.616>think <00:10:46.733>at <00:10:46.850>the <00:10:46.966>beginning <00:10:47.083>about <00:10:47.200>that <00:10:47.316>but <00:10:47.433>is <00:10:47.550>a <00:10:47.666>reality <00:10:47.783>there <00:10:47.900>are

221
00:10:49.400 --> 00:10:53.100
<00:10:49.400>some <00:10:49.527>large <00:10:49.654>organizations <00:10:49.781>are <00:10:49.909>acquiring <00:10:50.036>new <00:10:50.163>companies. <00:10:50.290>They <00:10:50.418>want <00:10:50.545>to <00:10:50.672>immediately <00:10:50.800>generate

222
00:10:52.100 --> 00:10:55.100
<00:10:52.100>value <00:10:52.300>for <00:10:52.500>the <00:10:52.700>customer. <00:10:52.900>But <00:10:53.100>inside <00:10:53.300>the <00:10:53.500>same

223
00:10:55.500 --> 00:10:57.400
<00:10:55.500>umbrella <00:10:55.733>therefore <00:10:55.966>they're <00:10:56.200>using <00:10:56.433>microphone <00:10:56.666>dance <00:10:56.900>for

224
00:10:58.500 --> 00:11:01.400
<00:10:58.500>Meanwhile, <00:10:58.733>they <00:10:58.966>are <00:10:59.200>replacing <00:10:59.433>or <00:10:59.666>rewriting <00:10:59.900>at

225
00:11:01.400 --> 00:11:01.900
<00:11:01.400>the <00:11:01.625>entire <00:11:01.850>system.

226
00:11:03.200 --> 00:11:06.900
<00:11:03.200>Therefore <00:11:03.433>use <00:11:03.666>multi <00:11:03.900>Frameworks <00:11:04.133>approach <00:11:04.366>when <00:11:04.600>operate

227
00:11:06.900 --> 00:11:09.600
<00:11:06.900>don't <00:11:07.100>optimize <00:11:07.300>your <00:11:07.500>architecture <00:11:07.699>for <00:11:07.900>them <00:11:08.100>and <00:11:08.300>I

228
00:11:09.600 --> 00:11:12.300
<00:11:09.600>have <00:11:09.775>seen <00:11:09.950>companies <00:11:10.125>doing <00:11:10.300>that <00:11:10.475>for <00:11:10.650>providing <00:11:10.825>freedom <00:11:11.000>to

229
00:11:12.300 --> 00:11:15.600
<00:11:12.300>developers. <00:11:12.427>The <00:11:12.554>problem <00:11:12.681>is <00:11:12.809>we <00:11:12.936>are <00:11:13.063>not <00:11:13.190>writing <00:11:13.318>code <00:11:13.445>for <00:11:13.572>developers. <00:11:13.699>We

230
00:11:15.600 --> 00:11:18.000
<00:11:15.600>are <00:11:15.727>writing <00:11:15.854>code <00:11:15.981>for <00:11:16.109>the <00:11:16.236>users <00:11:16.363>so <00:11:16.490>we <00:11:16.618>should <00:11:16.745>think <00:11:16.872>about <00:11:17.000>that.

231
00:11:20.500 --> 00:11:22.800
<00:11:20.500>Next <00:11:20.700>time <00:11:20.900>department <00:11:21.100>is <00:11:21.300>the <00:11:21.500>Swiss <00:11:21.700>Army <00:11:21.900>knife.

232
00:11:23.800 --> 00:11:26.700
<00:11:23.800>And <00:11:24.033>as <00:11:24.266>you <00:11:24.500>can <00:11:24.733>see, <00:11:24.966>I'm <00:11:25.199>not

233
00:11:26.700 --> 00:11:29.600
<00:11:26.700>that <00:11:26.855>young <00:11:27.011>as <00:11:27.166>you <00:11:27.322>can <00:11:27.477>imagine <00:11:27.633>for <00:11:27.788>my <00:11:27.944>beard. <00:11:28.100>So

234
00:11:29.600 --> 00:11:32.500
<00:11:29.600>I'm <00:11:29.800>big <00:11:30.000>fan <00:11:30.200>of <00:11:30.400>Unix <00:11:30.600>and <00:11:30.800>I <00:11:31.000>like

235
00:11:32.500 --> 00:11:35.800
<00:11:32.500>the <00:11:32.655>fact <00:11:32.811>that <00:11:32.966>you <00:11:33.122>do <00:11:33.277>one <00:11:33.433>thing <00:11:33.588>that <00:11:33.744>is <00:11:33.900>pluggable

236
00:11:35.800 --> 00:11:38.500
<00:11:35.800>composable <00:11:35.974>and <00:11:36.150>you <00:11:36.324>can <00:11:36.500>and <00:11:36.675>you <00:11:36.849>do <00:11:37.025>that <00:11:37.199>thing

237
00:11:38.500 --> 00:11:41.300
<00:11:38.500>very <00:11:38.733>well. <00:11:38.966>So <00:11:39.200>let's <00:11:39.433>imagine <00:11:39.666>this <00:11:39.900>scenario.

238
00:11:42.700 --> 00:11:42.900
<00:11:42.700>Greenfield <00:11:42.880>project

239
00:11:44.100 --> 00:11:47.700
<00:11:44.100>so <00:11:44.275>we <00:11:44.450>start <00:11:44.625>we <00:11:44.800>decided <00:11:44.975>to <00:11:45.150>go <00:11:45.325>with <00:11:45.500>microphone

240
00:11:47.700 --> 00:11:50.100
<00:11:47.700>tense <00:11:47.933>large <00:11:48.166>team <00:11:48.400>large <00:11:48.633>organization. <00:11:48.866>That's <00:11:49.100>the

241
00:11:50.100 --> 00:11:54.100
<00:11:50.100>way <00:11:50.255>to <00:11:50.411>go. <00:11:50.566>So <00:11:50.722>first <00:11:50.877>you <00:11:51.033>create <00:11:51.188>a <00:11:51.344>container <00:11:51.500>client-side

242
00:11:53.100 --> 00:11:56.600
<00:11:53.100>rendering <00:11:53.300>application <00:11:53.500>and <00:11:53.700>you <00:11:53.900>have <00:11:54.100>a <00:11:54.300>microphone <00:11:54.500>10

243
00:11:56.600 --> 00:11:57.700
<00:11:56.600>a <00:11:56.930>that <00:11:57.260>is <00:11:57.590>developed.

244
00:11:59.300 --> 00:12:02.100
<00:11:59.300>And <00:11:59.579>Microsoft <00:11:59.859>and <00:12:00.140>a <00:12:00.420>basically <00:12:00.699>is

245
00:12:02.100 --> 00:12:05.300
<00:12:02.100>just <00:12:02.275>a <00:12:02.450>portion <00:12:02.625>of <00:12:02.800>the <00:12:02.975>application <00:12:03.150>then <00:12:03.325>and <00:12:03.500>in

246
00:12:05.300 --> 00:12:08.300
<00:12:05.300>another <00:12:05.455>part <00:12:05.611>of <00:12:05.766>the <00:12:05.922>application, <00:12:06.077>you <00:12:06.233>have <00:12:06.388>two <00:12:06.544>microphone <00:12:06.699>tense

247
00:12:08.300 --> 00:12:11.200
<00:12:08.300>that <00:12:08.427>have <00:12:08.554>to <00:12:08.681>leave <00:12:08.809>in <00:12:08.936>the <00:12:09.063>same <00:12:09.190>view <00:12:09.318>together <00:12:09.445>because <00:12:09.572>they <00:12:09.699>are

248
00:12:11.200 --> 00:12:14.600
<00:12:11.200>maybe <00:12:11.375>think <00:12:11.550>about <00:12:11.725>my <00:12:11.900>account <00:12:12.075>that <00:12:12.250>shows <00:12:12.425>the <00:12:12.600>user

249
00:12:14.600 --> 00:12:17.600
<00:12:14.600>details <00:12:14.755>and <00:12:14.911>the <00:12:15.066>payment <00:12:15.222>that <00:12:15.377>could <00:12:15.533>be <00:12:15.688>easily <00:12:15.844>two <00:12:16.000>different

250
00:12:17.600 --> 00:12:18.100
domains.

251
00:12:19.100 --> 00:12:22.300
<00:12:19.100>But <00:12:19.207>they <00:12:19.315>live <00:12:19.423>together. <00:12:19.530>So <00:12:19.638>for <00:12:19.746>the <00:12:19.853>user <00:12:19.961>is <00:12:20.069>a <00:12:20.176>unique <00:12:20.284>page <00:12:20.392>you <00:12:20.500>need

252
00:12:22.300 --> 00:12:23.800
<00:12:22.300>to <00:12:22.525>figure <00:12:22.750>out <00:12:22.974>how <00:12:23.199>to <00:12:23.425>communicate <00:12:23.650>together.

253
00:12:24.600 --> 00:12:26.800
<00:12:24.600>And <00:12:24.775>there <00:12:24.950>are <00:12:25.125>a <00:12:25.300>bunch <00:12:25.475>of <00:12:25.650>possibilities <00:12:25.825>over <00:12:26.000>there.

254
00:12:27.600 --> 00:12:31.000
<00:12:27.600>And <00:12:27.833>then <00:12:28.066>suddenly <00:12:28.300>you <00:12:28.533>also <00:12:28.766>have <00:12:29.000>to

255
00:12:30.500 --> 00:12:34.700
<00:12:30.500>decide <00:12:30.700>how <00:12:30.900>you're <00:12:31.100>going <00:12:31.300>to <00:12:31.500>store <00:12:31.700>the <00:12:31.900>token

256
00:12:33.700 --> 00:12:36.300
<00:12:33.700>between <00:12:34.166>microphone <00:12:34.633>dance <00:12:35.100>and

257
00:12:36.300 --> 00:12:39.700
<00:12:36.300>usually <00:12:36.439>in <00:12:36.579>that <00:12:36.719>case <00:12:36.859>you <00:12:37.000>can <00:12:37.140>use <00:12:37.280>local <00:12:37.420>storage <00:12:37.560>session <00:12:37.699>storage

258
00:12:39.700 --> 00:12:42.700
<00:12:39.700>web <00:12:39.980>worker <00:12:40.260>or <00:12:40.540>even <00:12:40.820>a <00:12:41.100>cookie.

259
00:12:43.700 --> 00:12:47.000
<00:12:43.700>So <00:12:43.807>are <00:12:43.915>a <00:12:44.023>bunch <00:12:44.130>of <00:12:44.238>things <00:12:44.346>that <00:12:44.453>you <00:12:44.561>make <00:12:44.669>the <00:12:44.776>decision, <00:12:44.884>obviously <00:12:44.992>if <00:12:45.100>you

260
00:12:46.100 --> 00:12:49.100
<00:12:46.100>have <00:12:46.275>followed <00:12:46.450>me <00:12:46.625>in <00:12:46.800>the <00:12:46.975>past, <00:12:47.150>I <00:12:47.325>created <00:12:47.500>this

261
00:12:49.100 --> 00:12:52.400
<00:12:49.100>mental <00:12:49.216>model <00:12:49.333>called <00:12:49.450>the <00:12:49.566>decision <00:12:49.683>framework <00:12:49.800>that <00:12:49.916>allows <00:12:50.033>you <00:12:50.150>to <00:12:50.266>navigate <00:12:50.383>through <00:12:50.500>those

262
00:12:52.400 --> 00:12:55.500
<00:12:52.400>decisions <00:12:52.750>and <00:12:53.100>and <00:12:53.449>pick <00:12:53.800>the

263
00:12:55.500 --> 00:12:56.800
<00:12:55.500>right <00:12:55.792>one <00:12:56.085>for <00:12:56.377>your <00:12:56.670>context.

264
00:12:58.300 --> 00:13:01.500
<00:12:58.300>Or <00:12:58.474>great <00:12:58.650>we <00:12:58.824>go <00:12:59.000>ahead <00:12:59.175>with <00:12:59.349>the <00:12:59.525>development <00:12:59.699>and

265
00:13:01.500 --> 00:13:04.500
<00:13:01.500>everything <00:13:01.850>is <00:13:02.200>successful <00:13:02.550>teams <00:13:02.900>are

266
00:13:04.500 --> 00:13:07.700
<00:13:04.500>empowered. <00:13:04.780>They <00:13:05.060>are <00:13:05.340>developing <00:13:05.620>and <00:13:05.900>insane

267
00:13:07.700 --> 00:13:08.700
<00:13:07.700>rate <00:13:08.150>all <00:13:08.600>great.

268
00:13:09.400 --> 00:13:12.900
<00:13:09.400>Suddenly <00:13:09.750>acquisition <00:13:10.100>games <00:13:10.449>and <00:13:10.800>there

269
00:13:12.900 --> 00:13:15.300
<00:13:12.900>is <00:13:13.100>this <00:13:13.300>Legacy <00:13:13.500>editor. <00:13:13.699>That <00:13:13.900>is <00:13:14.100>awesome <00:13:14.300>from

270
00:13:15.300 --> 00:13:18.100
<00:13:15.300>what <00:13:15.455>business <00:13:15.611>told <00:13:15.766>us <00:13:15.922>and <00:13:16.077>we <00:13:16.233>need <00:13:16.388>to <00:13:16.544>integrate <00:13:16.699>with

271
00:13:18.100 --> 00:13:18.800
<00:13:18.100>our <00:13:18.730>application.

272
00:13:19.800 --> 00:13:22.500
<00:13:19.800>Okay, <00:13:20.000>great. <00:13:20.199>So <00:13:20.400>we <00:13:20.599>need <00:13:20.800>to <00:13:21.000>implement <00:13:21.199>that

273
00:13:22.500 --> 00:13:25.700
<00:13:22.500>so <00:13:22.640>the <00:13:22.780>first <00:13:22.920>thing <00:13:23.060>that <00:13:23.200>we <00:13:23.340>are <00:13:23.480>thinking <00:13:23.620>is <00:13:23.760>okay <00:13:23.900>take

274
00:13:25.700 --> 00:13:28.800
<00:13:25.700>these <00:13:25.933>Legacy <00:13:26.166>editor <00:13:26.400>no <00:13:26.633>clue <00:13:26.866>who <00:13:27.100>how

275
00:13:28.800 --> 00:13:31.800
<00:13:28.800>was <00:13:29.000>developed <00:13:29.199>which <00:13:29.400>Library <00:13:29.599>are <00:13:29.800>inside <00:13:30.000>too <00:13:30.199>long

276
00:13:31.800 --> 00:13:33.900
<00:13:31.800>for <00:13:32.079>refactor <00:13:32.359>because <00:13:32.640>a <00:13:32.920>huge <00:13:33.199>project.

277
00:13:35.300 --> 00:13:38.400
<00:13:35.300>Therefore <00:13:35.455>we <00:13:35.611>need <00:13:35.766>to <00:13:35.922>generate <00:13:36.077>this <00:13:36.233>value. <00:13:36.388>Take <00:13:36.544>an <00:13:36.699>iframe.

278
00:13:38.400 --> 00:13:41.600
<00:13:38.400>You <00:13:38.555>wrap <00:13:38.711>it <00:13:38.866>an <00:13:39.022>iframe. <00:13:39.177>You <00:13:39.333>isolate <00:13:39.488>completely <00:13:39.644>job <00:13:39.800>done.

279
00:13:42.500 --> 00:13:45.200
<00:13:42.500>Not <00:13:42.700>really. <00:13:42.900>The <00:13:43.100>reality <00:13:43.300>is <00:13:43.500>currently <00:13:43.700>you <00:13:43.900>have

280
00:13:45.200 --> 00:13:49.400
<00:13:45.200>an <00:13:45.327>application <00:13:45.454>shell <00:13:45.581>that <00:13:45.709>is <00:13:45.836>containing <00:13:45.963>your <00:13:46.090>microphone <00:13:46.218>tense. <00:13:46.345>And <00:13:46.472>it's <00:13:46.600>communicating

281
00:13:49.400 --> 00:13:53.200
<00:13:49.400>a <00:13:49.555>different <00:13:49.711>ways <00:13:49.866>using <00:13:50.022>an <00:13:50.177>event <00:13:50.333>emitter <00:13:50.488>for <00:13:50.644>communicating <00:13:50.800>with

282
00:13:52.200 --> 00:13:55.800
<00:13:52.200>the <00:13:52.375>rest <00:13:52.550>of <00:13:52.725>the <00:13:52.900>API. <00:13:53.075>So <00:13:53.250>now <00:13:53.425>with <00:13:53.600>iframes

283
00:13:55.800 --> 00:13:58.300
<00:13:55.800>and <00:13:56.150>you <00:13:56.500>need <00:13:56.849>to <00:13:57.199>think

284
00:13:58.300 --> 00:14:01.300
<00:13:58.300>something <00:13:58.439>else <00:13:58.579>you <00:13:58.719>need <00:13:58.859>to <00:13:59.000>think <00:13:59.140>maybe <00:13:59.280>I <00:13:59.420>use <00:13:59.560>postmessage <00:13:59.699>and

285
00:14:01.300 --> 00:14:04.400
<00:14:01.300>then <00:14:01.427>I <00:14:01.554>create <00:14:01.681>the <00:14:01.809>logic <00:14:01.936>into <00:14:02.063>the <00:14:02.190>application <00:14:02.318>layer <00:14:02.445>for <00:14:02.572>optimize <00:14:02.699>that

286
00:14:04.400 --> 00:14:07.200
<00:14:04.400>the <00:14:04.574>problem <00:14:04.750>is <00:14:04.925>there <00:14:05.100>that <00:14:05.275>I <00:14:05.449>have <00:14:05.625>with <00:14:05.800>this

287
00:14:07.200 --> 00:14:10.400
<00:14:07.200>approach <00:14:07.316>is <00:14:07.433>that <00:14:07.550>we <00:14:07.666>if <00:14:07.783>today <00:14:07.900>is <00:14:08.016>the <00:14:08.133>Legacy <00:14:08.250>editor <00:14:08.366>tomorrow <00:14:08.483>will <00:14:08.600>be

288
00:14:10.400 --> 00:14:13.400
<00:14:10.400>something <00:14:10.555>else <00:14:10.711>and <00:14:10.866>we <00:14:11.022>start <00:14:11.177>to <00:14:11.333>easily <00:14:11.488>create <00:14:11.644>code <00:14:11.800>that

289
00:14:13.400 --> 00:14:16.500
<00:14:13.400>became <00:14:13.527>quite <00:14:13.654>messy <00:14:13.781>and <00:14:13.909>at <00:14:14.036>some <00:14:14.163>point <00:14:14.290>has <00:14:14.418>to <00:14:14.545>be <00:14:14.672>removed. <00:14:14.800>We

290
00:14:16.500 --> 00:14:20.300
<00:14:16.500>higher <00:14:16.675>risk <00:14:16.850>for <00:14:17.025>what <00:14:17.200>we <00:14:17.375>are <00:14:17.550>doing <00:14:17.725>but <00:14:17.900>thanks

291
00:14:19.300 --> 00:14:22.800
<00:14:19.300>God <00:14:19.650>in <00:14:20.000>the <00:14:20.349>microservice <00:14:20.699>world.

292
00:14:22.800 --> 00:14:25.300
<00:14:22.800>There <00:14:23.000>is <00:14:23.199>a <00:14:23.400>fantastic <00:14:23.599>pattern <00:14:23.800>whole <00:14:24.000>anti <00:14:24.199>corruption

293
00:14:25.300 --> 00:14:25.500
layer.

294
00:14:26.100 --> 00:14:29.800
<00:14:26.100>And <00:14:26.255>the <00:14:26.411>Artic <00:14:26.566>corruption <00:14:26.722>layer <00:14:26.877>is <00:14:27.033>used <00:14:27.188>for <00:14:27.344>trying <00:14:27.500>to

295
00:14:29.800 --> 00:14:32.200
<00:14:29.800>Shield. <00:14:30.266>What <00:14:30.733>is <00:14:31.199>the

296
00:14:32.200 --> 00:14:35.200
<00:14:32.200>outside <00:14:32.316>world <00:14:32.433>from <00:14:32.550>the <00:14:32.666>inside <00:14:32.783>world? <00:14:32.900>So <00:14:33.016>in <00:14:33.133>this <00:14:33.250>case, <00:14:33.366>you <00:14:33.483>could <00:14:33.600>create

297
00:14:35.200 --> 00:14:38.300
<00:14:35.200>a <00:14:35.400>microphone <00:14:35.600>10 <00:14:35.800>that <00:14:36.000>contains <00:14:36.200>your <00:14:36.400>iframe <00:14:36.600>and

298
00:14:38.300 --> 00:14:41.500
<00:14:38.300>communicate <00:14:38.455>for <00:14:38.611>postmessage <00:14:38.766>with <00:14:38.922>the <00:14:39.077>Legacy <00:14:39.233>editor <00:14:39.388>and <00:14:39.544>then <00:14:39.699>is

299
00:14:41.500 --> 00:14:44.200
<00:14:41.500>sanitize <00:14:41.675>the <00:14:41.850>communication <00:14:42.025>with <00:14:42.200>the <00:14:42.375>rest <00:14:42.550>of <00:14:42.725>the <00:14:42.900>application

300
00:14:44.200 --> 00:14:47.500
<00:14:44.200>very <00:14:44.340>easily. <00:14:44.480>So <00:14:44.620>it <00:14:44.760>could <00:14:44.900>be <00:14:45.040>that <00:14:45.180>this <00:14:45.320>Standalone <00:14:45.460>Legacy <00:14:45.600>editor.

301
00:14:47.500 --> 00:14:51.900
<00:14:47.500>It <00:14:47.640>could <00:14:47.780>communicate <00:14:47.920>in <00:14:48.060>the <00:14:48.200>same <00:14:48.340>view <00:14:48.480>with <00:14:48.620>other <00:14:48.760>part <00:14:48.900>of

302
00:14:51.900 --> 00:14:54.500
<00:14:51.900>the <00:14:52.040>system. <00:14:52.180>There <00:14:52.319>is <00:14:52.459>no <00:14:52.600>problem <00:14:52.740>because <00:14:52.880>now <00:14:53.020>you <00:14:53.160>have <00:14:53.300>an

303
00:14:54.500 --> 00:14:56.200
<00:14:54.500>anti-corruption <00:14:54.780>layer <00:14:55.060>that <00:14:55.340>is <00:14:55.620>wrapping <00:14:55.900>that

304
00:14:57.300 --> 00:15:00.400
<00:14:57.300>Is <00:14:57.455>great <00:14:57.611>because <00:14:57.766>he's <00:14:57.922>the <00:14:58.077>line <00:14:58.233>in <00:14:58.388>your <00:14:58.544>architectural <00:14:58.699>decision

305
00:15:00.400 --> 00:15:04.000
<00:15:00.400>this <00:15:00.574>pattern. <00:15:00.750>So <00:15:00.925>it <00:15:01.100>allows <00:15:01.275>you <00:15:01.449>to <00:15:01.625>avoid <00:15:01.800>to

306
00:15:03.500 --> 00:15:06.500
<00:15:03.500>write <00:15:03.675>code <00:15:03.850>that <00:15:04.025>would <00:15:04.200>be <00:15:04.375>thrown <00:15:04.550>away <00:15:04.725>in <00:15:04.900>few

307
00:15:06.500 --> 00:15:09.400
<00:15:06.500>months <00:15:06.655>time <00:15:06.811>or <00:15:06.966>a <00:15:07.122>few <00:15:07.277>weeks <00:15:07.433>time. <00:15:07.588>And <00:15:07.744>in <00:15:07.900>this

308
00:15:09.400 --> 00:15:13.500
<00:15:09.400>way <00:15:09.574>you <00:15:09.750>will <00:15:09.925>be <00:15:10.100>able <00:15:10.275>to <00:15:10.449>maintain <00:15:10.625>your <00:15:10.800>your

309
00:15:12.500 --> 00:15:14.200
<00:15:12.500>code <00:15:13.900>properly.

310
00:15:15.600 --> 00:15:18.400
<00:15:15.600>And <00:15:15.775>also <00:15:15.950>is <00:15:16.125>ready <00:15:16.300>for <00:15:16.475>the <00:15:16.650>future <00:15:16.825>the <00:15:17.000>moment

311
00:15:18.400 --> 00:15:21.400
<00:15:18.400>that <00:15:18.574>you <00:15:18.750>will <00:15:18.925>finalize <00:15:19.100>the <00:15:19.275>development <00:15:19.449>of <00:15:19.625>the <00:15:19.800>new

312
00:15:21.400 --> 00:15:22.400
<00:15:21.400>Legacy <00:15:22.300>editor.

313
00:15:23.100 --> 00:15:26.700
<00:15:23.100>You <00:15:23.255>can <00:15:23.411>easily <00:15:23.566>swap <00:15:23.722>it <00:15:23.877>as <00:15:24.033>long <00:15:24.188>the <00:15:24.344>contract <00:15:24.500>between

314
00:15:26.700 --> 00:15:29.600
<00:15:26.700>the <00:15:27.050>microphone <00:15:27.400>hand <00:15:27.750>that <00:15:28.100>contains

315
00:15:29.600 --> 00:15:32.100
<00:15:29.600>the <00:15:29.775>iframe <00:15:29.950>and <00:15:30.125>the <00:15:30.300>application <00:15:30.475>shall <00:15:30.650>remain <00:15:30.825>the <00:15:31.000>same

316
00:15:32.100 --> 00:15:35.200
<00:15:32.100>easy <00:15:32.450>to <00:15:32.800>to <00:15:33.150>swap <00:15:33.500>it.

317
00:15:36.800 --> 00:15:41.000
<00:15:36.800>So <00:15:36.939>when <00:15:37.079>you <00:15:37.219>are <00:15:37.359>in <00:15:37.500>this <00:15:37.640>kind <00:15:37.780>of <00:15:37.920>situation <00:15:38.060>spare <00:15:38.199>the

318
00:15:40.300 --> 00:15:43.200
<00:15:40.300>application <00:15:40.533>Shell <00:15:40.766>Code <00:15:41.000>base <00:15:41.233>and <00:15:41.466>trying <00:15:41.699>to

319
00:15:43.200 --> 00:15:46.400
<00:15:43.200>use <00:15:43.400>this <00:15:43.600>kind <00:15:43.800>of <00:15:44.000>solution <00:15:44.200>for <00:15:44.400>let's <00:15:44.600>say

320
00:15:46.400 --> 00:15:49.400
<00:15:46.400>shielding <00:15:46.750>the <00:15:47.100>code <00:15:47.449>in <00:15:47.800>a

321
00:15:49.400 --> 00:15:51.700
<00:15:49.400>way <00:15:49.540>that <00:15:49.680>will <00:15:49.819>allow <00:15:49.959>you <00:15:50.100>to <00:15:50.240>be <00:15:50.380>ready <00:15:50.520>for <00:15:50.660>the <00:15:50.800>future.

322
00:15:54.400 --> 00:15:56.700
<00:15:54.400>Or <00:15:54.680>this <00:15:54.959>one <00:15:55.240>is <00:15:55.520>fun <00:15:55.800>dependencies.

323
00:15:57.800 --> 00:15:59.900
<00:15:57.800>I <00:15:58.000>know <00:15:58.199>that <00:15:58.400>everyone <00:15:58.599>loves <00:15:58.800>dependencies <00:15:59.000>in <00:15:59.199>JavaScript.

324
00:16:01.300 --> 00:16:05.500
<00:16:01.300>So <00:16:01.416>my <00:16:01.533>question <00:16:01.650>is <00:16:01.766>do <00:16:01.883>you <00:16:02.000>really <00:16:02.116>need <00:16:02.233>that <00:16:02.349>external <00:16:02.466>dependency? <00:16:02.583>Let's <00:16:02.699>try

325
00:16:05.500 --> 00:16:06.400
<00:16:05.500>to <00:16:05.770>play <00:16:06.040>this <00:16:06.310>scenario.

326
00:16:07.500 --> 00:16:11.000
<00:16:07.500>So <00:16:07.675>I <00:16:07.850>worked <00:16:08.025>in <00:16:08.200>quite <00:16:08.375>a <00:16:08.550>few <00:16:08.725>companies <00:16:08.900>in

327
00:16:10.100 --> 00:16:12.100
<00:16:10.100>the <00:16:10.566>last <00:16:11.033>few <00:16:11.500>years.

328
00:16:13.300 --> 00:16:16.900
<00:16:13.300>And <00:16:13.533>there <00:16:13.766>are <00:16:14.000>some <00:16:14.233>scenarios <00:16:14.466>that <00:16:14.699>I

329
00:16:16.900 --> 00:16:19.600
<00:16:16.900>remember <00:16:17.366>unfortunately <00:16:17.833>regret <00:16:18.300>certain

330
00:16:19.600 --> 00:16:22.400
<00:16:19.600>decisions. <00:16:19.755>But <00:16:19.911>you <00:16:20.066>know, <00:16:20.222>so <00:16:20.377>part <00:16:20.533>of <00:16:20.688>the <00:16:20.844>the <00:16:21.000>journey

331
00:16:22.400 --> 00:16:25.100
<00:16:22.400>that <00:16:22.600>we <00:16:22.800>are <00:16:23.000>and <00:16:23.199>this <00:16:23.400>is <00:16:23.600>one <00:16:23.800>of

332
00:16:25.100 --> 00:16:28.500
<00:16:25.100>them <00:16:25.300>and <00:16:25.500>with <00:16:25.700>the <00:16:25.900>disability <00:16:26.100>systems, <00:16:26.300>it <00:16:26.500>can

333
00:16:28.500 --> 00:16:31.300
<00:16:28.500>be <00:16:28.780>extremely <00:16:29.060>tedious <00:16:29.340>imagine <00:16:29.620>that <00:16:29.900>you

334
00:16:31.300 --> 00:16:34.400
<00:16:31.300>have <00:16:31.455>multiple <00:16:31.611>microphone <00:16:31.766>tense <00:16:31.922>and <00:16:32.077>at <00:16:32.233>some <00:16:32.388>point <00:16:32.544>you <00:16:32.699>realize

335
00:16:34.400 --> 00:16:37.400
<00:16:34.400>I <00:16:34.555>have <00:16:34.711>a <00:16:34.866>lot <00:16:35.022>of <00:16:35.177>code <00:16:35.333>to <00:16:35.488>share <00:16:35.644>between <00:16:35.800>my

336
00:16:37.400 --> 00:16:40.000
<00:16:37.400>microphone <00:16:37.600>dance, <00:16:37.800>so <00:16:38.000>I <00:16:38.199>create <00:16:38.400>a <00:16:38.600>core <00:16:38.800>Library.

337
00:16:40.700 --> 00:16:41.900
<00:16:40.700>and <00:16:40.970>the <00:16:41.240>core <00:16:41.510>Library <00:16:41.780>team

338
00:16:42.900 --> 00:16:45.200
<00:16:42.900>Okay, <00:16:43.074>so <00:16:43.250>let's <00:16:43.425>play <00:16:43.600>this <00:16:43.775>scenario <00:16:43.949>with <00:16:44.125>the <00:16:44.300>core

339
00:16:45.200 --> 00:16:48.900
<00:16:45.200>Library <00:16:45.327>team. <00:16:45.454>So <00:16:45.581>the <00:16:45.709>core <00:16:45.836>Library <00:16:45.963>first <00:16:46.090>thing <00:16:46.218>that <00:16:46.345>happens <00:16:46.472>first <00:16:46.600>release

340
00:16:48.900 --> 00:16:52.000
<00:16:48.900>1.1.0. <00:16:49.250>Is <00:16:49.600>there <00:16:49.949>every <00:16:50.300>microphone

341
00:16:51.200 --> 00:16:53.000
<00:16:51.200>then <00:16:51.550>start <00:16:51.900>to <00:16:52.250>prevent <00:16:52.600>that?

342
00:16:55.300 --> 00:16:56.100
unfortunately

343
00:16:57.600 --> 00:17:00.200
<00:16:57.600>at <00:16:57.800>some <00:16:58.000>point <00:16:58.200>we <00:16:58.400>need <00:16:58.600>to <00:16:58.800>release <00:16:59.000>1.2.0.

344
00:17:00.800 --> 00:17:03.400
<00:17:00.800>It's <00:17:01.033>a <00:17:01.266>minor <00:17:01.500>change. <00:17:01.733>So <00:17:01.966>now <00:17:02.199>I

345
00:17:03.400 --> 00:17:06.700
<00:17:03.400>keep <00:17:03.574>breaking <00:17:03.750>contractor <00:17:03.925>in <00:17:04.099>API <00:17:04.275>if <00:17:04.450>we <00:17:04.625>use <00:17:04.800>sampler

346
00:17:06.700 --> 00:17:09.400
<00:17:06.700>properly <00:17:06.933>should <00:17:07.166>be <00:17:07.400>fine. <00:17:07.633>But <00:17:07.866>the <00:17:08.100>first

347
00:17:09.400 --> 00:17:12.400
<00:17:09.400>question <00:17:09.507>I <00:17:09.615>have <00:17:09.723>for <00:17:09.830>you <00:17:09.938>as <00:17:10.046>you <00:17:10.153>can <00:17:10.261>see <00:17:10.369>here. <00:17:10.476>You <00:17:10.584>have <00:17:10.692>an <00:17:10.800>external

348
00:17:12.400 --> 00:17:16.300
<00:17:12.400>dependency <00:17:12.540>and <00:17:12.680>we <00:17:12.820>want <00:17:12.960>the <00:17:13.100>team <00:17:13.240>to <00:17:13.380>work <00:17:13.520>independently. <00:17:13.660>Therefore <00:17:13.800>you

349
00:17:15.300 --> 00:17:19.000
<00:17:15.300>need <00:17:15.500>to <00:17:15.700>be <00:17:15.899>comfortable <00:17:16.099>to <00:17:16.300>have <00:17:16.500>a <00:17:16.700>team

350
00:17:18.300 --> 00:17:21.300
<00:17:18.300>that <00:17:18.474>is <00:17:18.649>implementing <00:17:18.825>the <00:17:19.000>new <00:17:19.175>version <00:17:19.349>and <00:17:19.524>others <00:17:19.700>that

351
00:17:21.300 --> 00:17:23.900
<00:17:21.300>they're <00:17:21.455>not <00:17:21.611>maybe <00:17:21.766>if <00:17:21.922>it's <00:17:22.077>a <00:17:22.233>minor <00:17:22.388>or <00:17:22.544>box <00:17:22.700>fix.

352
00:17:24.500 --> 00:17:27.100
<00:17:24.500>Can <00:17:24.655>be <00:17:24.811>okay, <00:17:24.966>but <00:17:25.122>maybe <00:17:25.277>if <00:17:25.433>it's <00:17:25.588>a <00:17:25.744>measure <00:17:25.900>it's

353
00:17:27.100 --> 00:17:27.300
not.

354
00:17:29.300 --> 00:17:32.400
<00:17:29.300>The <00:17:29.455>other <00:17:29.611>problem <00:17:29.766>I <00:17:29.922>have <00:17:30.077>seen <00:17:30.233>though <00:17:30.388>is <00:17:30.544>when <00:17:30.700>you

355
00:17:32.400 --> 00:17:35.100
<00:17:32.400>don't <00:17:32.600>invest <00:17:32.800>much <00:17:33.000>time <00:17:33.200>on <00:17:33.400>the <00:17:33.600>governor's <00:17:33.800>part

356
00:17:35.100 --> 00:17:38.500
<00:17:35.100>of <00:17:35.333>your <00:17:35.566>external <00:17:35.800>dependencies <00:17:36.033>and <00:17:36.266>the <00:17:36.500>ACI

357
00:17:38.500 --> 00:17:41.300
<00:17:38.500>CDL <00:17:38.733>the <00:17:38.966>automation <00:17:39.200>part <00:17:39.433>usually <00:17:39.666>tends <00:17:39.900>to

358
00:17:41.300 --> 00:17:44.900
<00:17:41.300>appear <00:17:41.427>here <00:17:41.554>and <00:17:41.681>there <00:17:41.809>inside <00:17:41.936>the <00:17:42.063>organization <00:17:42.190>because <00:17:42.318>we <00:17:42.445>are <00:17:42.572>independent <00:17:42.700>the

359
00:17:44.900 --> 00:17:48.000
<00:17:44.900>core <00:17:45.180>Library <00:17:45.460>extended <00:17:45.740>or <00:17:46.020>let's <00:17:46.300>say

360
00:17:48.800 --> 00:17:51.400
<00:17:48.800>taking <00:17:48.955>the <00:17:49.111>core <00:17:49.266>library <00:17:49.422>that <00:17:49.577>does <00:17:49.733>90% <00:17:49.888>of <00:17:50.044>what <00:17:50.200>they

361
00:17:51.400 --> 00:17:54.200
<00:17:51.400>need, <00:17:51.555>but <00:17:51.711>not <00:17:51.866>the <00:17:52.022>20% <00:17:52.177>that <00:17:52.333>they <00:17:52.488>really <00:17:52.644>need <00:17:52.800>now,

362
00:17:54.200 --> 00:17:57.000
<00:17:54.200>so <00:17:54.375>I <00:17:54.550>cannot <00:17:54.725>wait <00:17:54.900>for <00:17:55.075>for <00:17:55.250>the <00:17:55.425>core <00:17:55.600>team

363
00:17:57.200 --> 00:17:58.700
<00:17:57.200>because <00:17:57.425>it's <00:17:57.650>one <00:17:57.875>with <00:17:58.100>work <00:17:58.325>to <00:17:58.550>do.

364
00:17:59.600 --> 00:18:02.100
<00:17:59.600>What <00:17:59.755>can <00:17:59.911>I <00:18:00.066>do <00:18:00.222>I <00:18:00.377>create <00:18:00.533>my <00:18:00.688>code? <00:18:00.844>What's <00:18:01.000>the

365
00:18:02.100 --> 00:18:02.200
problem?

366
00:18:03.100 --> 00:18:06.300
<00:18:03.100>So <00:18:03.255>now <00:18:03.411>we <00:18:03.566>have <00:18:03.722>core <00:18:03.877>library <00:18:04.033>1.1.0. <00:18:04.188>That <00:18:04.344>is <00:18:04.500>released

367
00:18:06.300 --> 00:18:09.500
<00:18:06.300>microphone <00:18:06.455>dancing <00:18:06.611>and <00:18:06.766>C <00:18:06.922>are <00:18:07.077>using <00:18:07.233>them. <00:18:07.388>No <00:18:07.544>problem <00:18:07.700>at

368
00:18:09.500 --> 00:18:09.700
all.

369
00:18:10.800 --> 00:18:13.600
<00:18:10.800>And <00:18:11.000>and <00:18:11.200>also <00:18:11.399>for <00:18:11.600>the <00:18:11.800>core <00:18:12.000>Library <00:18:12.200>extended

370
00:18:13.600 --> 00:18:16.400
<00:18:13.600>first <00:18:13.833>version <00:18:14.066>is <00:18:14.300>using <00:18:14.533>1.1.0 <00:18:14.766>old <00:18:15.000>grade.

371
00:18:18.200 --> 00:18:22.400
<00:18:18.200>But <00:18:18.375>what <00:18:18.550>happens <00:18:18.725>if <00:18:18.900>we <00:18:19.075>have <00:18:19.250>version <00:18:19.425>2.1.0. <00:18:19.600>So

372
00:18:21.400 --> 00:18:23.900
<00:18:21.400>now <00:18:21.575>we <00:18:21.750>have <00:18:21.925>a <00:18:22.100>breaking <00:18:22.275>change <00:18:22.450>on <00:18:22.625>API, <00:18:22.800>right?

373
00:18:24.800 --> 00:18:24.900
So

374
00:18:26.600 --> 00:18:29.300
<00:18:26.600>the <00:18:26.879>other <00:18:27.159>microphone <00:18:27.439>tense <00:18:27.719>might <00:18:28.000>or

375
00:18:29.300 --> 00:18:30.700
<00:18:29.300>not <00:18:29.552>to <00:18:29.804>upgrade <00:18:30.056>immediately <00:18:30.308>to <00:18:30.560>that.

376
00:18:32.100 --> 00:18:34.100
<00:18:32.100>But <00:18:32.379>what <00:18:32.659>happens <00:18:32.939>the <00:18:33.219>collaborax <00:18:33.500>stranded?

377
00:18:34.900 --> 00:18:37.400
<00:18:34.900>Unfortunately <00:18:35.133>my <00:18:35.366>experience <00:18:35.600>there <00:18:35.833>is <00:18:36.066>always <00:18:36.300>a

378
00:18:37.400 --> 00:18:41.000
<00:18:37.400>delay <00:18:37.600>that <00:18:37.800>especially <00:18:38.000>when <00:18:38.200>you <00:18:38.400>don't <00:18:38.600>use <00:18:38.800>composition

379
00:18:40.300 --> 00:18:43.600
<00:18:40.300>and <00:18:40.455>you <00:18:40.611>use <00:18:40.766>a <00:18:40.922>lot <00:18:41.077>of <00:18:41.233>inheritance. <00:18:41.388>So <00:18:41.544>you <00:18:41.700>rely

380
00:18:43.600 --> 00:18:46.500
<00:18:43.600>deeply <00:18:43.740>on <00:18:43.879>the <00:18:44.020>functionality <00:18:44.159>of <00:18:44.300>the <00:18:44.439>core <00:18:44.580>library <00:18:44.719>and <00:18:44.860>API <00:18:45.000>of

381
00:18:46.500 --> 00:18:50.000
<00:18:46.500>the <00:18:46.655>core <00:18:46.811>library. <00:18:46.966>And <00:18:47.122>in <00:18:47.277>reality <00:18:47.433>that <00:18:47.588>is <00:18:47.744>basically <00:18:47.900>an

382
00:18:49.000 --> 00:18:50.200
issue.

383
00:18:52.200 --> 00:18:55.900
<00:18:52.200>It's <00:18:52.375>one <00:18:52.550>Library <00:18:52.725>fine. <00:18:52.900>We <00:18:53.075>will <00:18:53.250>survive <00:18:53.425>what <00:18:53.600>if

384
00:18:55.900 --> 00:18:56.100
<00:18:55.900>we <00:18:56.080>have

385
00:18:57.500 --> 00:18:58.900
<00:18:57.500>Tense, <00:18:57.710>and <00:18:57.920>we <00:18:58.130>have <00:18:58.340>very <00:18:58.550>large <00:18:58.760>organization.

386
00:18:59.900 --> 00:19:02.300
<00:18:59.900>So <00:19:00.250>that <00:19:00.600>scale <00:19:00.950>very <00:19:01.300>quickly.

387
00:19:02.300 --> 00:19:05.300
<00:19:02.300>And <00:19:02.533>therefore <00:19:02.766>you <00:19:03.000>need <00:19:03.233>to <00:19:03.466>be <00:19:03.700>careful

388
00:19:05.300 --> 00:19:08.500
<00:19:05.300>when <00:19:05.427>you <00:19:05.554>decide <00:19:05.681>to <00:19:05.809>go <00:19:05.936>with <00:19:06.063>to <00:19:06.190>work <00:19:06.318>with <00:19:06.445>multiple <00:19:06.572>libraries <00:19:06.700>now.

389
00:19:10.300 --> 00:19:13.500
<00:19:10.300>It's <00:19:10.440>obvious <00:19:10.580>that <00:19:10.720>may <00:19:10.860>distributed <00:19:11.000>system. <00:19:11.139>You <00:19:11.280>need <00:19:11.419>to <00:19:11.560>create <00:19:11.700>certain

390
00:19:13.500 --> 00:19:16.300
<00:19:13.500>consistency <00:19:13.850>if <00:19:14.200>for <00:19:14.550>microservices <00:19:14.900>you

391
00:19:16.300 --> 00:19:19.100
<00:19:16.300>want <00:19:16.475>to <00:19:16.649>use <00:19:16.825>logs <00:19:17.000>and <00:19:17.175>I <00:19:17.350>don't <00:19:17.524>observability <00:19:17.700>for

392
00:19:19.100 --> 00:19:23.200
<00:19:19.100>instance <00:19:19.240>in <00:19:19.379>general <00:19:19.520>for <00:19:19.659>microphone <00:19:19.800>density <00:19:19.939>want <00:19:20.080>to <00:19:20.219>use <00:19:20.360>the <00:19:20.500>science

393
00:19:22.200 --> 00:19:26.000
<00:19:22.200>system. <00:19:22.375>You <00:19:22.550>want <00:19:22.725>to <00:19:22.900>use <00:19:23.075>maybe <00:19:23.250>some <00:19:23.425>specific <00:19:23.600>things

394
00:19:25.200 --> 00:19:28.400
<00:19:25.200>that <00:19:25.480>are <00:19:25.760>shared <00:19:26.040>across <00:19:26.320>micronets <00:19:26.600>and

395
00:19:28.400 --> 00:19:31.900
<00:19:28.400>that's <00:19:28.575>fine. <00:19:28.750>But <00:19:28.925>always <00:19:29.100>try <00:19:29.275>to <00:19:29.450>think <00:19:29.625>this <00:19:29.800>problem

396
00:19:31.900 --> 00:19:35.300
<00:19:31.900>and <00:19:32.180>trying <00:19:32.460>to <00:19:32.740>choose <00:19:33.020>composition <00:19:33.300>over

397
00:19:34.300 --> 00:19:39.300
<00:19:34.300>inheritance. <00:19:34.500>It's <00:19:34.700>an <00:19:34.899>old <00:19:35.100>let's <00:19:35.300>say <00:19:35.500>suggestion, <00:19:35.700>but

398
00:19:38.300 --> 00:19:41.300
<00:19:38.300>bear <00:19:38.580>in <00:19:38.860>mind <00:19:39.139>when <00:19:39.419>you <00:19:39.700>are

399
00:19:41.300 --> 00:19:44.200
<00:19:41.300>in <00:19:41.500>disability <00:19:41.700>system <00:19:41.899>and <00:19:42.100>independent <00:19:42.300>teams, <00:19:42.500>you <00:19:42.700>are

400
00:19:44.200 --> 00:19:47.400
<00:19:44.200>externalized <00:19:44.433>some <00:19:44.666>code <00:19:44.900>the <00:19:45.133>risk <00:19:45.366>of <00:19:45.600>a

401
00:19:47.400 --> 00:19:50.300
<00:19:47.400>bubbling <00:19:47.575>here <00:19:47.750>and <00:19:47.925>they <00:19:48.100>are <00:19:48.275>new <00:19:48.450>libraries <00:19:48.625>shared <00:19:48.800>across

402
00:19:50.300 --> 00:19:53.100
<00:19:50.300>two <00:19:50.440>micro <00:19:50.580>front <00:19:50.720>ends <00:19:50.860>and <00:19:51.000>not <00:19:51.139>the <00:19:51.280>others <00:19:51.419>and <00:19:51.560>maybe <00:19:51.700>not

403
00:19:53.100 --> 00:19:55.500
<00:19:53.100>even <00:19:53.333>aware <00:19:53.566>of <00:19:53.800>that <00:19:54.033>is <00:19:54.266>a <00:19:54.500>problem.

404
00:19:56.300 --> 00:19:59.400
<00:19:56.300>Especially <00:19:56.455>because <00:19:56.611>it's <00:19:56.766>going <00:19:56.922>to <00:19:57.077>bite <00:19:57.233>you <00:19:57.388>in <00:19:57.544>six <00:19:57.700>months

405
00:19:59.400 --> 00:20:00.700
<00:19:59.400>one <00:19:59.692>year <00:19:59.985>two <00:20:00.277>years, <00:20:00.570>whatever.

406
00:20:02.400 --> 00:20:05.400
<00:20:02.400>Oh, <00:20:02.516>the <00:20:02.633>next <00:20:02.750>one <00:20:02.866>is <00:20:02.983>fun <00:20:03.100>a <00:20:03.216>return <00:20:03.333>ticket, <00:20:03.450>please <00:20:03.566>that <00:20:03.683>is <00:20:03.800>something

407
00:20:05.400 --> 00:20:08.400
<00:20:05.400>that <00:20:05.600>Micron <00:20:05.800>times <00:20:06.000>introduce <00:20:06.200>as <00:20:06.400>a <00:20:06.600>very <00:20:06.800>easily

408
00:20:08.400 --> 00:20:10.500
<00:20:08.400>in <00:20:09.100>our <00:20:09.800>decision.

409
00:20:12.100 --> 00:20:15.400
<00:20:12.100>So, <00:20:12.300>let's <00:20:12.500>assume. <00:20:12.699>Oh, <00:20:12.899>yes, <00:20:13.100>the <00:20:13.300>what <00:20:13.500>we

410
00:20:15.400 --> 00:20:18.200
<00:20:15.400>are <00:20:15.540>going <00:20:15.680>to <00:20:15.820>talk <00:20:15.960>about <00:20:16.100>is <00:20:16.240>unidirectional <00:20:16.380>data <00:20:16.520>flow. <00:20:16.660>So <00:20:16.800>let's

411
00:20:18.200 --> 00:20:19.800
<00:20:18.200>assume <00:20:18.480>that <00:20:18.760>you <00:20:19.040>have <00:20:19.320>this <00:20:19.600>situation.

412
00:20:20.700 --> 00:20:23.200
<00:20:20.700>Maybe <00:20:20.855>for <00:20:21.011>me <00:20:21.166>I <00:20:21.322>will <00:20:21.477>Modge <00:20:21.633>Federation <00:20:21.788>you <00:20:21.944>recognize <00:20:22.100>the

413
00:20:23.200 --> 00:20:26.500
<00:20:23.200>the <00:20:23.433>name <00:20:23.666>if <00:20:23.900>you're <00:20:24.133>not <00:20:24.366>let's <00:20:24.600>assume

414
00:20:26.500 --> 00:20:29.300
<00:20:26.500>that <00:20:26.616>we <00:20:26.733>have <00:20:26.850>a <00:20:26.966>house <00:20:27.083>or <00:20:27.200>a <00:20:27.316>container <00:20:27.433>and <00:20:27.550>you <00:20:27.666>have <00:20:27.783>the <00:20:27.900>remote

415
00:20:29.300 --> 00:20:30.200
<00:20:29.300>or <00:20:29.570>a <00:20:29.840>microphone <00:20:30.110>10.

416
00:20:31.300 --> 00:20:34.400
<00:20:31.300>So <00:20:31.533>in <00:20:31.766>this <00:20:32.000>case, <00:20:32.233>usually <00:20:32.466>a <00:20:32.700>microphone

417
00:20:34.400 --> 00:20:37.900
<00:20:34.400>done <00:20:34.575>is <00:20:34.750>loaded <00:20:34.925>inside <00:20:35.100>the <00:20:35.275>application <00:20:35.450>shell <00:20:35.625>great <00:20:35.800>inside

418
00:20:37.900 --> 00:20:40.700
<00:20:37.900>the <00:20:38.133>Austin <00:20:38.366>this <00:20:38.600>case <00:20:38.833>but <00:20:39.066>with <00:20:39.300>in

419
00:20:40.700 --> 00:20:43.800
<00:20:40.700>if <00:20:40.933>we <00:20:41.166>develop <00:20:41.400>our <00:20:41.633>own <00:20:41.866>microphone <00:20:42.100>tense

420
00:20:43.800 --> 00:20:46.100
<00:20:43.800>application, <00:20:44.080>let's <00:20:44.360>say <00:20:44.639>application <00:20:44.919>in <00:20:45.200>terms

421
00:20:46.100 --> 00:20:49.000
<00:20:46.100>of <00:20:46.255>framework <00:20:46.411>or <00:20:46.566>you're <00:20:46.722>using <00:20:46.877>certain <00:20:47.033>Frameworks <00:20:47.188>that <00:20:47.344>are <00:20:47.500>already

422
00:20:49.300 --> 00:20:52.800
<00:20:49.300>available. <00:20:49.533>You <00:20:49.766>can <00:20:50.000>have <00:20:50.233>a <00:20:50.466>bi-directional <00:20:50.700>sharing.

423
00:20:53.700 --> 00:20:56.300
<00:20:53.700>So <00:20:53.816>now <00:20:53.933>is <00:20:54.050>a <00:20:54.166>microphone <00:20:54.283>10 <00:20:54.400>thing <00:20:54.516>that <00:20:54.633>you <00:20:54.750>have <00:20:54.866>10 <00:20:54.983>of <00:20:55.100>them

424
00:20:56.300 --> 00:21:00.300
<00:20:56.300>hundreds <00:20:56.475>of <00:20:56.649>them <00:20:56.825>and <00:20:57.000>you're <00:20:57.175>sharing <00:20:57.350>from <00:20:57.524>the <00:20:57.700>host

425
00:20:59.300 --> 00:21:02.400
<00:20:59.300>to <00:20:59.533>the <00:20:59.766>rest <00:21:00.000>of <00:21:00.233>the <00:21:00.466>microphone <00:21:00.700>dance.

426
00:21:02.400 --> 00:21:05.200
<00:21:02.400>What's <00:21:02.555>going <00:21:02.711>to <00:21:02.866>happen? <00:21:03.022>If <00:21:03.177>we <00:21:03.333>change <00:21:03.488>the <00:21:03.644>host? <00:21:03.800>For

427
00:21:05.200 --> 00:21:08.900
<00:21:05.200>instance <00:21:05.375>unless <00:21:05.550>you <00:21:05.725>have <00:21:05.900>a <00:21:06.075>very <00:21:06.250>strong <00:21:06.425>testing <00:21:06.600>strategy

428
00:21:08.900 --> 00:21:12.000
<00:21:08.900>and <00:21:09.075>a <00:21:09.250>very <00:21:09.425>solid <00:21:09.600>way <00:21:09.775>to <00:21:09.950>handle <00:21:10.125>these <00:21:10.300>it

429
00:21:11.100 --> 00:21:13.600
<00:21:11.100>might <00:21:11.333>be <00:21:11.566>a <00:21:11.800>car <00:21:12.033>crash <00:21:12.266>very <00:21:12.500>quickly.

430
00:21:14.700 --> 00:21:17.100
<00:21:14.700>Let's <00:21:14.840>go <00:21:14.980>back <00:21:15.120>to <00:21:15.260>the <00:21:15.400>history. <00:21:15.540>Let's <00:21:15.680>see <00:21:15.820>what <00:21:15.960>we <00:21:16.100>have

431
00:21:17.100 --> 00:21:17.900
<00:21:17.100>learned <00:21:17.460>with <00:21:17.820>that.

432
00:21:20.300 --> 00:21:22.200
<00:21:20.300>How <00:21:20.533>many <00:21:20.766>of <00:21:21.000>you <00:21:21.233>heard <00:21:21.466>about <00:21:21.700>flux?

433
00:21:24.100 --> 00:21:27.900
<00:21:24.100>Okay, <00:21:24.255>a <00:21:24.411>few <00:21:24.566>of <00:21:24.722>you <00:21:24.877>so <00:21:25.033>flux <00:21:25.188>is <00:21:25.344>a <00:21:25.500>probably

434
00:21:27.900 --> 00:21:30.500
<00:21:27.900>one <00:21:28.100>of <00:21:28.300>the <00:21:28.500>first <00:21:28.700>state <00:21:28.900>management <00:21:29.100>libraries <00:21:29.300>that

435
00:21:30.500 --> 00:21:33.200
<00:21:30.500>were <00:21:30.780>out <00:21:31.060>from <00:21:31.340>Facebook <00:21:31.620>back <00:21:31.900>in

436
00:21:33.200 --> 00:21:36.600
<00:21:33.200>2014. <00:21:33.480>I <00:21:33.760>remember <00:21:34.040>well <00:21:34.320>today <00:21:34.600>the

437
00:21:36.600 --> 00:21:36.700
year.

438
00:21:37.700 --> 00:21:38.400
<00:21:37.700>and <00:21:38.330>and

439
00:21:39.100 --> 00:21:42.400
<00:21:39.100>the <00:21:39.255>groundbreaking <00:21:39.411>thing <00:21:39.566>that <00:21:39.722>was <00:21:39.877>was <00:21:40.033>leveraging <00:21:40.188>is <00:21:40.344>the <00:21:40.500>idea

440
00:21:42.400 --> 00:21:46.100
<00:21:42.400>of <00:21:42.600>unity <00:21:42.800>directional <00:21:43.000>dataflow. <00:21:43.200>So <00:21:43.400>they <00:21:43.600>event <00:21:43.800>was

441
00:21:46.100 --> 00:21:49.900
<00:21:46.100>going <00:21:46.255>from <00:21:46.411>one <00:21:46.566>point <00:21:46.722>to <00:21:46.877>another <00:21:47.033>one <00:21:47.188>every <00:21:47.344>single <00:21:47.500>entity

442
00:21:49.900 --> 00:21:52.500
<00:21:49.900>inside. <00:21:50.250>This <00:21:50.600>library <00:21:50.950>has <00:21:51.300>a

443
00:21:52.500 --> 00:21:55.500
<00:21:52.500>specific <00:21:52.733>thing <00:21:52.966>to <00:21:53.200>do <00:21:53.433>the <00:21:53.666>store <00:21:53.900>The

444
00:21:55.500 --> 00:21:57.300
<00:21:55.500>View <00:21:55.850>Etc <00:21:56.200>and <00:21:56.550>it <00:21:56.900>was

445
00:21:57.600 --> 00:22:00.600
<00:21:57.600>Quite <00:21:57.774>clear <00:21:57.949>to <00:21:58.125>develop <00:21:58.300>that <00:21:58.475>and <00:21:58.649>from <00:21:58.824>there <00:21:59.000>everyone

446
00:22:00.600 --> 00:22:02.100
<00:22:00.600>leveraged <00:22:01.274>this <00:22:01.949>pattern.

447
00:22:02.700 --> 00:22:05.800
<00:22:02.700>Everyone <00:22:02.900>not <00:22:03.100>only <00:22:03.300>in <00:22:03.500>the <00:22:03.700>web <00:22:03.900>Community <00:22:04.100>but

448
00:22:05.800 --> 00:22:08.300
<00:22:05.800>also <00:22:06.000>in <00:22:06.200>the <00:22:06.399>for <00:22:06.600>instance <00:22:06.800>also <00:22:07.000>the <00:22:07.200>native

449
00:22:08.300 --> 00:22:11.400
<00:22:08.300>Community. <00:22:08.500>This <00:22:08.700>is <00:22:08.899>mvi. <00:22:09.100>It's <00:22:09.300>model <00:22:09.500>view <00:22:09.700>intent

450
00:22:11.400 --> 00:22:14.300
<00:22:11.400>is <00:22:11.750>another <00:22:12.100>unidirectional <00:22:12.450>data <00:22:12.800>flow

451
00:22:14.300 --> 00:22:17.200
<00:22:14.300>architecture <00:22:14.475>that <00:22:14.649>is <00:22:14.825>used <00:22:15.000>in <00:22:15.175>Android <00:22:15.350>is <00:22:15.524>also <00:22:15.700>available

452
00:22:17.200 --> 00:22:20.500
<00:22:17.200>in <00:22:17.355>JavaScript. <00:22:17.511>If <00:22:17.666>you're <00:22:17.822>familiar <00:22:17.977>with <00:22:18.133>psycho <00:22:18.288>JS, <00:22:18.444>I <00:22:18.600>I

453
00:22:20.500 --> 00:22:23.600
<00:22:20.500>work <00:22:20.655>with <00:22:20.811>that <00:22:20.966>for <00:22:21.122>a <00:22:21.277>while <00:22:21.433>and <00:22:21.588>these <00:22:21.744>quite <00:22:21.900>interesting

454
00:22:23.600 --> 00:22:26.500
<00:22:23.600>approach <00:22:23.949>fully <00:22:24.300>reactive. <00:22:24.649>Very <00:22:25.000>nice.

455
00:22:28.400 --> 00:22:31.100
<00:22:28.400>So <00:22:28.516>what <00:22:28.633>we <00:22:28.750>have <00:22:28.866>learned <00:22:28.983>with <00:22:29.100>you <00:22:29.216>in <00:22:29.333>directional <00:22:29.450>dataflow <00:22:29.566>that <00:22:29.683>is <00:22:29.800>easy

456
00:22:31.100 --> 00:22:33.600
<00:22:31.100>to <00:22:31.300>debug <00:22:31.500>and <00:22:31.699>the <00:22:31.899>last <00:22:32.100>prone <00:22:32.300>to <00:22:32.500>errors.

457
00:22:34.100 --> 00:22:35.700
<00:22:34.100>That <00:22:34.449>sounds <00:22:34.800>great. <00:22:35.149>Right <00:22:35.500>so

458
00:22:36.700 --> 00:22:40.500
<00:22:36.700>We <00:22:36.875>already <00:22:37.050>have <00:22:37.225>the <00:22:37.400>complexity <00:22:37.575>that <00:22:37.750>is <00:22:37.925>inheriting <00:22:38.100>distributed

459
00:22:39.500 --> 00:22:43.400
<00:22:39.500>system <00:22:39.850>nature <00:22:40.200>of <00:22:40.550>microphone <00:22:40.900>dance.

460
00:22:43.400 --> 00:22:47.700
<00:22:43.400>We <00:22:43.540>already <00:22:43.680>have <00:22:43.820>a <00:22:43.960>lot <00:22:44.100>of <00:22:44.240>think <00:22:44.380>about <00:22:44.520>the <00:22:44.660>governance <00:22:44.800>Park

461
00:22:47.700 --> 00:22:50.900
<00:22:47.700>communication <00:22:47.980>between <00:22:48.260>teams <00:22:48.540>and <00:22:48.820>login <00:22:49.100>the

462
00:22:50.900 --> 00:22:53.400
<00:22:50.900>bugging <00:22:51.075>ux <00:22:51.250>whatever. <00:22:51.425>So <00:22:51.600>if <00:22:51.775>we <00:22:51.950>can <00:22:52.125>simplify <00:22:52.300>our

463
00:22:53.400 --> 00:22:56.100
<00:22:53.400>life, <00:22:53.750>why <00:22:54.100>not <00:22:54.450>so <00:22:54.800>ideally

464
00:22:57.200 --> 00:23:00.500
<00:22:57.200>try <00:22:57.400>to <00:22:57.600>avoid <00:22:57.800>by <00:22:58.000>the <00:22:58.200>directional <00:22:58.400>sharing <00:22:58.600>unless

465
00:23:00.500 --> 00:23:01.600
<00:23:00.500>it's <00:23:00.995>strictly <00:23:01.490>necessary.

466
00:23:02.800 --> 00:23:05.600
<00:23:02.800>There <00:23:02.955>are <00:23:03.111>certain <00:23:03.266>situations. <00:23:03.422>I <00:23:03.577>would <00:23:03.733>say <00:23:03.888>that <00:23:04.044>you <00:23:04.200>might

467
00:23:05.600 --> 00:23:08.500
<00:23:05.600>want <00:23:05.727>to <00:23:05.854>do <00:23:05.981>that <00:23:06.109>but <00:23:06.236>should <00:23:06.363>be <00:23:06.490>an <00:23:06.618>exception <00:23:06.745>not <00:23:06.872>the <00:23:07.000>rule

468
00:23:08.500 --> 00:23:09.700
<00:23:08.500>that <00:23:08.860>you're <00:23:09.220>optimizing <00:23:09.580>for.

469
00:23:11.800 --> 00:23:14.900
<00:23:11.800>All <00:23:12.080>another <00:23:12.360>bigger <00:23:12.639>one. <00:23:12.919>Relax <00:23:13.200>is

470
00:23:14.900 --> 00:23:16.800
<00:23:14.900>just <00:23:15.100>good. <00:23:15.300>I <00:23:15.500>heard <00:23:15.700>that <00:23:15.900>so <00:23:16.100>many <00:23:16.300>times.

471
00:23:17.900 --> 00:23:20.400
<00:23:17.900>Unfortunately, <00:23:18.133>we <00:23:18.366>often <00:23:18.600>forget <00:23:18.833>the <00:23:19.066>link <00:23:19.300>with

472
00:23:20.400 --> 00:23:23.500
<00:23:20.400>the <00:23:20.680>organization <00:23:20.960>structure <00:23:21.240>and <00:23:21.520>our <00:23:21.800>code.

473
00:23:24.700 --> 00:23:27.300
<00:23:24.700>So <00:23:24.875>one <00:23:25.050>of <00:23:25.225>the <00:23:25.400>questions <00:23:25.575>that <00:23:25.750>I <00:23:25.925>heard <00:23:26.100>so

474
00:23:27.300 --> 00:23:30.500
<00:23:27.300>many <00:23:27.455>times <00:23:27.611>is <00:23:27.766>shall <00:23:27.922>we <00:23:28.077>create <00:23:28.233>a <00:23:28.388>global <00:23:28.544>state <00:23:28.700>for

475
00:23:30.500 --> 00:23:33.100
<00:23:30.500>communicating <00:23:30.655>with <00:23:30.811>my <00:23:30.966>microphone <00:23:31.122>10 <00:23:31.277>that <00:23:31.433>are <00:23:31.588>living <00:23:31.744>in <00:23:31.900>the

476
00:23:33.100 --> 00:23:36.400
<00:23:33.100>same <00:23:33.274>view. <00:23:33.449>Okay, <00:23:33.625>let's <00:23:33.800>analyze <00:23:33.975>that <00:23:34.149>so <00:23:34.324>let's <00:23:34.500>assume

477
00:23:36.400 --> 00:23:39.600
<00:23:36.400>that <00:23:36.555>we <00:23:36.711>have <00:23:36.866>a <00:23:37.022>global <00:23:37.177>State <00:23:37.333>and <00:23:37.488>now <00:23:37.644>Microcenter <00:23:37.800>a

478
00:23:39.600 --> 00:23:42.400
<00:23:39.600>is <00:23:39.879>a <00:23:40.159>obviously <00:23:40.439>Reading <00:23:40.719>Writing <00:23:41.000>and

479
00:23:42.400 --> 00:23:45.400
<00:23:42.400>Global <00:23:42.540>State <00:23:42.680>at <00:23:42.820>the <00:23:42.960>same <00:23:43.100>for <00:23:43.240>all <00:23:43.380>the <00:23:43.520>others <00:23:43.660>suddenly. <00:23:43.800>There

480
00:23:45.400 --> 00:23:48.200
<00:23:45.400>is <00:23:45.575>a <00:23:45.750>breaking <00:23:45.925>change <00:23:46.100>now <00:23:46.275>the <00:23:46.450>team <00:23:46.625>responsible <00:23:46.800>for

481
00:23:48.200 --> 00:23:51.300
<00:23:48.200>Michael <00:23:48.375>from <00:23:48.550>10 <00:23:48.725>a <00:23:48.900>that <00:23:49.075>change <00:23:49.250>the <00:23:49.425>API <00:23:49.600>for

482
00:23:51.300 --> 00:23:54.400
<00:23:51.300>a <00:23:51.440>specific <00:23:51.580>part <00:23:51.720>cannot <00:23:51.860>deploy <00:23:52.000>because <00:23:52.139>they <00:23:52.280>need <00:23:52.419>to <00:23:52.560>wait <00:23:52.700>for

483
00:23:54.400 --> 00:23:57.700
<00:23:54.400>the <00:23:54.540>others <00:23:54.680>to <00:23:54.820>be <00:23:54.960>ready <00:23:55.100>that <00:23:55.240>is <00:23:55.380>called <00:23:55.520>design <00:23:55.660>time <00:23:55.800>coupling

484
00:23:57.700 --> 00:24:00.700
<00:23:57.700>in <00:23:57.933>microservices <00:23:58.166>is <00:23:58.400>an <00:23:58.633>antipatter <00:23:58.866>so <00:23:59.100>it

485
00:24:00.700 --> 00:24:01.900
<00:24:00.700>can <00:24:00.970>be <00:24:01.240>awesome <00:24:01.510>on <00:24:01.780>the

486
00:24:03.200 --> 00:24:04.300
<00:24:03.200>Mike <00:24:03.530>Fontana <00:24:03.860>as <00:24:04.190>well

487
00:24:05.200 --> 00:24:08.500
<00:24:05.200>So, <00:24:05.433>how <00:24:05.666>can <00:24:05.900>we <00:24:06.133>create <00:24:06.366>Loosely <00:24:06.600>coupled

488
00:24:08.500 --> 00:24:09.800
<00:24:08.500>entities <00:24:08.889>the <00:24:09.280>highly <00:24:09.670>aligned?

489
00:24:10.300 --> 00:24:13.900
<00:24:10.300>Events. <00:24:10.533>So <00:24:10.766>one <00:24:11.000>of <00:24:11.233>the <00:24:11.466>architecture <00:24:11.700>or

490
00:24:13.900 --> 00:24:16.900
<00:24:13.900>better <00:24:14.055>a <00:24:14.211>design <00:24:14.366>pattern <00:24:14.522>that <00:24:14.677>we <00:24:14.833>have <00:24:14.988>learned <00:24:15.144>is <00:24:15.300>that

491
00:24:16.900 --> 00:24:19.700
<00:24:16.900>allows <00:24:17.100>us <00:24:17.300>to <00:24:17.500>do <00:24:17.700>that <00:24:17.900>is <00:24:18.100>a <00:24:18.300>pub/sub

492
00:24:19.700 --> 00:24:22.100
<00:24:19.700>pattern <00:24:19.875>or <00:24:20.050>published <00:24:20.225>subscribe <00:24:20.400>pattern <00:24:20.575>and <00:24:20.750>is <00:24:20.925>a <00:24:21.100>way

493
00:24:22.100 --> 00:24:25.700
<00:24:22.100>for <00:24:22.240>the <00:24:22.379>producer <00:24:22.520>to <00:24:22.659>dispatch <00:24:22.800>some <00:24:22.939>an <00:24:23.080>event <00:24:23.219>and <00:24:23.360>the <00:24:23.500>consumer

494
00:24:25.700 --> 00:24:28.400
<00:24:25.700>if <00:24:25.855>interested <00:24:26.011>they <00:24:26.166>will <00:24:26.322>pick <00:24:26.477>it <00:24:26.633>up <00:24:26.788>and <00:24:26.944>react <00:24:27.100>to

495
00:24:28.400 --> 00:24:31.300
<00:24:28.400>that <00:24:28.540>and <00:24:28.680>do <00:24:28.820>whatever <00:24:28.960>they <00:24:29.100>want. <00:24:29.240>This <00:24:29.380>way <00:24:29.520>make <00:24:29.660>a <00:24:29.800>change

496
00:24:31.300 --> 00:24:34.900
<00:24:31.300>and <00:24:31.475>dispatch <00:24:31.649>an <00:24:31.825>event <00:24:32.000>if <00:24:32.175>someone <00:24:32.350>is <00:24:32.524>interested <00:24:32.700>great

497
00:24:34.900 --> 00:24:37.100
<00:24:34.900>if <00:24:35.133>someone <00:24:35.366>is <00:24:35.600>not <00:24:35.833>it's <00:24:36.066>a <00:24:36.300>problem.

498
00:24:37.100 --> 00:24:40.400
<00:24:37.100>Then <00:24:37.255>there <00:24:37.411>is <00:24:37.566>another <00:24:37.722>challenge <00:24:37.877>that <00:24:38.033>is <00:24:38.188>around <00:24:38.344>let's <00:24:38.500>say

499
00:24:42.600 --> 00:24:45.800
<00:24:42.600>Create <00:24:42.774>a <00:24:42.949>visibility <00:24:43.125>of <00:24:43.300>those <00:24:43.475>events <00:24:43.649>and <00:24:43.824>usually <00:24:44.000>one

500
00:24:45.800 --> 00:24:48.900
<00:24:45.800>thing <00:24:45.975>that <00:24:46.149>I <00:24:46.325>recommend <00:24:46.500>is <00:24:46.675>always <00:24:46.850>have <00:24:47.024>for <00:24:47.200>now

501
00:24:48.900 --> 00:24:51.500
<00:24:48.900>an <00:24:49.250>idea <00:24:49.600>of <00:24:49.950>writing <00:24:50.300>down

502
00:24:51.500 --> 00:24:54.400
<00:24:51.500>all <00:24:51.600>the <00:24:51.700>events <00:24:51.800>that <00:24:51.900>are <00:24:52.000>bubbling <00:24:52.100>inside <00:24:52.200>the <00:24:52.300>view. <00:24:52.400>So <00:24:52.500>everyone <00:24:52.600>can <00:24:52.700>plug <00:24:52.800>it. <00:24:52.900>But

503
00:24:54.400 --> 00:24:57.200
<00:24:54.400>within <00:24:54.633>events <00:24:54.866>is <00:24:55.100>way <00:24:55.333>easier <00:24:55.566>that <00:24:55.800>you

504
00:24:57.200 --> 00:25:00.300
<00:24:57.200>can <00:24:57.375>go <00:24:57.550>ahead <00:24:57.725>and <00:24:57.900>deploy <00:24:58.075>independently <00:24:58.250>because <00:24:58.425>you <00:24:58.600>are

505
00:25:00.300 --> 00:25:03.300
<00:25:00.300>more <00:25:00.407>mindful <00:25:00.515>of <00:25:00.623>what <00:25:00.730>you <00:25:00.838>are <00:25:00.946>sharing. <00:25:01.053>There <00:25:01.161>are <00:25:01.269>different <00:25:01.376>type <00:25:01.484>of <00:25:01.592>events <00:25:01.700>that

506
00:25:03.300 --> 00:25:06.600
<00:25:03.300>you <00:25:03.533>can <00:25:03.766>dispatch <00:25:04.000>there. <00:25:04.233>Therefore <00:25:04.466>try <00:25:04.700>to

507
00:25:06.600 --> 00:25:09.600
<00:25:06.600>embrace <00:25:06.833>Loosely <00:25:07.066>coupled <00:25:07.300>but <00:25:07.533>highly <00:25:07.766>aligned <00:25:08.000>microphone

508
00:25:09.600 --> 00:25:12.400
<00:25:09.600>dance <00:25:09.800>because <00:25:10.000>otherwise <00:25:10.199>it <00:25:10.399>might <00:25:10.600>be <00:25:10.800>a <00:25:11.000>challenge.

509
00:25:15.700 --> 00:25:18.100
<00:25:15.700>The <00:25:15.933>next <00:25:16.166>one <00:25:16.400>is <00:25:16.633>is <00:25:16.866>this <00:25:17.100>one?

510
00:25:18.100 --> 00:25:19.600
<00:25:18.100>So <00:25:18.437>let's <00:25:18.774>armor <00:25:19.112>the <00:25:19.449>apis.

511
00:25:20.600 --> 00:25:23.300
<00:25:20.600>That's <00:25:20.800>another <00:25:21.000>antipotent. <00:25:21.199>I <00:25:21.399>didn't <00:25:21.600>expect <00:25:21.800>to <00:25:22.000>see

512
00:25:23.300 --> 00:25:26.300
<00:25:23.300>that <00:25:23.649>often. <00:25:24.000>But <00:25:24.350>instead <00:25:24.700>I

513
00:25:26.300 --> 00:25:29.900
<00:25:26.300>did <00:25:26.500>so <00:25:26.700>when <00:25:26.899>we <00:25:27.100>have <00:25:27.300>multiple <00:25:27.500>API <00:25:27.700>for

514
00:25:29.900 --> 00:25:31.700
<00:25:29.900>multiple <00:25:30.133>Micron <00:25:30.366>times <00:25:30.600>calling <00:25:30.833>the <00:25:31.066>same <00:25:31.300>API.

515
00:25:33.600 --> 00:25:37.000
<00:25:33.600>This <00:25:33.774>is <00:25:33.949>a <00:25:34.125>scenario. <00:25:34.300>So <00:25:34.475>we <00:25:34.649>have <00:25:34.824>four <00:25:35.000>microphone

516
00:25:36.200 --> 00:25:40.800
<00:25:36.200>Dance <00:25:36.433>all <00:25:36.666>together <00:25:36.900>and <00:25:37.133>that <00:25:37.366>are <00:25:37.600>living

517
00:25:39.800 --> 00:25:42.300
<00:25:39.800>in <00:25:40.080>the <00:25:40.360>same <00:25:40.639>view <00:25:40.919>and <00:25:41.200>then

518
00:25:43.400 --> 00:25:43.900
suddenly

519
00:25:44.800 --> 00:25:47.400
<00:25:44.800>You <00:25:44.916>know, <00:25:45.033>you <00:25:45.149>have <00:25:45.266>the <00:25:45.383>two <00:25:45.500>at <00:25:45.616>the <00:25:45.733>bottom <00:25:45.850>that <00:25:45.966>are <00:25:46.083>calling <00:25:46.200>exactly

520
00:25:47.400 --> 00:25:48.200
<00:25:47.400>the <00:25:47.760>same <00:25:48.120>API.

521
00:25:50.700 --> 00:25:53.200
<00:25:50.700>Okay, <00:25:50.933>so <00:25:51.166>we <00:25:51.400>have <00:25:51.633>disability <00:25:51.866>system <00:25:52.100>on

522
00:25:53.200 --> 00:25:56.500
<00:25:53.200>the <00:25:53.340>front <00:25:53.480>and <00:25:53.620>it's <00:25:53.760>likely <00:25:53.900>I <00:25:54.040>kind <00:25:54.180>of <00:25:54.320>say <00:25:54.460>99% <00:25:54.600>but

523
00:25:56.500 --> 00:25:59.400
<00:25:56.500>it's <00:25:56.675>very <00:25:56.850>likely <00:25:57.025>that <00:25:57.200>the <00:25:57.375>distributed <00:25:57.550>system <00:25:57.725>is <00:25:57.900>also

524
00:25:59.400 --> 00:25:59.900
<00:25:59.400>on <00:25:59.625>the <00:25:59.850>backend.

525
00:26:01.100 --> 00:26:04.300
<00:26:01.100>Let's <00:26:01.300>try <00:26:01.500>to <00:26:01.699>see <00:26:01.899>what <00:26:02.100>the <00:26:02.300>backend <00:26:02.500>developers

526
00:26:04.300 --> 00:26:07.300
<00:26:04.300>has <00:26:04.427>to <00:26:04.554>do <00:26:04.681>in <00:26:04.809>this <00:26:04.936>case. <00:26:05.063>So <00:26:05.190>we <00:26:05.318>have <00:26:05.445>two <00:26:05.572>microphone <00:26:05.700>Dance

527
00:26:07.300 --> 00:26:10.800
<00:26:07.300>Calling <00:26:07.533>the <00:26:07.766>same <00:26:08.000>API <00:26:08.233>usually <00:26:08.466>microservices <00:26:08.700>you

528
00:26:10.800 --> 00:26:13.100
<00:26:10.800>have <00:26:10.955>tend <00:26:11.111>to <00:26:11.266>have <00:26:11.422>to <00:26:11.577>expose <00:26:11.733>all <00:26:11.888>API. <00:26:12.044>You <00:26:12.200>have

529
00:26:13.100 --> 00:26:16.200
<00:26:13.100>an <00:26:13.274>API <00:26:13.449>Gateway <00:26:13.625>or <00:26:13.800>load <00:26:13.975>balancer. <00:26:14.149>Usually <00:26:14.324>not <00:26:14.500>the

530
00:26:16.200 --> 00:26:20.300
<00:26:16.200>idea <00:26:16.550>Gateway <00:26:16.900>that <00:26:17.250>centralized <00:26:17.600>often

531
00:26:19.300 --> 00:26:22.400
<00:26:19.300>not <00:26:19.649>always <00:26:20.000>they <00:26:20.350>authorization <00:26:20.700>service.

532
00:26:22.400 --> 00:26:25.200
<00:26:22.400>So <00:26:22.575>in <00:26:22.750>this <00:26:22.925>case, <00:26:23.100>we <00:26:23.275>have <00:26:23.450>two <00:26:23.625>microphone <00:26:23.800>dance

533
00:26:25.200 --> 00:26:29.000
<00:26:25.200>with <00:26:25.340>the <00:26:25.480>JWT <00:26:25.620>better <00:26:25.760>token <00:26:25.900>that <00:26:26.040>are <00:26:26.180>let's <00:26:26.320>say <00:26:26.460>authorized <00:26:26.600>by

534
00:26:28.900 --> 00:26:31.400
<00:26:28.900>the <00:26:29.600>idea <00:26:30.300>level.

535
00:26:32.200 --> 00:26:35.800
<00:26:32.200>And <00:26:32.375>then <00:26:32.550>all <00:26:32.725>good <00:26:32.900>everything <00:26:33.075>is <00:26:33.250>working <00:26:33.425>and <00:26:33.600>finally

536
00:26:35.800 --> 00:26:37.900
<00:26:35.800>we <00:26:36.149>reach <00:26:36.500>our <00:26:36.850>API <00:26:37.200>one.

537
00:26:38.500 --> 00:26:41.900
<00:26:38.500>It's <00:26:38.733>a <00:26:38.966>distributed <00:26:39.200>system. <00:26:39.433>So <00:26:39.666>potentially <00:26:39.900>API

538
00:26:41.900 --> 00:26:42.200
one.

539
00:26:43.100 --> 00:26:46.700
<00:26:43.100>For <00:26:43.255>any <00:26:43.411>given <00:26:43.566>reason <00:26:43.722>can <00:26:43.877>call <00:26:44.033>other <00:26:44.188>apis <00:26:44.344>and <00:26:44.500>it

540
00:26:46.700 --> 00:26:49.700
<00:26:46.700>might <00:26:46.875>not <00:26:47.050>be <00:26:47.225>possible <00:26:47.400>to <00:26:47.575>catch <00:26:47.750>those <00:26:47.925>results <00:26:48.100>or

541
00:26:49.700 --> 00:26:52.900
<00:26:49.700>keep <00:26:49.816>them <00:26:49.933>in <00:26:50.050>memory <00:26:50.166>and <00:26:50.283>therefore <00:26:50.400>you <00:26:50.516>need <00:26:50.633>to <00:26:50.750>make <00:26:50.866>a <00:26:50.983>call <00:26:51.100>now.

542
00:26:53.800 --> 00:26:55.100
<00:26:53.800>If <00:26:54.092>you <00:26:54.385>have <00:26:54.677>two <00:26:54.969>calls.

543
00:26:55.800 --> 00:26:58.600
<00:26:55.800>On <00:26:56.033>API <00:26:56.266>or <00:26:56.500>tens, <00:26:56.733>of <00:26:56.966>course <00:26:57.200>fine

544
00:26:58.600 --> 00:27:01.600
<00:26:58.600>not <00:26:58.740>the <00:26:58.879>problem. <00:26:59.020>The <00:26:59.159>problem <00:26:59.300>is <00:26:59.439>when <00:26:59.580>you <00:26:59.719>have <00:26:59.860>hundreds <00:27:00.000>of

545
00:27:01.600 --> 00:27:03.000
<00:27:01.600>thousand <00:27:02.020>obvious <00:27:02.440>of <00:27:02.860>calls.

546
00:27:03.600 --> 00:27:06.900
<00:27:03.600>And <00:27:03.740>that's <00:27:03.879>a <00:27:04.020>problem <00:27:04.159>because <00:27:04.300>you <00:27:04.439>need <00:27:04.580>to <00:27:04.719>scale <00:27:04.860>your <00:27:05.000>backend

547
00:27:06.900 --> 00:27:09.500
<00:27:06.900>and <00:27:07.100>the <00:27:07.300>cost <00:27:07.500>of <00:27:07.700>doing <00:27:07.900>that <00:27:08.100>instead <00:27:08.300>of

548
00:27:09.500 --> 00:27:12.300
<00:27:09.500>optimizing <00:27:09.966>your <00:27:10.433>designer <00:27:10.900>microphone

549
00:27:12.300 --> 00:27:15.400
<00:27:12.300>tense <00:27:12.440>can <00:27:12.580>go <00:27:12.720>through <00:27:12.860>the <00:27:13.000>roof <00:27:13.139>and <00:27:13.280>this <00:27:13.419>exactly <00:27:13.560>where <00:27:13.700>you

550
00:27:15.400 --> 00:27:18.600
<00:27:15.400>don't <00:27:15.633>want <00:27:15.866>to <00:27:16.100>be <00:27:16.333>moreover <00:27:16.566>the <00:27:16.800>complexity

551
00:27:18.600 --> 00:27:22.000
<00:27:18.600>of <00:27:18.800>handling <00:27:19.000>10 <00:27:19.199>requests <00:27:19.399>per <00:27:19.600>second <00:27:19.800>or <00:27:20.000>a

552
00:27:21.300 --> 00:27:25.000
<00:27:21.300>million <00:27:21.500>requests <00:27:21.700>per <00:27:21.899>second <00:27:22.100>is <00:27:22.300>completely <00:27:22.500>different <00:27:22.700>I

553
00:27:24.100 --> 00:27:25.600
<00:27:24.100>can <00:27:24.774>guarantee <00:27:25.449>you.

554
00:27:28.100 --> 00:27:31.700
<00:27:28.100>Therefore <00:27:28.240>it's <00:27:28.379>very <00:27:28.520>very <00:27:28.659>important. <00:27:28.800>When <00:27:28.939>you <00:27:29.080>take <00:27:29.219>a <00:27:29.360>decision <00:27:29.500>you

555
00:27:31.700 --> 00:27:35.300
<00:27:31.700>start <00:27:31.980>to <00:27:32.260>think <00:27:32.540>of <00:27:32.820>the <00:27:33.100>effect

556
00:27:34.300 --> 00:27:37.400
<00:27:34.300>that <00:27:34.533>you <00:27:34.766>can <00:27:35.000>have <00:27:35.233>on <00:27:35.466>the <00:27:35.700>API

557
00:27:37.400 --> 00:27:38.500
<00:27:37.400>or <00:27:37.730>any <00:27:38.060>other <00:27:38.390>layer.

558
00:27:40.600 --> 00:27:41.900
<00:27:40.600>Therefore <00:27:40.833>let's <00:27:41.068>look <00:27:41.302>some <00:27:41.536>possible <00:27:41.770>solutions.

559
00:27:42.500 --> 00:27:47.000
<00:27:42.500>So <00:27:42.675>we <00:27:42.850>have <00:27:43.025>these <00:27:43.200>two <00:27:43.375>microphone <00:27:43.550>Tans <00:27:43.725>great. <00:27:43.900>And

560
00:27:45.300 --> 00:27:48.500
<00:27:45.300>usually <00:27:46.700>if

561
00:27:48.500 --> 00:27:51.200
<00:27:48.500>you <00:27:48.700>are <00:27:48.900>calling <00:27:49.100>the <00:27:49.300>same <00:27:49.500>API, <00:27:49.700>there <00:27:49.900>is

562
00:27:51.200 --> 00:27:55.500
<00:27:51.200>a <00:27:51.375>chance <00:27:51.550>I <00:27:51.725>can <00:27:51.900>say <00:27:52.075>high <00:27:52.250>chance <00:27:52.425>that <00:27:52.600>probably

563
00:27:55.500 --> 00:27:58.200
<00:27:55.500>are <00:27:55.780>not <00:27:56.060>microphone <00:27:56.340>dance <00:27:56.620>or <00:27:56.900>better.

564
00:27:58.200 --> 00:28:00.400
<00:27:58.200>They <00:27:58.666>are <00:27:59.133>overlapping <00:27:59.600>domain.

565
00:28:01.200 --> 00:28:04.500
<00:28:01.200>So <00:28:01.327>an <00:28:01.454>idea <00:28:01.581>is <00:28:01.709>go <00:28:01.836>back <00:28:01.963>to <00:28:02.090>the <00:28:02.218>Whiteboard <00:28:02.345>try <00:28:02.472>to <00:28:02.600>analyze

566
00:28:04.500 --> 00:28:07.200
<00:28:04.500>them <00:28:04.655>try <00:28:04.811>to <00:28:04.966>understand <00:28:05.122>if <00:28:05.277>they <00:28:05.433>are <00:28:05.588>really <00:28:05.744>independent <00:28:05.900>or

567
00:28:07.200 --> 00:28:10.600
<00:28:07.200>they <00:28:07.355>must <00:28:07.511>be <00:28:07.666>independent <00:28:07.822>or <00:28:07.977>not <00:28:08.133>because <00:28:08.288>this <00:28:08.444>likely <00:28:08.600>that

568
00:28:10.600 --> 00:28:13.500
<00:28:10.600>the <00:28:10.949>answer <00:28:11.300>is <00:28:11.649>go <00:28:12.000>and

569
00:28:13.500 --> 00:28:16.100
<00:28:13.500>and <00:28:13.640>try <00:28:13.780>to <00:28:13.920>create <00:28:14.060>one <00:28:14.200>microphone <00:28:14.340>tense <00:28:14.480>assigned <00:28:14.620>to <00:28:14.760>a <00:28:14.900>team.

570
00:28:17.400 --> 00:28:20.500
<00:28:17.400>In <00:28:17.680>the <00:28:17.960>scenario. <00:28:18.240>Where <00:28:18.520>is <00:28:18.800>that

571
00:28:20.500 --> 00:28:22.900
<00:28:20.500>you <00:28:20.700>are <00:28:20.900>seeing <00:28:21.100>that <00:28:21.300>those <00:28:21.500>two <00:28:21.700>microphone <00:28:21.900>dance?

572
00:28:23.900 --> 00:28:27.100
<00:28:23.900>Are <00:28:24.180>instead <00:28:24.460>two <00:28:24.740>different <00:28:25.020>entity <00:28:25.300>that

573
00:28:26.100 --> 00:28:29.100
<00:28:26.100>are <00:28:26.274>quite <00:28:26.449>complex <00:28:26.625>to <00:28:26.800>handle <00:28:26.975>you <00:28:27.149>can <00:28:27.324>work <00:28:27.500>with

574
00:28:29.100 --> 00:28:34.400
<00:28:29.100>components. <00:28:29.300>We <00:28:29.500>have <00:28:29.699>seen <00:28:29.899>before <00:28:30.100>components <00:28:30.300>have <00:28:30.500>let's

575
00:28:32.400 --> 00:28:35.400
<00:28:32.400>say <00:28:33.100>they <00:28:33.800>are

576
00:28:35.400 --> 00:28:38.500
<00:28:35.400>licking <00:28:35.575>the <00:28:35.750>domain <00:28:35.925>and <00:28:36.100>therefore <00:28:36.275>there <00:28:36.450>is <00:28:36.625>something <00:28:36.800>an

577
00:28:38.500 --> 00:28:42.200
<00:28:38.500>entity <00:28:38.640>that <00:28:38.780>in <00:28:38.920>this <00:28:39.060>case <00:28:39.200>the <00:28:39.340>microphone <00:28:39.480>10 <00:28:39.620>that <00:28:39.760>can <00:28:39.900>contain

578
00:28:41.200 --> 00:28:44.100
<00:28:41.200>the <00:28:41.433>domain <00:28:41.666>make <00:28:41.900>just <00:28:42.133>one <00:28:42.366>call <00:28:42.600>to

579
00:28:44.100 --> 00:28:46.200
<00:28:44.100>the <00:28:44.216>backend <00:28:44.333>and <00:28:44.449>off <00:28:44.566>you <00:28:44.683>go <00:28:44.800>you <00:28:44.916>have <00:28:45.033>what <00:28:45.149>you <00:28:45.266>are <00:28:45.383>looking <00:28:45.500>for?

580
00:28:47.700 --> 00:28:50.700
<00:28:47.700>So <00:28:47.933>the <00:28:48.166>takeaway <00:28:48.400>for <00:28:48.633>this <00:28:48.866>last <00:28:49.100>pattern

581
00:28:50.700 --> 00:28:54.000
<00:28:50.700>is <00:28:50.980>trying <00:28:51.260>to <00:28:51.540>understand <00:28:51.820>the <00:28:52.100>end-to-end

582
00:28:53.300 --> 00:28:56.300
<00:28:53.300>impact <00:28:53.533>of <00:28:53.766>your <00:28:54.000>decision <00:28:54.233>because <00:28:54.466>it's <00:28:54.700>very

583
00:28:56.300 --> 00:28:59.900
<00:28:56.300>important <00:28:56.455>that <00:28:56.611>we <00:28:56.766>we <00:28:56.922>think <00:28:57.077>at <00:28:57.233>the <00:28:57.388>system <00:28:57.544>holistically <00:28:57.700>despite.

584
00:28:59.900 --> 00:29:02.700
<00:28:59.900>We <00:29:00.075>are <00:29:00.250>in <00:29:00.425>distributed <00:29:00.600>team <00:29:00.775>disabilities <00:29:00.950>teams <00:29:01.125>doesn't <00:29:01.300>mean

585
00:29:02.700 --> 00:29:05.400
<00:29:02.700>that <00:29:02.827>you <00:29:02.954>are <00:29:03.081>alone <00:29:03.209>and <00:29:03.336>you <00:29:03.463>take <00:29:03.590>the <00:29:03.718>decision <00:29:03.845>you <00:29:03.972>want <00:29:04.100>because

586
00:29:05.400 --> 00:29:08.700
<00:29:05.400>you <00:29:05.527>might <00:29:05.654>have <00:29:05.781>an <00:29:05.909>impact <00:29:06.036>to <00:29:06.163>others <00:29:06.290>and <00:29:06.418>that <00:29:06.545>is <00:29:06.672>quite <00:29:06.800>important

587
00:29:08.700 --> 00:29:11.400
<00:29:08.700>that <00:29:08.900>we <00:29:09.100>take <00:29:09.300>a <00:29:09.500>step <00:29:09.700>back <00:29:09.900>look <00:29:10.100>at

588
00:29:11.400 --> 00:29:14.100
<00:29:11.400>our <00:29:11.540>system <00:29:11.680>holistically <00:29:11.820>and <00:29:11.960>try <00:29:12.100>and <00:29:12.240>figure <00:29:12.380>out <00:29:12.520>what <00:29:12.660>it <00:29:12.800>works.

589
00:29:15.700 --> 00:29:19.100
<00:29:15.700>I <00:29:15.855>want <00:29:16.011>to <00:29:16.166>close <00:29:16.322>up <00:29:16.477>this <00:29:16.633>talk <00:29:16.788>with <00:29:16.944>with <00:29:17.100>this

590
00:29:18.100 --> 00:29:21.100
<00:29:18.100>part <00:29:18.800>on <00:29:19.500>architecture.

591
00:29:22.300 --> 00:29:25.300
<00:29:22.300>So <00:29:22.649>architecture <00:29:23.000>is <00:29:23.350>not <00:29:23.700>right

592
00:29:25.300 --> 00:29:28.300
<00:29:25.300>or <00:29:25.475>wrong. <00:29:25.649>I've <00:29:25.825>heard <00:29:26.000>so <00:29:26.175>many <00:29:26.350>times <00:29:26.524>developers <00:29:26.700>saying

593
00:29:28.300 --> 00:29:29.200
<00:29:28.300>this <00:29:28.502>is <00:29:28.705>the <00:29:28.907>right <00:29:29.110>decision.

594
00:29:30.800 --> 00:29:33.800
<00:29:30.800>It <00:29:31.033>might <00:29:31.266>fit <00:29:31.500>your <00:29:31.733>your <00:29:31.966>context, <00:29:32.200>but

595
00:29:33.800 --> 00:29:35.800
<00:29:33.800>in <00:29:34.033>other <00:29:34.266>context <00:29:34.500>it <00:29:34.733>might <00:29:34.966>not <00:29:35.200>fit.

596
00:29:36.600 --> 00:29:39.500
<00:29:36.600>And <00:29:36.800>therefore <00:29:37.000>bear <00:29:37.199>in <00:29:37.399>mind <00:29:37.600>that <00:29:37.800>architecture <00:29:38.000>especially

597
00:29:39.500 --> 00:29:41.300
<00:29:39.500>modern <00:29:39.780>architecture <00:29:40.060>is <00:29:40.340>always <00:29:40.620>a <00:29:40.900>trade-off.

598
00:29:41.900 --> 00:29:45.400
<00:29:41.900>So <00:29:42.133>when <00:29:42.366>I'm <00:29:42.600>engaging <00:29:42.833>with <00:29:43.066>customers <00:29:43.300>very

599
00:29:44.400 --> 00:29:47.400
<00:29:44.400>often, <00:29:44.680>I <00:29:44.960>found <00:29:45.240>myself <00:29:45.520>starting <00:29:45.800>to

600
00:29:47.400 --> 00:29:51.100
<00:29:47.400>reasoning <00:29:47.540>loud <00:29:47.680>with <00:29:47.820>the <00:29:47.960>customer <00:29:48.100>and <00:29:48.240>say, <00:29:48.380>okay. <00:29:48.520>So <00:29:48.660>you're <00:29:48.800>suggesting

601
00:29:50.100 --> 00:29:53.200
<00:29:50.100>to <00:29:50.240>do <00:29:50.379>in <00:29:50.520>this <00:29:50.659>way. <00:29:50.800>And <00:29:50.939>those <00:29:51.080>are <00:29:51.219>the <00:29:51.360>plus <00:29:51.500>and

602
00:29:53.200 --> 00:29:54.700
<00:29:53.200>cons. <00:29:53.537>Would <00:29:53.875>you <00:29:54.212>agree? <00:29:54.550>Yes.

603
00:29:55.600 --> 00:29:58.200
<00:29:55.600>Okay, <00:29:55.774>so <00:29:55.949>let's <00:29:56.125>try <00:29:56.300>to <00:29:56.475>evaluate <00:29:56.649>another <00:29:56.824>one <00:29:57.000>and

604
00:29:58.200 --> 00:30:01.300
<00:29:58.200>let's <00:29:58.433>try <00:29:58.666>the <00:29:58.900>trade-off <00:29:59.133>on <00:29:59.366>there <00:29:59.600>sometimes.

605
00:30:02.500 --> 00:30:05.600
<00:30:02.500>Cannot <00:30:02.655>say <00:30:02.811>always <00:30:02.966>but <00:30:03.122>sometimes <00:30:03.277>we <00:30:03.433>find <00:30:03.588>that <00:30:03.744>the <00:30:03.900>balance

606
00:30:05.600 --> 00:30:08.600
<00:30:05.600>that <00:30:05.755>we <00:30:05.911>were <00:30:06.066>looking <00:30:06.222>for <00:30:06.377>is <00:30:06.533>better <00:30:06.688>in <00:30:06.844>something <00:30:07.000>else

607
00:30:08.600 --> 00:30:11.400
<00:30:08.600>and <00:30:08.727>not <00:30:08.854>what <00:30:08.981>they <00:30:09.109>were <00:30:09.236>looking <00:30:09.363>for <00:30:09.490>because <00:30:09.618>what <00:30:09.745>they <00:30:09.872>wanted <00:30:10.000>to

608
00:30:11.400 --> 00:30:15.200
<00:30:11.400>implement <00:30:11.575>is <00:30:11.750>exactly <00:30:11.925>what <00:30:12.100>was <00:30:12.275>working <00:30:12.450>another <00:30:12.625>organization, <00:30:12.800>therefore

609
00:30:14.200 --> 00:30:17.700
<00:30:14.200>another <00:30:14.550>context. <00:30:14.900>We <00:30:15.250>different <00:30:15.600>development

610
00:30:17.700 --> 00:30:20.700
<00:30:17.700>teams <00:30:17.980>different <00:30:18.260>structure <00:30:18.540>different <00:30:18.820>communication <00:30:19.100>flow

611
00:30:20.700 --> 00:30:23.300
<00:30:20.700>different <00:30:20.980>governance <00:30:21.260>as <00:30:21.540>four <00:30:21.820>the <00:30:22.100>four

612
00:30:23.300 --> 00:30:26.200
<00:30:23.300>remember <00:30:23.500>when <00:30:23.700>you <00:30:23.899>take <00:30:24.100>a <00:30:24.300>decision <00:30:24.500>that <00:30:24.700>affect

613
00:30:26.200 --> 00:30:30.000
<00:30:26.200>a <00:30:26.400>system <00:30:26.600>and <00:30:26.800>not <00:30:27.000>inside <00:30:27.200>your <00:30:27.400>microphone <00:30:27.600>then

614
00:30:29.900 --> 00:30:32.700
<00:30:29.900>try <00:30:30.133>to <00:30:30.366>find <00:30:30.600>the <00:30:30.833>right <00:30:31.066>balance <00:30:31.300>trying

615
00:30:32.700 --> 00:30:35.200
<00:30:32.700>to <00:30:32.855>evaluate <00:30:33.011>the <00:30:33.166>trade-off <00:30:33.322>and <00:30:33.477>try <00:30:33.633>to <00:30:33.788>write <00:30:33.944>them <00:30:34.100>down.

616
00:30:35.900 --> 00:30:38.900
<00:30:35.900>there <00:30:36.133>are <00:30:36.366>some <00:30:36.600>techniques <00:30:36.833>like <00:30:37.066>the <00:30:37.300>architectural

617
00:30:38.900 --> 00:30:42.000
<00:30:38.900>decision <00:30:39.250>record <00:30:39.600>or <00:30:39.950>rfcs <00:30:40.300>requests

618
00:30:41.100 --> 00:30:45.100
<00:30:41.100>for <00:30:41.255>comments <00:30:41.411>that <00:30:41.566>will <00:30:41.722>allow <00:30:41.877>you <00:30:42.033>to <00:30:42.188>take <00:30:42.344>a <00:30:42.500>snapshot

619
00:30:44.100 --> 00:30:47.600
<00:30:44.100>in <00:30:44.274>time <00:30:44.449>why <00:30:44.625>that <00:30:44.800>decision <00:30:44.975>was <00:30:45.149>made <00:30:45.324>and <00:30:45.500>that

620
00:30:47.600 --> 00:30:50.800
<00:30:47.600>is <00:30:47.774>extremely <00:30:47.949>helpful, <00:30:48.125>especially <00:30:48.300>if <00:30:48.475>you <00:30:48.649>maintain <00:30:48.824>a <00:30:49.000>system

621
00:30:50.800 --> 00:30:53.300
<00:30:50.800>for <00:30:51.000>long <00:30:51.200>long <00:30:51.399>time <00:30:51.600>because <00:30:51.800>you <00:30:52.000>can <00:30:52.200>go

622
00:30:53.300 --> 00:30:56.800
<00:30:53.300>back <00:30:53.475>to <00:30:53.649>that <00:30:53.825>decision <00:30:54.000>review <00:30:54.175>with <00:30:54.350>your <00:30:54.524>Tech <00:30:54.700>leadership

623
00:30:56.800 --> 00:30:59.600
<00:30:56.800>or <00:30:56.955>your <00:30:57.111>team <00:30:57.266>and <00:30:57.422>say <00:30:57.577>yes <00:30:57.733>that <00:30:57.888>makes <00:30:58.044>steel <00:30:58.200>sense

624
00:30:59.600 --> 00:31:02.800
<00:30:59.600>after <00:30:59.740>six <00:30:59.879>months <00:31:00.020>maybe <00:31:00.159>in <00:31:00.300>a <00:31:00.439>year <00:31:00.580>time <00:31:00.719>the <00:31:00.860>the <00:31:01.000>company

625
00:31:02.800 --> 00:31:05.300
<00:31:02.800>completely <00:31:03.080>shift <00:31:03.360>the <00:31:03.639>way <00:31:03.919>how <00:31:04.200>they're

626
00:31:05.300 --> 00:31:08.700
<00:31:05.300>doing <00:31:05.427>their <00:31:05.554>business <00:31:05.681>and <00:31:05.809>that <00:31:05.936>complete <00:31:06.063>and <00:31:06.190>that <00:31:06.318>decision <00:31:06.445>is <00:31:06.572>completely <00:31:06.700>rubbish

627
00:31:08.700 --> 00:31:09.100
and

628
00:31:09.400 --> 00:31:12.600
<00:31:09.400>We <00:31:09.600>are <00:31:09.800>building <00:31:10.000>distributed <00:31:10.200>systems <00:31:10.400>for <00:31:10.600>these <00:31:10.800>reasons.

629
00:31:12.600 --> 00:31:15.700
<00:31:12.600>We're <00:31:12.800>building <00:31:13.000>distributed <00:31:13.199>systems <00:31:13.399>because <00:31:13.600>we <00:31:13.800>really <00:31:14.000>want

630
00:31:15.700 --> 00:31:19.300
<00:31:15.700>to <00:31:15.900>have <00:31:16.100>the <00:31:16.300>agility <00:31:16.500>that <00:31:16.700>before <00:31:16.900>it <00:31:17.100>was

631
00:31:19.300 --> 00:31:22.200
<00:31:19.300>complex <00:31:19.500>to <00:31:19.700>have <00:31:19.899>in <00:31:20.100>system <00:31:20.300>that <00:31:20.500>maybe <00:31:20.700>we

632
00:31:22.200 --> 00:31:25.000
<00:31:22.200>have <00:31:22.375>to <00:31:22.550>maintain <00:31:22.725>for <00:31:22.900>10 <00:31:23.075>years <00:31:23.250>and <00:31:23.425>a <00:31:23.600>lot

633
00:31:25.100 --> 00:31:28.300
<00:31:25.100>of <00:31:25.300>developers <00:31:25.500>passed <00:31:25.699>by <00:31:25.899>and <00:31:26.100>quite <00:31:26.300>only <00:31:26.500>a

634
00:31:28.300 --> 00:31:30.400
<00:31:28.300>few <00:31:28.455>stick <00:31:28.611>around <00:31:28.766>and <00:31:28.922>therefore <00:31:29.077>it <00:31:29.233>might <00:31:29.388>be <00:31:29.544>a <00:31:29.700>problem.

635
00:31:32.300 --> 00:31:35.100
<00:31:32.300>if <00:31:32.455>you're <00:31:32.611>interesting <00:31:32.766>to <00:31:32.922>know <00:31:33.077>and <00:31:33.233>go <00:31:33.388>more <00:31:33.544>in <00:31:33.700>deep

636
00:31:35.100 --> 00:31:39.500
<00:31:35.100>about <00:31:35.227>this <00:31:35.354>topic, <00:31:35.481>I've <00:31:35.609>wrote <00:31:35.736>this <00:31:35.863>post <00:31:35.990>a <00:31:36.118>few <00:31:36.245>months <00:31:36.372>ago <00:31:36.500>around

637
00:31:38.500 --> 00:31:41.300
<00:31:38.500>the <00:31:38.733>future <00:31:38.966>microphone <00:31:39.200>10, <00:31:39.433>so <00:31:39.666>I <00:31:39.900>spent

638
00:31:41.900 --> 00:31:44.600
<00:31:41.900>My <00:31:42.366>December <00:31:42.833>of <00:31:43.300>time.

639
00:31:44.600 --> 00:31:48.700
<00:31:44.600>I <00:31:44.800>was <00:31:45.000>in <00:31:45.199>paternity <00:31:45.399>leave <00:31:45.600>for <00:31:45.800>thinking <00:31:46.000>big

640
00:31:48.700 --> 00:31:51.200
<00:31:48.700>and <00:31:48.900>trying <00:31:49.100>to <00:31:49.300>figure <00:31:49.500>out <00:31:49.700>what <00:31:49.900>we <00:31:50.100>are

641
00:31:51.200 --> 00:31:54.200
<00:31:51.200>missing <00:31:51.375>currently. <00:31:51.550>There <00:31:51.725>are <00:31:51.900>already <00:31:52.075>some <00:31:52.250>tries <00:31:52.425>that <00:31:52.600>I'm

642
00:31:54.200 --> 00:31:57.300
<00:31:54.200>working <00:31:54.355>on <00:31:54.511>for <00:31:54.666>the <00:31:54.822>future <00:31:54.977>with <00:31:55.133>a <00:31:55.288>bunch <00:31:55.444>of <00:31:55.600>of

643
00:31:57.300 --> 00:32:00.200
<00:31:57.300>friends, <00:31:57.500>and <00:31:57.700>I <00:31:57.899>hope <00:31:58.100>to <00:31:58.300>reveal <00:31:58.500>a <00:31:58.700>few

644
00:32:00.200 --> 00:32:03.300
<00:32:00.200>of <00:32:00.400>them <00:32:00.600>very <00:32:00.800>soon. <00:32:01.000>So <00:32:01.200>start <00:32:01.400>take <00:32:01.600>a

645
00:32:03.300 --> 00:32:06.600
<00:32:03.300>look <00:32:03.475>on <00:32:03.649>that. <00:32:03.825>That's <00:32:04.000>all <00:32:04.175>I <00:32:04.350>got. <00:32:04.524>I <00:32:04.700>hope

646
00:32:06.600 --> 00:32:09.200
<00:32:06.600>that <00:32:06.755>you <00:32:06.911>enjoy <00:32:07.066>the <00:32:07.222>first <00:32:07.377>talk <00:32:07.533>and <00:32:07.688>happy <00:32:07.844>to <00:32:08.000>answer

647
00:32:09.200 --> 00:32:11.600
<00:32:09.200>any <00:32:09.480>questions, <00:32:09.760>and <00:32:10.040>if <00:32:10.320>I <00:32:10.600>thanks,

648
00:32:21.400 --> 00:32:24.300
<00:32:21.400>It's <00:32:21.527>not <00:32:21.654>able <00:32:21.781>to <00:32:21.909>answer <00:32:22.036>all <00:32:22.163>the <00:32:22.290>questions <00:32:22.418>now. <00:32:22.545>I <00:32:22.672>will <00:32:22.800>be

649
00:32:24.300 --> 00:32:27.200
<00:32:24.300>around <00:32:24.475>the <00:32:24.649>whole <00:32:24.825>day <00:32:25.000>and <00:32:25.175>tomorrow <00:32:25.350>morning <00:32:25.524>or <00:32:25.700>if

650
00:32:27.200 --> 00:32:30.700
<00:32:27.200>you <00:32:27.316>prefer <00:32:27.433>something <00:32:27.550>an <00:32:27.666>email <00:32:27.783>there. <00:32:27.900>There <00:32:28.016>is <00:32:28.133>an <00:32:28.250>email <00:32:28.366>that's <00:32:28.483>not <00:32:28.600>least.

651
00:32:30.700 --> 00:32:33.700
<00:32:30.700>We <00:32:30.900>have <00:32:31.100>an <00:32:31.300>AWS <00:32:31.500>booth <00:32:31.700>in <00:32:31.900>here <00:32:32.100>in

652
00:32:33.700 --> 00:32:36.200
<00:32:33.700>the <00:32:33.855>conference <00:32:34.011>where <00:32:34.166>we <00:32:34.322>if <00:32:34.477>you <00:32:34.633>have <00:32:34.788>a <00:32:34.944>question <00:32:35.100>on

653
00:32:36.200 --> 00:32:39.300
<00:32:36.200>AWS, <00:32:36.400>or <00:32:36.600>if <00:32:36.800>you <00:32:37.000>have <00:32:37.200>if <00:32:37.400>you <00:32:37.600>want

654
00:32:39.300 --> 00:32:42.200
<00:32:39.300>to <00:32:39.455>apply <00:32:39.611>any <00:32:39.766>job <00:32:39.922>in <00:32:40.077>one <00:32:40.233>of <00:32:40.388>our <00:32:40.544>Berlin <00:32:40.700>Dev

655
00:32:42.200 --> 00:32:45.600
<00:32:42.200>teams, <00:32:42.375>feel <00:32:42.550>free <00:32:42.725>to <00:32:42.900>go <00:32:43.075>there <00:32:43.250>and <00:32:43.425>we <00:32:43.600>are

656
00:32:45.600 --> 00:32:46.700
<00:32:45.600>happy <00:32:45.847>to <00:32:46.095>answer <00:32:46.342>any <00:32:46.590>questions.

657
00:32:47.800 --> 00:32:49.500
<00:32:47.800>Thank <00:32:48.149>you <00:32:48.500>very <00:32:48.850>much <00:32:49.200>Luca.

658
00:32:55.400 --> 00:32:58.500
<00:32:55.400>So <00:32:55.555>you <00:32:55.711>still <00:32:55.866>have <00:32:56.022>time <00:32:56.177>to <00:32:56.333>ask <00:32:56.488>questions <00:32:56.644>you <00:32:56.800>can

659
00:32:58.500 --> 00:33:01.300
<00:32:58.500>upvote <00:32:58.733>questions <00:32:58.966>that <00:32:59.200>are <00:32:59.433>already <00:32:59.666>asked. <00:32:59.900>So

660
00:33:01.300 --> 00:33:04.600
<00:33:01.300>let's <00:33:01.649>start <00:33:02.000>and <00:33:02.350>can <00:33:02.700>you

661
00:33:04.600 --> 00:33:09.400
<00:33:04.600>outline <00:33:04.833>your <00:33:05.066>preferred <00:33:05.300>method <00:33:05.533>for <00:33:05.766>mfe2mfe <00:33:06.000>communication?

662
00:33:13.900 --> 00:33:15.900
<00:33:13.900>microphone <00:33:15.300>Felix

663
00:33:17.000 --> 00:33:17.100
No.

664
00:33:18.600 --> 00:33:21.900
<00:33:18.600>Does <00:33:18.740>it <00:33:18.879>work? <00:33:19.020>Oh, <00:33:19.159>yeah. <00:33:19.300>Now <00:33:19.439>it <00:33:19.580>works <00:33:19.719>perfect. <00:33:19.860>So <00:33:20.000>first

665
00:33:21.900 --> 00:33:24.100
<00:33:21.900>question, <00:33:22.133>how <00:33:22.366>what <00:33:22.600>is <00:33:22.833>my <00:33:23.066>favorite <00:33:23.300>favorite

666
00:33:24.100 --> 00:33:27.000
<00:33:24.100>communication <00:33:24.255>between <00:33:24.411>microphone <00:33:24.566>dance? <00:33:24.722>So <00:33:24.877>if <00:33:25.033>they <00:33:25.188>are <00:33:25.344>in <00:33:25.500>the

667
00:33:27.100 --> 00:33:30.600
<00:33:27.100>same <00:33:27.333>view <00:33:27.566>usually <00:33:27.800>even <00:33:28.033>the <00:33:28.266>meter <00:33:28.500>or

668
00:33:30.600 --> 00:33:33.500
<00:33:30.600>reactive <00:33:30.755>streams, <00:33:30.911>if <00:33:31.066>you're <00:33:31.222>familiar <00:33:31.377>with <00:33:31.533>their <00:33:31.688>active <00:33:31.844>programming <00:33:32.000>or

669
00:33:33.500 --> 00:33:36.900
<00:33:33.500>custom <00:33:34.900>events

670
00:33:36.900 --> 00:33:40.200
<00:33:36.900>that <00:33:37.040>are <00:33:37.180>available <00:33:37.320>in <00:33:37.460>JavaScript <00:33:37.600>out <00:33:37.740>of <00:33:37.880>the <00:33:38.020>box <00:33:38.160>are <00:33:38.300>free

671
00:33:39.200 --> 00:33:42.900
<00:33:39.200>good <00:33:39.433>ways <00:33:39.666>to <00:33:39.900>handle <00:33:40.133>that <00:33:40.366>communication <00:33:40.600>between

672
00:33:42.900 --> 00:33:46.300
<00:33:42.900>microphone <00:33:43.250>tents <00:33:43.600>across <00:33:43.950>views. <00:33:44.300>There

673
00:33:45.300 --> 00:33:48.100
<00:33:45.300>are <00:33:45.766>several. <00:33:46.233>It <00:33:46.700>could

674
00:33:48.100 --> 00:33:51.200
<00:33:48.100>be <00:33:48.199>a <00:33:48.300>femoral. <00:33:48.399>So <00:33:48.500>in <00:33:48.600>the <00:33:48.699>case <00:33:48.800>for <00:33:48.899>instance <00:33:49.000>you <00:33:49.100>want <00:33:49.199>to <00:33:49.300>pass <00:33:49.399>an <00:33:49.500>ad

675
00:33:51.200 --> 00:33:54.600
<00:33:51.200>you <00:33:51.307>don't <00:33:51.415>need <00:33:51.523>to <00:33:51.630>store <00:33:51.738>on <00:33:51.846>a <00:33:51.953>session <00:33:52.061>store <00:33:52.169>or <00:33:52.276>local <00:33:52.384>storage. <00:33:52.492>What <00:33:52.600>you

676
00:33:54.600 --> 00:33:57.600
<00:33:54.600>need <00:33:54.707>to <00:33:54.815>do <00:33:54.923>is <00:33:55.030>just <00:33:55.138>passing <00:33:55.246>maybe <00:33:55.353>in <00:33:55.461>quite <00:33:55.569>a <00:33:55.676>string <00:33:55.784>like <00:33:55.892>imagine <00:33:56.000>a

677
00:33:57.600 --> 00:34:02.500
<00:33:57.600>e-commerce <00:33:57.800>that <00:33:58.000>you <00:33:58.199>are <00:33:58.399>moving <00:33:58.600>from <00:33:58.800>one <00:33:59.000>generic

678
00:34:00.500 --> 00:34:03.600
<00:34:00.500>view <00:34:00.966>of <00:34:01.433>multiple <00:34:01.900>elements

679
00:34:03.600 --> 00:34:06.200
<00:34:03.600>to <00:34:03.833>the <00:34:04.066>detail <00:34:04.300>page. <00:34:04.533>And <00:34:04.766>in <00:34:05.000>that

680
00:34:06.200 --> 00:34:09.000
<00:34:06.200>case, <00:34:06.327>what <00:34:06.454>you <00:34:06.581>could <00:34:06.709>do <00:34:06.836>is <00:34:06.963>just <00:34:07.090>passing <00:34:07.218>the <00:34:07.345>idea <00:34:07.472>of <00:34:07.600>the

681
00:34:09.300 --> 00:34:12.900
<00:34:09.300>element <00:34:09.440>selected <00:34:09.580>by <00:34:09.720>the <00:34:09.860>customer <00:34:10.000>in <00:34:10.140>the <00:34:10.280>query <00:34:10.420>string <00:34:10.560>ephemeral. <00:34:10.700>You

682
00:34:12.900 --> 00:34:15.600
<00:34:12.900>don't <00:34:13.055>have <00:34:13.211>to <00:34:13.366>store <00:34:13.522>anywhere <00:34:13.677>and <00:34:13.833>then <00:34:13.988>by <00:34:14.144>convention <00:34:14.300>the

683
00:34:15.600 --> 00:34:18.200
<00:34:15.600>other <00:34:15.707>team <00:34:15.815>will <00:34:15.923>pick <00:34:16.030>it <00:34:16.138>up <00:34:16.246>and <00:34:16.353>start <00:34:16.461>to <00:34:16.569>load <00:34:16.676>the <00:34:16.784>detail <00:34:16.892>of <00:34:17.000>specific.

684
00:34:18.600 --> 00:34:21.100
<00:34:18.600>Event <00:34:18.775>if <00:34:18.949>it's <00:34:19.125>not <00:34:19.299>ephemeral <00:34:19.475>and <00:34:19.650>you <00:34:19.824>want <00:34:20.000>to

685
00:34:21.100 --> 00:34:24.600
<00:34:21.100>instead <00:34:21.380>store <00:34:21.659>data <00:34:21.940>like <00:34:22.219>a <00:34:22.500>jwd

686
00:34:24.600 --> 00:34:27.100
<00:34:24.600>token <00:34:24.775>depends <00:34:24.949>from <00:34:25.125>the <00:34:25.299>level <00:34:25.475>of <00:34:25.650>security <00:34:25.824>you <00:34:26.000>are

687
00:34:27.100 --> 00:34:31.400
<00:34:27.100>looking <00:34:27.299>for <00:34:27.500>so <00:34:27.699>JWT <00:34:27.900>might <00:34:28.100>be <00:34:28.299>okay <00:34:28.500>to

688
00:34:31.400 --> 00:34:34.600
<00:34:31.400>store <00:34:31.516>on <00:34:31.633>a <00:34:31.750>cookie <00:34:31.866>or <00:34:31.983>a <00:34:32.100>locker <00:34:32.216>storage <00:34:32.333>for <00:34:32.450>a <00:34:32.566>bit <00:34:32.683>more <00:34:32.800>persistence

689
00:34:34.600 --> 00:34:37.800
<00:34:34.600>my <00:34:34.755>baby, <00:34:34.911>you <00:34:35.066>have <00:34:35.222>a <00:34:35.377>stronger <00:34:35.533>security <00:34:35.688>reason <00:34:35.844>and <00:34:36.000>in

690
00:34:37.800 --> 00:34:40.400
<00:34:37.800>that <00:34:37.955>case <00:34:38.111>probably <00:34:38.266>a <00:34:38.422>web <00:34:38.577>worker <00:34:38.733>could <00:34:38.888>be <00:34:39.044>an <00:34:39.200>idea

691
00:34:40.400 --> 00:34:43.600
<00:34:40.400>because <00:34:40.527>you <00:34:40.654>can <00:34:40.781>store <00:34:40.909>in <00:34:41.036>memory, <00:34:41.163>but <00:34:41.290>you <00:34:41.418>know <00:34:41.545>that <00:34:41.672>the <00:34:41.800>drawback

692
00:34:43.600 --> 00:34:46.500
<00:34:43.600>great <00:34:43.833>off <00:34:44.066>again <00:34:44.299>is <00:34:44.533>that <00:34:44.766>the <00:34:45.000>next

693
00:34:46.500 --> 00:34:49.400
<00:34:46.500>time <00:34:46.733>the <00:34:46.966>user <00:34:47.199>has <00:34:47.433>to <00:34:47.666>authenticate <00:34:47.900>again,

694
00:34:49.400 --> 00:34:53.000
<00:34:49.400>so <00:34:49.527>you <00:34:49.654>need <00:34:49.781>to <00:34:49.909>find <00:34:50.036>what <00:34:50.163>you're <00:34:50.290>looking <00:34:50.418>for <00:34:50.545>and <00:34:50.672>between <00:34:50.800>security

695
00:34:52.400 --> 00:34:54.600
<00:34:52.400>and <00:34:52.680>user <00:34:52.960>experience <00:34:53.240>in <00:34:53.520>this <00:34:53.800>case.

696
00:34:55.200 --> 00:34:58.700
<00:34:55.199>Okay, <00:34:55.399>thank <00:34:55.600>you. <00:34:55.799>And <00:34:56.000>next <00:34:56.199>question. <00:34:56.399>What <00:34:56.600>is

697
00:34:58.700 --> 00:35:01.700
<00:34:58.700>your <00:34:58.980>opinion <00:34:59.259>on <00:34:59.540>multiple? <00:34:59.819>Micro <00:35:00.100>front

698
00:35:01.700 --> 00:35:04.300
<00:35:01.700>ends <00:35:01.980>being <00:35:02.259>developed <00:35:02.540>in <00:35:02.819>a <00:35:03.100>single

699
00:35:04.300 --> 00:35:07.600
<00:35:04.300>repository. <00:35:04.500>I'm <00:35:04.700>on <00:35:04.900>a <00:35:05.100>repo <00:35:05.300>versus <00:35:05.500>multirapo. <00:35:05.700>Okay.

700
00:35:07.600 --> 00:35:10.800
<00:35:07.600>That's <00:35:07.880>a <00:35:08.160>great <00:35:08.440>question. <00:35:08.720>I <00:35:09.000>don't

701
00:35:10.800 --> 00:35:13.900
<00:35:10.800>have <00:35:11.033>a <00:35:11.266>strong <00:35:11.500>opinion <00:35:11.733>on <00:35:11.966>mono <00:35:12.200>repo

702
00:35:13.900 --> 00:35:15.800
<00:35:13.900>or <00:35:14.250>multiripo <00:35:14.600>and <00:35:14.950>explain <00:35:15.300>why?

703
00:35:17.800 --> 00:35:20.700
<00:35:17.800>When <00:35:17.955>I <00:35:18.111>was <00:35:18.266>this <00:35:18.422>question <00:35:18.577>was <00:35:18.733>coming <00:35:18.888>up <00:35:19.044>very <00:35:19.200>often.

704
00:35:20.700 --> 00:35:23.600
<00:35:20.700>So <00:35:20.875>I <00:35:21.049>started <00:35:21.225>to <00:35:21.399>to <00:35:21.575>let's <00:35:21.750>say <00:35:21.924>gather <00:35:22.100>my

705
00:35:23.600 --> 00:35:26.600
<00:35:23.600>experience <00:35:23.833>in <00:35:24.066>most <00:35:24.299>contexts <00:35:24.533>the <00:35:24.766>it <00:35:25.000>depends

706
00:35:26.600 --> 00:35:29.500
<00:35:26.600>what <00:35:26.727>you <00:35:26.854>are <00:35:26.981>trying <00:35:27.109>to <00:35:27.236>optimize <00:35:27.363>for. <00:35:27.490>So <00:35:27.618>in <00:35:27.745>modern <00:35:27.872>repo <00:35:28.000>allows

707
00:35:29.500 --> 00:35:32.800
<00:35:29.500>you <00:35:29.655>to <00:35:29.811>have <00:35:29.966>a <00:35:30.122>lot <00:35:30.277>of <00:35:30.433>discoverability <00:35:30.588>because <00:35:30.744>and <00:35:30.900>new

708
00:35:32.800 --> 00:35:35.700
<00:35:32.800>team <00:35:32.975>can <00:35:33.150>see <00:35:33.325>how <00:35:33.500>other <00:35:33.675>teams <00:35:33.850>are <00:35:34.025>implementing <00:35:34.200>certain

709
00:35:35.700 --> 00:35:38.400
<00:35:35.700>things <00:35:36.166>and <00:35:36.633>also <00:35:37.100>allows

710
00:35:38.400 --> 00:35:41.600
<00:35:38.400>you <00:35:38.633>to <00:35:38.866>let's <00:35:39.100>say <00:35:39.333>have <00:35:39.566>visibility <00:35:39.800>of

711
00:35:41.600 --> 00:35:44.200
<00:35:41.600>the <00:35:41.740>entire <00:35:41.880>project. <00:35:42.020>So <00:35:42.160>if <00:35:42.299>a <00:35:42.440>new <00:35:42.580>library <00:35:42.720>bubbles <00:35:42.860>up <00:35:43.000>for

712
00:35:44.200 --> 00:35:47.200
<00:35:44.200>share <00:35:44.375>dependencies <00:35:44.549>great <00:35:44.725>on <00:35:44.899>the <00:35:45.075>other <00:35:45.250>side, <00:35:45.424>you <00:35:45.600>need

713
00:35:47.200 --> 00:35:50.100
<00:35:47.200>to <00:35:47.355>be <00:35:47.511>very <00:35:47.666>disciplinated. <00:35:47.822>So <00:35:47.977>you <00:35:48.133>need <00:35:48.288>to <00:35:48.444>maintain <00:35:48.600>your

714
00:35:50.100 --> 00:35:53.300
<00:35:50.100>code <00:35:50.227>and <00:35:50.354>bump <00:35:50.481>up <00:35:50.609>your <00:35:50.736>version <00:35:50.863>and <00:35:50.990>try <00:35:51.118>to <00:35:51.245>be <00:35:51.372>aligned <00:35:51.500>on

715
00:35:53.300 --> 00:35:53.700
<00:35:53.300>that <00:35:53.660>and

716
00:35:54.300 --> 00:35:57.300
<00:35:54.300>Certain <00:35:54.475>teams <00:35:54.650>works <00:35:54.825>pretty <00:35:55.000>well <00:35:55.175>certain <00:35:55.350>others. <00:35:55.525>They <00:35:55.700>struggle

717
00:35:57.300 --> 00:36:00.300
<00:35:57.300>with <00:35:57.475>the <00:35:57.650>other <00:35:57.825>drawback <00:35:58.000>is <00:35:58.175>the <00:35:58.350>ci/cd <00:35:58.525>when <00:35:58.700>you

718
00:36:00.300 --> 00:36:03.400
<00:36:00.300>start <00:36:00.440>to <00:36:00.580>became <00:36:00.720>very <00:36:00.860>very <00:36:01.000>large. <00:36:01.140>It <00:36:01.280>might <00:36:01.420>be <00:36:01.560>daunting <00:36:01.700>and

719
00:36:03.400 --> 00:36:07.200
<00:36:03.400>one <00:36:03.600>suggesting. <00:36:03.800>Usually <00:36:04.000>I <00:36:04.200>have <00:36:04.400>there <00:36:04.600>is <00:36:04.800>trying

720
00:36:06.200 --> 00:36:09.200
<00:36:06.200>to <00:36:06.899>let's <00:36:07.600>say

721
00:36:09.200 --> 00:36:13.800
<00:36:09.200>clone <00:36:09.355>only <00:36:09.511>a <00:36:09.666>portion <00:36:09.822>of <00:36:09.977>the <00:36:10.133>project <00:36:10.288>that <00:36:10.444>is <00:36:10.600>dual

722
00:36:12.800 --> 00:36:15.300
<00:36:12.800>doable <00:36:13.150>with <00:36:13.500>the <00:36:13.850>git <00:36:14.200>sports.

723
00:36:15.300 --> 00:36:19.200
<00:36:15.300>Check <00:36:15.475>out <00:36:15.650>command <00:36:15.825>that <00:36:16.000>is <00:36:16.175>available <00:36:16.350>in <00:36:16.525>GitHub <00:36:16.700>2.4

724
00:36:18.200 --> 00:36:21.300
<00:36:18.200>from <00:36:18.399>well, <00:36:18.600>I <00:36:18.799>need <00:36:19.000>to <00:36:19.200>double <00:36:19.399>check <00:36:19.600>the

725
00:36:21.300 --> 00:36:24.500
<00:36:21.300>version <00:36:21.455>but <00:36:21.611>basically <00:36:21.766>allows <00:36:21.922>you <00:36:22.077>to <00:36:22.233>do <00:36:22.388>in <00:36:22.544>a <00:36:22.700>repository

726
00:36:24.500 --> 00:36:27.300
<00:36:24.500>which <00:36:24.700>using <00:36:24.900>sparse <00:36:25.100>check <00:36:25.300>out <00:36:25.500>to <00:36:25.700>just <00:36:25.900>check

727
00:36:27.300 --> 00:36:30.300
<00:36:27.300>out <00:36:27.500>a <00:36:27.700>portion <00:36:27.900>of <00:36:28.100>the <00:36:28.300>entire <00:36:28.500>mono <00:36:28.700>repo.

728
00:36:30.300 --> 00:36:33.600
<00:36:30.300>So <00:36:30.475>you <00:36:30.650>don't <00:36:30.825>have <00:36:31.000>to <00:36:31.175>replicate <00:36:31.350>an <00:36:31.525>entire <00:36:31.700>repo

729
00:36:33.600 --> 00:36:36.200
<00:36:33.600>inside <00:36:33.880>your <00:36:34.160>cic <00:36:34.440>system <00:36:34.720>multiple <00:36:35.000>times

730
00:36:36.200 --> 00:36:39.600
<00:36:36.200>per <00:36:36.399>day <00:36:36.600>that <00:36:36.799>is <00:36:37.000>a <00:36:37.200>problem <00:36:37.399>and <00:36:37.600>also

731
00:36:39.600 --> 00:36:42.400
<00:36:39.600>it's <00:36:39.755>time <00:36:39.911>consuming <00:36:40.066>but <00:36:40.222>you <00:36:40.377>can <00:36:40.533>just <00:36:40.688>have <00:36:40.844>let's <00:36:41.000>say

732
00:36:42.400 --> 00:36:45.700
<00:36:42.400>an <00:36:42.633>optimization. <00:36:42.866>Usually <00:36:43.100>Mona <00:36:43.333>reports <00:36:43.566>more <00:36:43.800>effort

733
00:36:45.700 --> 00:36:48.700
<00:36:45.700>in <00:36:45.899>the <00:36:46.100>long <00:36:46.299>run <00:36:46.500>for <00:36:46.700>maintaining <00:36:46.899>a <00:36:47.100>large

734
00:36:48.700 --> 00:36:51.600
<00:36:48.700>application <00:36:49.399>multi <00:36:50.100>repo.

735
00:36:51.600 --> 00:36:54.000
<00:36:51.600>It's <00:36:51.799>completely <00:36:52.000>different. <00:36:52.200>So <00:36:52.400>there <00:36:52.600>you <00:36:52.799>are <00:36:53.000>optimizing

736
00:36:54.300 --> 00:36:57.900
<00:36:54.300>Defining <00:36:54.455>the <00:36:54.611>apis. <00:36:54.766>So <00:36:54.922>you <00:36:55.077>want <00:36:55.233>to <00:36:55.388>have <00:36:55.544>strong <00:36:55.700>contracts

737
00:36:57.900 --> 00:37:00.300
<00:36:57.900>between <00:36:58.100>teams <00:36:58.300>you <00:36:58.500>don't <00:36:58.700>care <00:36:58.900>on <00:36:59.100>sharing <00:36:59.300>too

738
00:37:00.300 --> 00:37:04.400
<00:37:00.300>much <00:37:00.533>you <00:37:00.766>care <00:37:01.000>on <00:37:01.233>providing <00:37:01.466>a <00:37:01.700>simple

739
00:37:03.400 --> 00:37:06.400
<00:37:03.400>way <00:37:03.680>to <00:37:03.960>to <00:37:04.240>handle <00:37:04.520>things. <00:37:04.800>But

740
00:37:06.400 --> 00:37:09.300
<00:37:06.400>obviously <00:37:06.600>the <00:37:06.800>drawback <00:37:07.000>is <00:37:07.200>discoverability <00:37:07.400>is <00:37:07.600>lacking <00:37:07.800>Because

741
00:37:09.300 --> 00:37:12.400
<00:37:09.300>unless <00:37:09.455>you <00:37:09.611>know <00:37:09.766>the <00:37:09.922>repository <00:37:10.077>and <00:37:10.233>can <00:37:10.388>go <00:37:10.544>very <00:37:10.700>quickly

742
00:37:12.400 --> 00:37:15.300
<00:37:12.400>how <00:37:12.540>to <00:37:12.680>dance <00:37:12.820>can <00:37:12.960>guarantee <00:37:13.100>you <00:37:13.240>I <00:37:13.380>was <00:37:13.520>working <00:37:13.660>before <00:37:13.800>for

743
00:37:15.300 --> 00:37:18.400
<00:37:15.300>a <00:37:15.427>company <00:37:15.554>called <00:37:15.681>The <00:37:15.809>Zone <00:37:15.936>the <00:37:16.063>probably <00:37:16.190>quite <00:37:16.318>a <00:37:16.445>few <00:37:16.572>people <00:37:16.700>here

744
00:37:18.400 --> 00:37:21.100
<00:37:18.400>in <00:37:18.633>Germany <00:37:18.866>knows <00:37:19.100>that <00:37:19.333>and <00:37:19.566>we <00:37:19.800>have

745
00:37:21.100 --> 00:37:24.100
<00:37:21.100>hundreds <00:37:21.299>of <00:37:21.500>developers <00:37:21.700>and <00:37:21.900>we <00:37:22.100>have <00:37:22.299>thousands <00:37:22.500>of

746
00:37:24.100 --> 00:37:27.300
<00:37:24.100>GitHub <00:37:24.333>repositories. <00:37:24.566>So <00:37:24.799>it <00:37:25.033>can <00:37:25.266>goes <00:37:25.500>out

747
00:37:27.300 --> 00:37:30.300
<00:37:27.300>of <00:37:27.455>that <00:37:27.611>very <00:37:27.766>quickly. <00:37:27.922>Therefore <00:37:28.077>the <00:37:28.233>discoverability <00:37:28.388>part <00:37:28.544>discoverability <00:37:28.700>part

748
00:37:30.300 --> 00:37:33.500
<00:37:30.300>definitely <00:37:30.440>would <00:37:30.580>be <00:37:30.720>a <00:37:30.860>problem <00:37:31.000>in <00:37:31.140>a <00:37:31.280>center <00:37:31.420>like <00:37:31.560>that. <00:37:31.700>Therefore

749
00:37:33.500 --> 00:37:36.500
<00:37:33.500>I <00:37:33.640>don't <00:37:33.780>have <00:37:33.920>a <00:37:34.060>preference <00:37:34.200>like <00:37:34.340>you <00:37:34.480>see <00:37:34.620>I <00:37:34.760>just <00:37:34.900>want

750
00:37:36.500 --> 00:37:39.300
<00:37:36.500>to <00:37:36.780>suggest <00:37:37.060>try <00:37:37.340>to <00:37:37.620>understand <00:37:37.900>what

751
00:37:39.300 --> 00:37:42.400
<00:37:39.300>you <00:37:39.427>are <00:37:39.554>trying <00:37:39.681>to <00:37:39.809>optimize <00:37:39.936>for <00:37:40.063>and <00:37:40.190>pick <00:37:40.318>the <00:37:40.445>right <00:37:40.572>approach <00:37:40.700>for

752
00:37:42.400 --> 00:37:42.900
<00:37:42.400>for <00:37:42.850>that.

753
00:37:44.500 --> 00:37:47.800
<00:37:44.500>Time <00:37:44.700>for <00:37:44.900>one <00:37:45.100>last <00:37:45.300>question <00:37:45.500>what <00:37:45.700>percentage <00:37:45.900>of

754
00:37:47.800 --> 00:37:50.800
<00:37:47.800>percentage <00:37:48.000>of <00:37:48.200>the <00:37:48.400>time <00:37:48.600>are <00:37:48.800>micro <00:37:49.000>front <00:37:49.200>ads

755
00:37:50.800 --> 00:37:52.100
<00:37:50.800>used <00:37:51.092>when <00:37:51.385>they <00:37:51.677>shouldn't <00:37:51.970>be?

756
00:37:52.900 --> 00:37:55.800
<00:37:52.900>Sorry, <00:37:53.075>can <00:37:53.250>you <00:37:53.425>repeat <00:37:53.600>that <00:37:53.775>help <00:37:53.950>how <00:37:54.125>often <00:37:54.300>are

757
00:37:55.800 --> 00:37:58.300
<00:37:55.800>micro <00:37:55.975>front <00:37:56.150>ends <00:37:56.325>used <00:37:56.500>when <00:37:56.675>they <00:37:56.850>shouldn't <00:37:57.025>be? <00:37:57.200>So

758
00:37:58.300 --> 00:38:01.300
<00:37:58.300>the <00:37:58.500>percentage <00:37:58.700>of <00:37:58.900>the <00:37:59.100>time <00:37:59.300>I <00:37:59.500>have <00:37:59.700>seen

759
00:38:01.300 --> 00:38:04.600
<00:38:01.300>as <00:38:01.580>usual <00:38:01.860>that <00:38:02.140>many <00:38:02.420>developers <00:38:02.700>or

760
00:38:04.600 --> 00:38:08.600
<00:38:04.600>companies <00:38:04.775>are <00:38:04.950>trying <00:38:05.125>to <00:38:05.299>use <00:38:05.475>microphone <00:38:05.650>tents <00:38:05.825>and <00:38:06.000>sometimes

761
00:38:07.600 --> 00:38:10.100
<00:38:07.600>in <00:38:07.950>my <00:38:08.299>opinion. <00:38:08.650>They <00:38:09.000>don't

762
00:38:10.100 --> 00:38:14.100
<00:38:10.100>make <00:38:10.255>too <00:38:10.411>much <00:38:10.566>sense <00:38:10.722>mainly <00:38:10.877>because <00:38:11.033>we <00:38:11.188>are <00:38:11.344>we <00:38:11.500>distributed

763
00:38:13.100 --> 00:38:16.700
<00:38:13.100>system. <00:38:13.255>We <00:38:13.411>are <00:38:13.566>solving <00:38:13.722>a <00:38:13.877>specific <00:38:14.033>problem <00:38:14.188>that <00:38:14.344>is <00:38:14.500>not

764
00:38:16.700 --> 00:38:19.400
<00:38:16.700>only <00:38:17.049>independent <00:38:17.399>deployment. <00:38:17.750>But <00:38:18.100>also

765
00:38:19.400 --> 00:38:22.000
<00:38:19.400>the <00:38:19.866>the <00:38:20.333>fact <00:38:20.800>that

766
00:38:22.100 --> 00:38:25.100
<00:38:22.100>you <00:38:22.216>are <00:38:22.333>scaling <00:38:22.450>your <00:38:22.566>organization <00:38:22.683>the <00:38:22.799>moment <00:38:22.916>that <00:38:23.033>you <00:38:23.150>have <00:38:23.266>a <00:38:23.383>team <00:38:23.500>of

767
00:38:25.100 --> 00:38:28.500
<00:38:25.100>Five <00:38:25.275>People <00:38:25.450>You <00:38:25.625>Can <00:38:25.799>Have <00:38:25.975>independent <00:38:26.150>deployments. <00:38:26.325>Also <00:38:26.500>in

768
00:38:28.500 --> 00:38:31.300
<00:38:28.500>other <00:38:28.733>ways <00:38:28.966>the <00:38:29.200>cause <00:38:29.433>of <00:38:29.666>modularity <00:38:29.900>can

769
00:38:31.300 --> 00:38:34.600
<00:38:31.300>be <00:38:31.455>reached <00:38:31.611>in <00:38:31.766>several <00:38:31.922>other <00:38:32.077>ways <00:38:32.233>with <00:38:32.388>the <00:38:32.544>fruit <00:38:32.700>design

770
00:38:34.600 --> 00:38:37.100
<00:38:34.600>partner <00:38:34.950>and <00:38:35.299>capsulation <00:38:35.650>a <00:38:36.000>bit

771
00:38:37.100 --> 00:38:40.300
<00:38:37.100>of <00:38:37.255>discipline <00:38:37.411>of <00:38:37.566>developers. <00:38:37.722>You <00:38:37.877>can <00:38:38.033>even <00:38:38.188>divide <00:38:38.344>by <00:38:38.500>chance.

772
00:38:40.300 --> 00:38:43.200
<00:38:40.300>If <00:38:40.533>you're <00:38:40.766>using <00:38:41.000>specific <00:38:41.233>Prosperity <00:38:41.466>that <00:38:41.700>allows

773
00:38:43.200 --> 00:38:47.800
<00:38:43.200>you <00:38:43.307>to <00:38:43.415>divide <00:38:43.523>that <00:38:43.630>so <00:38:43.738>you <00:38:43.846>can <00:38:43.953>reach <00:38:44.061>a <00:38:44.169>certain <00:38:44.276>level <00:38:44.384>of <00:38:44.492>modularity. <00:38:44.600>You

774
00:38:47.800 --> 00:38:50.600
<00:38:47.800>don't <00:38:47.955>really <00:38:48.111>need <00:38:48.266>to <00:38:48.422>go <00:38:48.577>to <00:38:48.733>the <00:38:48.888>extreme <00:38:49.044>and <00:38:49.200>move

775
00:38:50.600 --> 00:38:52.500
<00:38:50.600>straight <00:38:50.880>to <00:38:51.160>to <00:38:51.440>microphone <00:38:51.720>dance <00:38:52.000>therefore.

776
00:38:52.700 --> 00:38:55.700
<00:38:52.700>I <00:38:52.827>don't <00:38:52.954>believe <00:38:53.081>my <00:38:53.209>current <00:38:53.336>events <00:38:53.463>are <00:38:53.590>a <00:38:53.718>silver <00:38:53.845>bullet <00:38:53.972>at <00:38:54.100>all.

777
00:38:55.700 --> 00:38:58.100
<00:38:55.700>But <00:38:55.933>they <00:38:56.166>are <00:38:56.399>we <00:38:56.633>were <00:38:56.866>lacking <00:38:57.100>in

778
00:38:58.100 --> 00:39:01.900
<00:38:58.100>the <00:38:58.227>frontend <00:38:58.354>world <00:38:58.481>of <00:38:58.609>something <00:38:58.736>that <00:38:58.863>allowed <00:38:58.990>us <00:38:59.118>to <00:38:59.245>scale <00:38:59.372>with <00:38:59.500>tense

779
00:39:01.900 --> 00:39:04.400
<00:39:01.900>of <00:39:02.133>even <00:39:02.366>hundreds <00:39:02.600>of <00:39:02.833>people <00:39:03.066>in <00:39:03.300>the

780
00:39:04.400 --> 00:39:07.100
<00:39:04.400>same <00:39:04.575>organization <00:39:04.750>working <00:39:04.925>on <00:39:05.100>the <00:39:05.275>same <00:39:05.450>project. <00:39:05.625>And <00:39:05.800>that

781
00:39:07.100 --> 00:39:10.800
<00:39:07.100>is <00:39:07.299>the <00:39:07.500>answer <00:39:07.700>for <00:39:07.900>that <00:39:08.100>need. <00:39:08.299>Now <00:39:08.500>how

782
00:39:10.800 --> 00:39:13.300
<00:39:10.800>many <00:39:11.080>companies <00:39:11.360>are <00:39:11.640>embracing <00:39:11.920>that <00:39:12.200>looking

783
00:39:13.300 --> 00:39:16.200
<00:39:13.300>at <00:39:13.500>the <00:39:13.700>state <00:39:13.900>of <00:39:14.100>front <00:39:14.300>end <00:39:14.500>that <00:39:14.700>I

784
00:39:16.200 --> 00:39:19.900
<00:39:16.200>took <00:39:16.549>part <00:39:16.899>recently. <00:39:17.250>We <00:39:17.600>I

785
00:39:19.900 --> 00:39:23.100
<00:39:19.900>think <00:39:20.180>that <00:39:20.460>we're <00:39:20.740>on <00:39:21.020>4,000 <00:39:21.300>developers

786
00:39:22.100 --> 00:39:25.100
<00:39:22.100>worldwide <00:39:22.450>25% <00:39:22.799>of <00:39:23.150>people <00:39:23.500>that

787
00:39:25.100 --> 00:39:28.600
<00:39:25.100>use <00:39:25.255>microphone <00:39:25.411>dancing <00:39:25.566>production. <00:39:25.722>So <00:39:25.877>that <00:39:26.033>tells <00:39:26.188>you <00:39:26.344>already <00:39:26.500>a

788
00:39:28.600 --> 00:39:31.200
<00:39:28.600>story <00:39:28.755>there <00:39:28.911>are <00:39:29.066>certain <00:39:29.222>small <00:39:29.377>teams <00:39:29.533>that <00:39:29.688>they <00:39:29.844>were <00:39:30.000>used

789
00:39:31.200 --> 00:39:34.100
<00:39:31.200>microphone <00:39:31.480>dance <00:39:31.759>for <00:39:32.040>because <00:39:32.319>they <00:39:32.600>were

790
00:39:34.100 --> 00:39:37.300
<00:39:34.100>developing <00:39:34.333>a <00:39:34.566>soft <00:39:34.799>product <00:39:35.033>with <00:39:35.266>customization <00:39:35.500>for

791
00:39:38.200 --> 00:39:41.200
<00:39:38.200>For <00:39:38.375>customers <00:39:38.549>therefore <00:39:38.725>they <00:39:38.899>want <00:39:39.075>to <00:39:39.250>reuse <00:39:39.424>90% <00:39:39.600>of

792
00:39:41.200 --> 00:39:44.600
<00:39:41.200>the <00:39:41.355>application <00:39:41.511>but <00:39:41.666>customize <00:39:41.822>a <00:39:41.977>specific <00:39:42.133>portion <00:39:42.288>and <00:39:42.444>deploy <00:39:42.600>independently

793
00:39:44.600 --> 00:39:47.500
<00:39:44.600>that <00:39:44.833>is <00:39:45.066>another <00:39:45.299>for <00:39:45.533>a <00:39:45.766>multi-tenant <00:39:46.000>approach

794
00:39:47.500 --> 00:39:50.200
<00:39:47.500>is <00:39:47.675>another <00:39:47.850>way <00:39:48.025>that <00:39:48.200>you <00:39:48.375>might <00:39:48.550>might <00:39:48.725>think <00:39:48.900>about

795
00:39:50.200 --> 00:39:53.700
<00:39:50.200>but <00:39:50.480>that's <00:39:50.759>usually <00:39:51.040>let's <00:39:51.319>say <00:39:51.600>the

796
00:39:53.700 --> 00:39:56.300
<00:39:53.700>two <00:39:53.855>ways <00:39:54.011>that <00:39:54.166>I've <00:39:54.322>seen <00:39:54.477>large <00:39:54.633>organized <00:39:54.788>medium <00:39:54.944>size <00:39:55.100>large

797
00:39:56.300 --> 00:39:58.600
<00:39:56.300>organization <00:39:56.766>and <00:39:57.233>multi-tenant <00:39:57.700>applications.

798
00:39:59.500 --> 00:40:02.700
<00:39:59.500>Thank <00:39:59.640>you <00:39:59.780>so <00:39:59.920>much <00:40:00.060>Luca <00:40:00.200>as <00:40:00.340>he <00:40:00.480>said <00:40:00.620>he's <00:40:00.760>around <00:40:00.900>at

799
00:40:02.700 --> 00:40:05.700
<00:40:02.700>the <00:40:02.875>conference <00:40:03.049>and <00:40:03.225>tomorrow. <00:40:03.399>So <00:40:03.575>if <00:40:03.750>you <00:40:03.924>find <00:40:04.100>him

800
00:40:05.700 --> 00:40:08.500
<00:40:05.700>here <00:40:05.899>at <00:40:06.100>this <00:40:06.299>place, <00:40:06.500>then <00:40:06.700>please <00:40:06.899>ask <00:40:07.100>his

801
00:40:08.500 --> 00:40:10.900
<00:40:08.500>questions. <00:40:08.780>Thank <00:40:09.060>you <00:40:09.340>very <00:40:09.620>much <00:40:09.900>Luca.