WEBVTT

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

2
00:00:11.700 --> 00:00:14.100
<00:00:11.700>So <00:00:11.899>I <00:00:12.100>just <00:00:12.299>said <00:00:12.500>that <00:00:12.700>today <00:00:12.899>I'll <00:00:13.100>be

3
00:00:14.100 --> 00:00:17.800
<00:00:14.100>talking <00:00:14.333>about <00:00:14.566>kubernetes <00:00:14.799>microservices <00:00:15.033>and <00:00:15.266>multi-model <00:00:15.500>databases.

4
00:00:17.800 --> 00:00:20.400
<00:00:17.800>Okay, <00:00:18.150>and <00:00:18.500>our <00:00:18.850>slight <00:00:19.200>I

5
00:00:20.400 --> 00:00:23.300
<00:00:20.400>will <00:00:20.507>talk <00:00:20.615>about <00:00:20.723>slightly <00:00:20.830>out <00:00:20.938>of <00:00:21.046>order. <00:00:21.153>But <00:00:21.261>those <00:00:21.369>are <00:00:21.476>the <00:00:21.584>three <00:00:21.692>things <00:00:21.799>that

6
00:00:23.300 --> 00:00:24.800
<00:00:23.300>I <00:00:23.525>want <00:00:23.750>you <00:00:23.975>to <00:00:24.200>take <00:00:24.425>away <00:00:24.650>with.

7
00:00:28.700 --> 00:00:31.100
<00:00:28.700>Start <00:00:28.933>with <00:00:29.166>I <00:00:29.400>want <00:00:29.633>to <00:00:29.866>talk <00:00:30.099>about

8
00:00:31.100 --> 00:00:34.700
<00:00:31.100>all <00:00:31.240>these <00:00:31.380>Technologies <00:00:31.520>within <00:00:31.660>the <00:00:31.800>context <00:00:31.940>of <00:00:32.080>the <00:00:32.220>Oracle <00:00:32.360>database <00:00:32.500>because

9
00:00:34.700 --> 00:00:37.900
<00:00:34.700>that <00:00:34.816>is <00:00:34.933>where <00:00:35.050>I <00:00:35.166>know <00:00:35.283>the <00:00:35.400>best <00:00:35.516>but <00:00:35.633>you <00:00:35.750>could <00:00:35.866>generalize <00:00:35.983>those <00:00:36.100>learnings

10
00:00:37.900 --> 00:00:40.100
<00:00:37.900>to <00:00:38.366>other <00:00:38.833>databases, <00:00:39.300>right?

11
00:00:41.300 --> 00:00:44.400
<00:00:41.300>So <00:00:41.533>I <00:00:41.766>use <00:00:42.000>a <00:00:42.233>term <00:00:42.466>multi-model <00:00:42.699>because

12
00:00:44.400 --> 00:00:47.200
<00:00:44.400>that <00:00:44.540>is <00:00:44.680>a <00:00:44.820>term <00:00:44.960>that <00:00:45.100>is <00:00:45.239>commonly <00:00:45.379>accepted <00:00:45.519>by <00:00:45.660>most <00:00:45.800>people

13
00:00:47.200 --> 00:00:50.800
<00:00:47.200>right <00:00:47.375>within <00:00:47.550>Oracle. <00:00:47.725>We <00:00:47.900>call <00:00:48.075>the <00:00:48.250>converged <00:00:48.425>database. <00:00:48.600>And

14
00:00:50.800 --> 00:00:53.800
<00:00:50.800>so <00:00:50.955>the <00:00:51.111>idea <00:00:51.266>is <00:00:51.422>that <00:00:51.577>within <00:00:51.733>a <00:00:51.888>single <00:00:52.044>database <00:00:52.199>engine

15
00:00:53.800 --> 00:00:56.300
<00:00:53.800>we <00:00:54.080>can <00:00:54.360>store <00:00:54.640>multiple <00:00:54.919>data <00:00:55.199>types.

16
00:00:57.100 --> 00:01:00.600
<00:00:57.100>Okay, <00:00:57.227>so <00:00:57.354>most <00:00:57.481>people <00:00:57.609>are <00:00:57.736>very <00:00:57.863>familiar <00:00:57.990>with <00:00:58.118>the <00:00:58.245>fact <00:00:58.372>that <00:00:58.500>the

17
00:01:00.600 --> 00:01:03.900
<00:01:00.600>organ <00:01:00.880>database <00:01:01.160>handles <00:01:01.440>relational <00:01:01.720>data, <00:01:02.000>you

18
00:01:03.900 --> 00:01:06.400
<00:01:03.900>know, <00:01:04.039>what <00:01:04.179>is <00:01:04.319>less <00:01:04.459>well <00:01:04.599>known <00:01:04.739>is <00:01:04.879>that <00:01:05.019>we <00:01:05.160>also <00:01:05.300>handle

19
00:01:06.400 --> 00:01:07.000
Json.

20
00:01:07.600 --> 00:01:11.200
<00:01:07.600>We <00:01:07.949>handle <00:01:08.300>text <00:01:08.649>spatial <00:01:09.000>graph

21
00:01:10.200 --> 00:01:13.700
<00:01:10.200>machine <00:01:10.550>learning <00:01:10.900>as <00:01:11.250>was <00:01:11.600>blockchain.

22
00:01:14.600 --> 00:01:17.500
<00:01:14.600>Okay. <00:01:14.774>So <00:01:14.949>these <00:01:15.125>are <00:01:15.300>things <00:01:15.475>technologies <00:01:15.649>that <00:01:15.824>are <00:01:16.000>commonly

23
00:01:17.500 --> 00:01:20.400
<00:01:17.500>associated <00:01:17.700>with <00:01:17.900>very <00:01:18.100>specialized <00:01:18.300>data <00:01:18.500>stores <00:01:18.700>and <00:01:18.900>most

24
00:01:20.400 --> 00:01:23.200
<00:01:20.400>people <00:01:20.527>don't <00:01:20.654>know <00:01:20.781>that <00:01:20.909>it's <00:01:21.036>available <00:01:21.163>in <00:01:21.290>a <00:01:21.418>single <00:01:21.545>general <00:01:21.672>purpose <00:01:21.800>database

25
00:01:23.200 --> 00:01:26.700
<00:01:23.200>and <00:01:23.340>that's <00:01:23.480>what <00:01:23.620>we <00:01:23.760>call <00:01:23.900>it <00:01:24.040>a <00:01:24.180>converged <00:01:24.320>database <00:01:24.460>and <00:01:24.600>that

26
00:01:26.700 --> 00:01:29.200
<00:01:26.700>we <00:01:26.855>can <00:01:27.011>store <00:01:27.166>all <00:01:27.322>these <00:01:27.477>data <00:01:27.633>types <00:01:27.788>and <00:01:27.944>allow <00:01:28.100>you

27
00:01:29.200 --> 00:01:30.500
<00:01:29.200>to <00:01:29.434>work <00:01:29.668>with <00:01:29.902>all <00:01:30.136>them <00:01:30.370>together.

28
00:01:37.100 --> 00:01:40.700
<00:01:37.100>Ah, <00:01:37.240>it <00:01:37.380>turns <00:01:37.520>out <00:01:37.660>that <00:01:37.800>this <00:01:37.940>idea <00:01:38.080>is <00:01:38.220>actually <00:01:38.360>very <00:01:38.500>controversial.

29
00:01:41.500 --> 00:01:44.000
<00:01:41.500>Okay. <00:01:41.640>So <00:01:41.780>for <00:01:41.920>example, <00:01:42.060>some <00:01:42.200>of <00:01:42.340>you <00:01:42.480>may <00:01:42.620>be <00:01:42.760>familiar <00:01:42.900>with

30
00:01:44.800 --> 00:01:48.100
<00:01:44.800>this <00:01:44.975>cloud <00:01:45.149>provider <00:01:45.325>called <00:01:45.500>Amazon <00:01:45.675>web <00:01:45.850>services <00:01:46.024>and <00:01:46.200>their

31
00:01:47.100 --> 00:01:50.600
<00:01:47.100>approach <00:01:47.380>is <00:01:47.660>to <00:01:47.940>build <00:01:48.220>specialized <00:01:48.500>databases

32
00:01:50.600 --> 00:01:54.000
<00:01:50.600>right <00:01:50.740>for <00:01:50.880>each <00:01:51.020>data <00:01:51.160>type <00:01:51.300>have <00:01:51.440>a <00:01:51.580>specialized <00:01:51.720>database, <00:01:51.860>right? <00:01:52.000>So

33
00:01:53.900 --> 00:01:56.500
<00:01:53.900>what <00:01:54.180>happens <00:01:54.460>is <00:01:54.740>that <00:01:55.020>if <00:01:55.300>you

34
00:01:56.500 --> 00:01:59.900
<00:01:56.500>want <00:01:56.700>to <00:01:56.900>use <00:01:57.100>multiple <00:01:57.300>data <00:01:57.500>types, <00:01:57.700>you're <00:01:57.900>forced

35
00:01:59.900 --> 00:02:03.100
<00:01:59.900>to <00:02:00.100>use <00:02:00.300>multiple <00:02:00.500>types <00:02:00.700>of <00:02:00.900>databases <00:02:01.100>and <00:02:01.300>furthermore

36
00:02:02.100 --> 00:02:05.200
<00:02:02.100>move <00:02:02.380>data <00:02:02.660>among <00:02:02.940>the <00:02:03.220>data <00:02:03.500>the

37
00:02:05.200 --> 00:02:08.100
<00:02:05.200>different <00:02:05.355>databases <00:02:05.511>as <00:02:05.666>you <00:02:05.822>want <00:02:05.977>to <00:02:06.133>manage <00:02:06.288>them <00:02:06.444>as <00:02:06.600>you

38
00:02:08.100 --> 00:02:11.500
<00:02:08.100>want <00:02:08.207>to <00:02:08.315>change <00:02:08.423>the <00:02:08.530>data <00:02:08.638>operate <00:02:08.746>on <00:02:08.853>different <00:02:08.961>ways <00:02:09.069>and <00:02:09.176>so <00:02:09.284>forth. <00:02:09.392>Okay. <00:02:09.500>So

39
00:02:11.500 --> 00:02:14.800
<00:02:11.500>as <00:02:11.616>you <00:02:11.733>can <00:02:11.850>see <00:02:11.966>there's <00:02:12.083>a <00:02:12.200>whole <00:02:12.316>bunch <00:02:12.433>of <00:02:12.550>stuff <00:02:12.666>there, <00:02:12.783>right? <00:02:12.900>And

40
00:02:14.800 --> 00:02:17.300
<00:02:14.800>that <00:02:15.000>means <00:02:15.200>if <00:02:15.400>you <00:02:15.600>application <00:02:15.800>uses <00:02:16.000>multiple <00:02:16.200>types

41
00:02:17.300 --> 00:02:20.200
<00:02:17.300>of <00:02:17.475>data, <00:02:17.650>you <00:02:17.825>have <00:02:18.000>to <00:02:18.175>use <00:02:18.350>multiple <00:02:18.525>data <00:02:18.700>stores.

42
00:02:21.600 --> 00:02:24.500
<00:02:21.600>Now <00:02:21.775>with <00:02:21.950>the <00:02:22.125>Oracle <00:02:22.299>strategy <00:02:22.475>is <00:02:22.650>a <00:02:22.825>converged <00:02:23.000>database

43
00:02:24.500 --> 00:02:27.600
<00:02:24.500>that <00:02:24.675>uses <00:02:24.850>standard <00:02:25.025>SQL <00:02:25.200>which <00:02:25.375>means <00:02:25.550>that <00:02:25.725>you <00:02:25.900>can

44
00:02:27.600 --> 00:02:30.700
<00:02:27.600>just <00:02:27.799>use <00:02:28.000>one <00:02:28.200>single <00:02:28.400>type <00:02:28.600>of <00:02:28.799>database. <00:02:29.000>So

45
00:02:30.700 --> 00:02:32.900
<00:02:30.700>that's <00:02:30.875>a <00:02:31.049>lot <00:02:31.225>easier <00:02:31.399>for <00:02:31.575>you <00:02:31.750>to <00:02:31.924>manage, <00:02:32.100>right?

46
00:02:34.400 --> 00:02:37.000
<00:02:34.400>So <00:02:34.575>that's <00:02:34.750>really <00:02:34.925>the <00:02:35.100>big <00:02:35.275>the <00:02:35.450>big <00:02:35.625>idea, <00:02:35.800>right?

47
00:02:38.200 --> 00:02:38.300
now

48
00:02:39.200 --> 00:02:41.100
<00:02:39.200>typically <00:02:39.375>when <00:02:39.549>people <00:02:39.725>look <00:02:39.899>at <00:02:40.075>this <00:02:40.250>and <00:02:40.424>say <00:02:40.600>gee

49
00:02:42.300 --> 00:02:45.300
<00:02:42.300>the <00:02:42.427>single <00:02:42.554>purpose <00:02:42.681>database <00:02:42.809>must <00:02:42.936>be <00:02:43.063>better <00:02:43.190>than <00:02:43.318>a <00:02:43.445>general <00:02:43.572>purpose <00:02:43.700>database

50
00:02:45.300 --> 00:02:48.100
<00:02:45.300>that <00:02:45.455>handles <00:02:45.611>all <00:02:45.766>these <00:02:45.922>things, <00:02:46.077>right? <00:02:46.233>That's <00:02:46.388>the <00:02:46.544>convention <00:02:46.700>of

51
00:02:48.100 --> 00:02:51.600
<00:02:48.100>wisdom. <00:02:48.255>In <00:02:48.411>fact, <00:02:48.566>that <00:02:48.722>is <00:02:48.877>not <00:02:49.033>true. <00:02:49.188>Okay, <00:02:49.344>and <00:02:49.500>so

52
00:02:55.600 --> 00:02:58.200
<00:02:55.600>Okay. <00:02:55.833>So <00:02:56.066>for <00:02:56.299>example, <00:02:56.533>your <00:02:56.766>Gardener <00:02:57.000>is

53
00:02:58.200 --> 00:03:01.500
<00:02:58.200>a <00:02:58.375>analyst <00:02:58.549>company <00:02:58.725>and <00:02:58.899>they <00:02:59.075>analyze <00:02:59.250>the <00:02:59.424>database <00:02:59.600>market,

54
00:03:01.500 --> 00:03:04.500
<00:03:01.500>right? <00:03:01.675>And <00:03:01.850>they <00:03:02.025>say <00:03:02.200>that <00:03:02.375>basically <00:03:02.550>the <00:03:02.725>Oracle <00:03:02.900>database

55
00:03:04.500 --> 00:03:07.100
<00:03:04.500>ranks <00:03:04.700>the <00:03:04.900>highest <00:03:05.100>in <00:03:05.300>all <00:03:05.500>four <00:03:05.700>use <00:03:05.900>cases

56
00:03:07.100 --> 00:03:10.500
<00:03:07.100>that <00:03:07.275>they <00:03:07.450>measured <00:03:07.625>for <00:03:07.799>transaction <00:03:07.975>for <00:03:08.150>for <00:03:08.325>cloud <00:03:08.500>database

57
00:03:10.500 --> 00:03:13.400
<00:03:10.500>or <00:03:10.675>operation <00:03:10.850>use <00:03:11.025>cases. <00:03:11.200>So <00:03:11.375>the <00:03:11.550>basic <00:03:11.725>benchmarked <00:03:11.900>Oracle

58
00:03:13.400 --> 00:03:16.100
<00:03:13.400>against <00:03:13.600>the <00:03:13.800>single <00:03:14.000>purpose <00:03:14.200>databases <00:03:14.400>and <00:03:14.600>determine <00:03:14.800>that

59
00:03:16.100 --> 00:03:19.000
<00:03:16.100>Oracle <00:03:16.216>is <00:03:16.333>number <00:03:16.450>one <00:03:16.566>in <00:03:16.683>all <00:03:16.799>the <00:03:16.916>four <00:03:17.033>use <00:03:17.150>cases <00:03:17.266>they <00:03:17.383>talked <00:03:17.500>about.

60
00:03:19.800 --> 00:03:23.000
<00:03:19.800>Okay, <00:03:19.955>and <00:03:20.111>these <00:03:20.266>use <00:03:20.422>cases <00:03:20.577>include <00:03:20.733>things <00:03:20.888>like <00:03:21.044>internet <00:03:21.200>of

61
00:03:22.100 --> 00:03:25.100
<00:03:22.100>things, <00:03:22.333>you <00:03:22.566>know, <00:03:22.799>distributive <00:03:23.033>Airway <00:03:23.266>data <00:03:23.500>and

62
00:03:25.100 --> 00:03:28.300
<00:03:25.100>so <00:03:25.207>forth. <00:03:25.315>So <00:03:25.423>these <00:03:25.530>are <00:03:25.638>very <00:03:25.746>broad <00:03:25.853>range <00:03:25.961>of <00:03:26.069>stuff <00:03:26.176>and <00:03:26.284>their <00:03:26.392>conclusion <00:03:26.500>is

63
00:03:28.300 --> 00:03:31.300
<00:03:28.300>actually <00:03:28.455>the <00:03:28.611>Oracle <00:03:28.766>Converse <00:03:28.922>database <00:03:29.077>is <00:03:29.233>actually <00:03:29.388>better <00:03:29.544>than <00:03:29.700>all

64
00:03:31.300 --> 00:03:34.600
<00:03:31.300>the <00:03:31.455>single <00:03:31.611>purpose <00:03:31.766>databases. <00:03:31.922>Okay. <00:03:32.077>So <00:03:32.233>that's <00:03:32.388>a <00:03:32.544>counter-intuitive <00:03:32.700>thing.

65
00:03:34.600 --> 00:03:37.200
<00:03:34.600>But <00:03:34.775>which <00:03:34.950>backs <00:03:35.125>up <00:03:35.299>the <00:03:35.475>assertion <00:03:35.650>that <00:03:35.825>not <00:03:36.000>only

66
00:03:37.200 --> 00:03:39.900
<00:03:37.200>is <00:03:37.339>it <00:03:37.480>easier <00:03:37.619>to <00:03:37.760>use <00:03:37.899>a <00:03:38.040>conversion <00:03:38.179>database? <00:03:38.320>It's <00:03:38.459>also <00:03:38.600>better.

67
00:03:44.800 --> 00:03:47.600
<00:03:44.800>All <00:03:44.916>right. <00:03:45.033>So <00:03:45.150>that's <00:03:45.266>the <00:03:45.383>first <00:03:45.500>part. <00:03:45.616>I <00:03:45.733>just <00:03:45.850>want <00:03:45.966>to <00:03:46.083>set <00:03:46.200>the

68
00:03:47.600 --> 00:03:50.600
<00:03:47.600>grounding <00:03:47.755>for <00:03:47.911>what <00:03:48.066>a <00:03:48.222>converge <00:03:48.377>database <00:03:48.533>is <00:03:48.688>database <00:03:48.844>is <00:03:49.000>and

69
00:03:50.600 --> 00:03:53.300
<00:03:50.600>I'll <00:03:50.739>come <00:03:50.880>back <00:03:51.019>to <00:03:51.160>a <00:03:51.299>little <00:03:51.440>bit <00:03:51.579>later <00:03:51.720>because <00:03:51.859>it <00:03:52.000>will

70
00:03:53.300 --> 00:03:55.500
<00:03:53.300>really <00:03:53.475>help <00:03:53.650>in <00:03:53.825>the <00:03:54.000>third <00:03:54.175>part <00:03:54.350>of <00:03:54.525>the <00:03:54.700>conversation.

71
00:03:57.100 --> 00:03:59.500
<00:03:57.100>Now <00:03:57.299>I <00:03:57.500>want <00:03:57.700>to <00:03:57.900>talk <00:03:58.100>about <00:03:58.299>kubernetes. <00:03:58.500>Okay?

72
00:04:00.600 --> 00:04:03.400
<00:04:00.600>I <00:04:00.727>sort <00:04:00.854>of <00:04:00.981>have <00:04:01.109>what <00:04:01.236>I <00:04:01.363>call <00:04:01.490>a <00:04:01.618>love <00:04:01.745>hate <00:04:01.872>relationship <00:04:02.000>with

73
00:04:03.400 --> 00:04:04.000
kubernetes.

74
00:04:04.700 --> 00:04:07.500
<00:04:04.700>I <00:04:04.875>think <00:04:05.049>it's <00:04:05.225>great <00:04:05.399>technology. <00:04:05.575>Okay, <00:04:05.750>and <00:04:05.924>many <00:04:06.100>of

75
00:04:07.500 --> 00:04:10.700
<00:04:07.500>our <00:04:07.700>customers <00:04:07.900>Partners <00:04:08.100>think <00:04:08.300>so <00:04:08.500>too. <00:04:08.700>Right <00:04:08.900>and

76
00:04:10.700 --> 00:04:13.500
<00:04:10.700>so <00:04:10.899>a <00:04:11.100>huge <00:04:11.299>number <00:04:11.500>of <00:04:11.700>companies <00:04:11.899>want <00:04:12.100>to

77
00:04:13.500 --> 00:04:16.100
<00:04:13.500>make <00:04:13.675>kubernetes <00:04:13.850>the <00:04:14.025>central <00:04:14.200>piece <00:04:14.375>of <00:04:14.550>this <00:04:14.725>digital <00:04:14.900>strategy.

78
00:04:16.800 --> 00:04:20.300
<00:04:16.800>Okay, <00:04:16.916>and <00:04:17.033>we <00:04:17.150>see <00:04:17.266>it <00:04:17.383>being <00:04:17.500>deployed <00:04:17.616>all <00:04:17.733>over <00:04:17.850>the <00:04:17.966>place. <00:04:18.083>Okay, <00:04:18.200>however.

79
00:04:21.100 --> 00:04:24.500
<00:04:21.100>It <00:04:21.240>is <00:04:21.380>still <00:04:21.520>very <00:04:21.660>hard. <00:04:21.800>Okay, <00:04:21.940>so <00:04:22.080>this <00:04:22.220>morning <00:04:22.360>I <00:04:22.500>setting

80
00:04:24.500 --> 00:04:27.500
<00:04:24.500>a <00:04:24.700>session <00:04:24.900>about <00:04:25.100>kubernetes <00:04:25.300>and <00:04:25.500>then <00:04:25.700>there <00:04:25.900>was

81
00:04:27.500 --> 00:04:30.600
<00:04:27.500>just <00:04:27.640>just <00:04:27.780>a <00:04:27.920>lot <00:04:28.060>of <00:04:28.200>details <00:04:28.340>a <00:04:28.480>lot <00:04:28.620>of <00:04:28.760>complexity <00:04:28.900>associated

82
00:04:30.600 --> 00:04:33.700
<00:04:30.600>with <00:04:30.727>it. <00:04:30.854>Right? <00:04:30.981>So <00:04:31.109>in <00:04:31.236>this <00:04:31.363>session, <00:04:31.490>I <00:04:31.618>want <00:04:31.745>to <00:04:31.872>describe <00:04:32.000>in

83
00:04:33.700 --> 00:04:36.800
<00:04:33.700>this <00:04:33.875>sectional <00:04:34.050>describe <00:04:34.224>how <00:04:34.400>the <00:04:34.575>other <00:04:34.750>organ <00:04:34.925>database <00:04:35.099>you

84
00:04:36.800 --> 00:04:39.600
<00:04:36.800>know, <00:04:37.080>really <00:04:37.360>is <00:04:37.640>embracing <00:04:37.920>innovating <00:04:38.200>the

85
00:04:39.600 --> 00:04:42.600
<00:04:39.600>space <00:04:39.707>to <00:04:39.815>make <00:04:39.923>it <00:04:40.030>easy <00:04:40.138>for <00:04:40.246>you <00:04:40.353>to <00:04:40.461>build <00:04:40.569>what <00:04:40.676>I <00:04:40.784>call <00:04:40.892>Mission <00:04:41.000>critical.

86
00:04:43.400 --> 00:04:46.400
<00:04:43.400>Applications <00:04:43.555>of <00:04:43.711>this <00:04:43.866>technology, <00:04:44.022>right? <00:04:44.177>And <00:04:44.333>I <00:04:44.488>think <00:04:44.644>these <00:04:44.799>lessons

87
00:04:46.400 --> 00:04:48.800
<00:04:46.400>are <00:04:46.679>generally <00:04:46.960>applicable <00:04:47.239>to <00:04:47.520>other <00:04:47.799>databases.

88
00:04:50.800 --> 00:04:53.800
<00:04:50.800>Okay. <00:04:50.955>So <00:04:51.111>the <00:04:51.266>first <00:04:51.422>thing <00:04:51.577>is, <00:04:51.733>you <00:04:51.888>know, <00:04:52.044>the <00:04:52.200>front

89
00:04:53.800 --> 00:04:56.200
<00:04:53.800>the <00:04:53.955>foundation <00:04:54.111>of <00:04:54.266>course <00:04:54.422>the <00:04:54.577>kubernetes <00:04:54.733>is <00:04:54.888>really <00:04:55.044>containers, <00:04:55.200>right?

90
00:04:56.200 --> 00:05:00.400
<00:04:56.200>And <00:04:56.340>so <00:04:56.479>what <00:04:56.620>we <00:04:56.760>do <00:04:56.900>is <00:04:57.039>we <00:04:57.180>fully <00:04:57.320>support <00:04:57.460>database <00:04:57.599>deployments

91
00:04:59.400 --> 00:05:02.400
<00:04:59.400>in <00:04:59.750>both <00:05:00.099>containers <00:05:00.450>as <00:05:00.799>well

92
00:05:02.400 --> 00:05:05.600
<00:05:02.400>as <00:05:02.555>non-containers, <00:05:02.711>right? <00:05:02.866>So <00:05:03.022>we <00:05:03.177>release <00:05:03.333>all <00:05:03.488>the <00:05:03.644>databases <00:05:03.799>in

93
00:05:05.600 --> 00:05:08.600
<00:05:05.600>contained <00:05:05.775>as <00:05:05.950>contained <00:05:06.125>images, <00:05:06.300>right <00:05:06.475>and <00:05:06.650>then <00:05:06.825>we <00:05:07.000>support

94
00:05:08.600 --> 00:05:11.400
<00:05:08.600>all <00:05:08.740>the <00:05:08.880>different <00:05:09.020>varieties <00:05:09.160>of <00:05:09.300>Oracle <00:05:09.440>deployments <00:05:09.580>that <00:05:09.720>we <00:05:09.860>started <00:05:10.000>out

95
00:05:11.400 --> 00:05:11.500
there.

96
00:05:13.200 --> 00:05:16.300
<00:05:13.200>And <00:05:13.400>furthermore <00:05:13.599>is <00:05:13.800>it <00:05:14.000>because <00:05:14.200>we <00:05:14.400>know <00:05:14.599>that

97
00:05:16.300 --> 00:05:19.500
<00:05:16.300>our <00:05:16.455>customers <00:05:16.611>like <00:05:16.766>the <00:05:16.922>customize <00:05:17.077>things. <00:05:17.233>We <00:05:17.388>actually <00:05:17.544>release <00:05:17.700>the

98
00:05:19.500 --> 00:05:22.100
<00:05:19.500>build <00:05:19.655>tools <00:05:19.811>the <00:05:19.966>docker <00:05:20.122>files <00:05:20.277>that <00:05:20.433>we <00:05:20.588>use <00:05:20.744>to <00:05:20.900>build

99
00:05:22.100 --> 00:05:22.700
<00:05:22.100>these <00:05:22.640>containers.

100
00:05:23.400 --> 00:05:24.700
<00:05:23.400>what <00:05:23.633>this <00:05:23.868>larger <00:05:24.102>to <00:05:24.336>do <00:05:24.570>is

101
00:05:25.800 --> 00:05:27.300
<00:05:25.800>download <00:05:26.137>an <00:05:26.475>image <00:05:26.812>from <00:05:27.150>Oracle.

102
00:05:28.300 --> 00:05:31.100
<00:05:28.300>Then <00:05:28.455>apply, <00:05:28.611>you <00:05:28.766>know, <00:05:28.922>you're <00:05:29.077>one-off <00:05:29.233>patches <00:05:29.388>and <00:05:29.544>customizations <00:05:29.700>to

103
00:05:31.100 --> 00:05:33.700
<00:05:31.100>it <00:05:31.240>and <00:05:31.380>build <00:05:31.520>your <00:05:31.660>own <00:05:31.800>images <00:05:31.940>that <00:05:32.080>you <00:05:32.220>can <00:05:32.360>use <00:05:32.500>further.

104
00:05:34.400 --> 00:05:34.600
Okay.

105
00:05:35.700 --> 00:05:38.400
<00:05:35.700>So <00:05:35.840>I <00:05:35.979>think <00:05:36.120>that's <00:05:36.260>that's <00:05:36.400>really <00:05:36.539>that's <00:05:36.680>that's <00:05:36.820>good. <00:05:36.960>So <00:05:37.099>first

106
00:05:38.400 --> 00:05:41.300
<00:05:38.400>Docker, <00:05:38.679>yes, <00:05:38.960>absolutely <00:05:39.239>darker <00:05:39.520>part <00:05:39.799>man

107
00:05:41.300 --> 00:05:41.700
<00:05:41.300>and <00:05:41.480>so <00:05:41.659>forth.

108
00:05:45.300 --> 00:05:48.500
<00:05:45.300>The <00:05:45.475>next <00:05:45.650>thing <00:05:45.825>is <00:05:46.000>we <00:05:46.175>support <00:05:46.350>these <00:05:46.525>images <00:05:46.700>on

109
00:05:48.500 --> 00:05:52.100
<00:05:48.500>kubernetes <00:05:48.675>obviously, <00:05:48.850>right? <00:05:49.025>But <00:05:49.200>the <00:05:49.375>big <00:05:49.550>question <00:05:49.725>is <00:05:49.900>which

110
00:05:51.100 --> 00:05:54.200
<00:05:51.100>kubernetes <00:05:51.566>right <00:05:52.033>there <00:05:52.500>are

111
00:05:54.200 --> 00:05:57.500
<00:05:54.200>tons <00:05:54.307>and <00:05:54.415>tons <00:05:54.523>of <00:05:54.630>them <00:05:54.738>out <00:05:54.846>there. <00:05:54.953>Yeah. <00:05:55.061>So <00:05:55.169>how <00:05:55.276>do <00:05:55.384>we <00:05:55.492>test <00:05:55.599>and

112
00:05:57.500 --> 00:06:00.300
<00:05:57.500>support <00:05:57.733>this <00:05:57.966>right? <00:05:58.200>And <00:05:58.433>so <00:05:58.666>our <00:05:58.900>strategy

113
00:06:00.300 --> 00:06:01.300
<00:06:00.300>is <00:06:00.525>really <00:06:00.750>what <00:06:00.975>we <00:06:01.200>call

114
00:06:03.200 --> 00:06:06.900
<00:06:03.200>Test <00:06:03.433>but <00:06:03.666>verify, <00:06:03.900>which <00:06:04.133>is <00:06:04.366>that <00:06:04.599>we

115
00:06:06.900 --> 00:06:10.000
<00:06:06.900>test <00:06:07.099>on <00:06:07.299>the <00:06:07.500>Oracle <00:06:07.700>distribution <00:06:07.900>of <00:06:08.099>kubernetes, <00:06:08.299>right

116
00:06:09.300 --> 00:06:12.000
<00:06:09.300>which <00:06:09.580>is <00:06:09.860>actually <00:06:10.140>certified, <00:06:10.420>you <00:06:10.700>know

117
00:06:12.700 --> 00:06:15.500
<00:06:12.700>cncf <00:06:12.855>distribution, <00:06:13.011>right? <00:06:13.166>So <00:06:13.322>it's <00:06:13.477>preserves <00:06:13.633>a <00:06:13.788>standard <00:06:13.944>interfaces <00:06:14.099>and

118
00:06:15.500 --> 00:06:16.500
<00:06:15.500>that's <00:06:15.725>how <00:06:15.950>we <00:06:16.175>test <00:06:16.400>on.

119
00:06:17.000 --> 00:06:17.200
right

120
00:06:17.900 --> 00:06:20.800
<00:06:17.900>Then <00:06:18.133>we <00:06:18.366>do <00:06:18.599>standard <00:06:18.833>testing <00:06:19.066>on <00:06:19.299>some

121
00:06:20.800 --> 00:06:23.400
<00:06:20.800>other <00:06:21.033>kubernetes <00:06:21.266>distributions. <00:06:21.500>Right? <00:06:21.733>So <00:06:21.966>the <00:06:22.200>one

122
00:06:23.400 --> 00:06:26.800
<00:06:23.400>that <00:06:23.500>we <00:06:23.599>hear <00:06:23.700>a <00:06:23.799>lot <00:06:23.900>from <00:06:24.000>our <00:06:24.099>customers <00:06:24.200>is <00:06:24.299>really <00:06:24.400>this <00:06:24.500>red <00:06:24.599>hat <00:06:24.700>openshift. <00:06:24.799>And

123
00:06:26.800 --> 00:06:29.200
<00:06:26.800>so <00:06:26.975>we're <00:06:27.150>testing <00:06:27.325>a <00:06:27.500>certifying <00:06:27.675>on <00:06:27.850>the <00:06:28.025>Red <00:06:28.200>Hats

124
00:06:29.200 --> 00:06:32.400
<00:06:29.200>openshift, <00:06:29.433>right <00:06:29.666>and <00:06:29.900>so <00:06:30.133>forth. <00:06:30.366>Okay. <00:06:30.599>So

125
00:06:32.400 --> 00:06:35.500
<00:06:32.400>our <00:06:32.527>goal <00:06:32.654>is <00:06:32.781>really <00:06:32.909>to <00:06:33.036>go <00:06:33.163>where <00:06:33.290>the <00:06:33.418>customers <00:06:33.545>are <00:06:33.672>deploying <00:06:33.799>and

126
00:06:35.500 --> 00:06:38.400
<00:06:35.500>that's <00:06:35.700>the <00:06:35.900>most <00:06:36.100>popular <00:06:36.300>kubernetes <00:06:36.500>distributions. <00:06:36.700>Okay, <00:06:36.900>so

127
00:06:38.400 --> 00:06:39.800
<00:06:38.400>containers <00:06:39.660>kubernetes

128
00:06:43.100 --> 00:06:45.200
<00:06:43.100>Now <00:06:43.275>what <00:06:43.450>I've <00:06:43.625>told <00:06:43.800>you <00:06:43.975>so <00:06:44.150>far <00:06:44.325>is <00:06:44.500>really.

129
00:06:46.200 --> 00:06:49.400
<00:06:46.200>Existence, <00:06:46.550>right. <00:06:46.900>So <00:06:47.250>existence <00:06:47.599>alone

130
00:06:49.400 --> 00:06:52.200
<00:06:49.400>is <00:06:49.575>is <00:06:49.750>okay. <00:06:49.924>It's <00:06:50.099>good, <00:06:50.275>but <00:06:50.450>it's <00:06:50.625>not <00:06:50.799>enough,

131
00:06:52.200 --> 00:06:53.200
<00:06:52.200>right? <00:06:53.099>So

132
00:06:54.600 --> 00:06:57.700
<00:06:54.600>so <00:06:54.775>what <00:06:54.950>we're <00:06:55.125>going <00:06:55.300>to <00:06:55.475>do <00:06:55.650>is <00:06:55.825>go <00:06:56.000>further

133
00:06:57.700 --> 00:07:00.900
<00:06:57.700>right <00:06:57.900>and <00:06:58.099>make <00:06:58.300>organ <00:06:58.500>database <00:06:58.700>really <00:06:58.900>a <00:06:59.099>natively

134
00:07:00.900 --> 00:07:03.600
<00:07:00.900>part <00:07:01.133>of <00:07:01.366>the <00:07:01.599>kubernetes <00:07:01.833>infrastructure. <00:07:02.066>Okay, <00:07:02.299>we

135
00:07:03.600 --> 00:07:06.800
<00:07:03.600>want <00:07:03.755>you <00:07:03.911>know <00:07:04.066>it <00:07:04.222>to <00:07:04.377>be <00:07:04.533>like <00:07:04.688>one. <00:07:04.844>Okay. <00:07:05.000>So

136
00:07:06.800 --> 00:07:10.000
<00:07:06.800>things <00:07:06.927>that <00:07:07.054>are <00:07:07.181>used <00:07:07.309>to <00:07:07.436>do <00:07:07.563>is <00:07:07.690>to <00:07:07.818>the <00:07:07.945>kubernetes <00:07:08.072>infrastructure <00:07:08.200>starting

137
00:07:09.600 --> 00:07:12.200
<00:07:09.600>stopping <00:07:09.950>patching <00:07:10.300>monitoring <00:07:10.650>and <00:07:11.000>so

138
00:07:12.200 --> 00:07:15.600
<00:07:12.200>forth. <00:07:12.316>We <00:07:12.433>want <00:07:12.550>you <00:07:12.666>to <00:07:12.783>be <00:07:12.900>able <00:07:13.016>to <00:07:13.133>do <00:07:13.250>that <00:07:13.366>also. <00:07:13.483>Okay <00:07:13.599>such

139
00:07:15.600 --> 00:07:18.900
<00:07:15.600>an <00:07:15.740>oracle <00:07:15.880>just <00:07:16.020>looks <00:07:16.160>like <00:07:16.300>another <00:07:16.440>part <00:07:16.580>of <00:07:16.720>your <00:07:16.860>kubernetes <00:07:17.000>infrastructure.

140
00:07:21.100 --> 00:07:24.600
<00:07:21.100>And <00:07:21.216>we <00:07:21.333>want <00:07:21.450>to <00:07:21.566>support <00:07:21.683>all <00:07:21.800>the <00:07:21.916>ways <00:07:22.033>in <00:07:22.150>which <00:07:22.266>our <00:07:22.383>customers <00:07:22.500>are

141
00:07:24.600 --> 00:07:27.300
<00:07:24.600>deploying <00:07:24.833>organ <00:07:25.066>databases, <00:07:25.300>right? <00:07:25.533>What's <00:07:25.766>in <00:07:26.000>the

142
00:07:27.300 --> 00:07:29.700
<00:07:27.300>cloud <00:07:27.533>on <00:07:27.766>premises <00:07:28.000>in <00:07:28.233>your <00:07:28.466>data <00:07:28.700>centers?

143
00:07:30.300 --> 00:07:33.400
<00:07:30.300>Within <00:07:30.455>the <00:07:30.611>kubernetes <00:07:30.766>cluster <00:07:30.922>or <00:07:31.077>even <00:07:31.233>when <00:07:31.388>the <00:07:31.544>database <00:07:31.700>is

144
00:07:33.400 --> 00:07:36.400
<00:07:33.400>deployed <00:07:33.575>outside <00:07:33.750>of <00:07:33.924>a <00:07:34.099>kubernetes <00:07:34.275>cluster. <00:07:34.450>Okay, <00:07:34.625>and <00:07:34.799>I'll

145
00:07:36.400 --> 00:07:37.700
<00:07:36.400>explain <00:07:36.594>why <00:07:36.789>this <00:07:36.984>is <00:07:37.180>important <00:07:37.375>later <00:07:37.570>on.

146
00:07:39.300 --> 00:07:40.800
<00:07:39.300>And <00:07:39.525>this <00:07:39.750>really <00:07:39.975>two <00:07:40.200>aspects <00:07:40.425>to <00:07:40.650>this.

147
00:07:41.700 --> 00:07:45.200
<00:07:41.700>The <00:07:41.875>first <00:07:42.050>part <00:07:42.224>is <00:07:42.400>to <00:07:42.575>make <00:07:42.750>the <00:07:42.925>database <00:07:43.099>natively

148
00:07:44.200 --> 00:07:46.400
<00:07:44.200>observable <00:07:44.900>in <00:07:45.599>kubernetes.

149
00:07:47.300 --> 00:07:50.000
<00:07:47.300>Okay, <00:07:47.407>so <00:07:47.515>that <00:07:47.623>means <00:07:47.730>if <00:07:47.838>I <00:07:47.946>look <00:07:48.053>at <00:07:48.161>the <00:07:48.269>kubernetes <00:07:48.376>environment, <00:07:48.484>I <00:07:48.592>want <00:07:48.700>to

150
00:07:50.100 --> 00:07:50.800
<00:07:50.100>see <00:07:50.415>my <00:07:50.730>databases.

151
00:07:51.500 --> 00:07:54.200
<00:07:51.500>Okay, <00:07:51.780>and <00:07:52.060>secondly <00:07:52.340>this <00:07:52.620>thing <00:07:52.900>that

152
00:07:54.200 --> 00:07:57.500
<00:07:54.200>we <00:07:54.327>call <00:07:54.454>the <00:07:54.581>kubernetes <00:07:54.709>operator <00:07:54.836>for <00:07:54.963>the <00:07:55.090>Orca <00:07:55.218>database <00:07:55.345>and <00:07:55.472>operator <00:07:55.599>is

153
00:07:57.500 --> 00:07:58.200
<00:07:57.500>a <00:07:57.815>kubernetes <00:07:58.130>concept.

154
00:08:03.700 --> 00:08:06.400
<00:08:03.700>Okay, <00:08:04.050>so <00:08:04.400>observability <00:08:04.750>right? <00:08:05.099>So

155
00:08:08.200 --> 00:08:12.100
<00:08:08.200>One <00:08:08.300>of <00:08:08.400>the <00:08:08.500>things <00:08:08.599>that <00:08:08.700>I <00:08:08.800>really <00:08:08.900>like <00:08:09.000>about <00:08:09.099>the <00:08:09.200>organ <00:08:09.300>database <00:08:09.400>is <00:08:09.500>that <00:08:09.599>it

156
00:08:11.100 --> 00:08:14.400
<00:08:11.100>has <00:08:11.380>a <00:08:11.660>very <00:08:11.940>rich <00:08:12.220>statistics <00:08:12.500>and

157
00:08:14.400 --> 00:08:17.200
<00:08:14.400>monitoring. <00:08:14.500>So, <00:08:14.599>you <00:08:14.700>know <00:08:14.799>exactly <00:08:14.900>what's <00:08:15.000>going <00:08:15.099>on. <00:08:15.200>You <00:08:15.299>can <00:08:15.400>look <00:08:15.500>at <00:08:15.599>the <00:08:15.700>sequel <00:08:15.799>you

158
00:08:17.200 --> 00:08:20.300
<00:08:17.200>can <00:08:17.327>look <00:08:17.454>at <00:08:17.581>the <00:08:17.709>the <00:08:17.836>resource <00:08:17.963>the <00:08:18.090>resources <00:08:18.218>and <00:08:18.345>so <00:08:18.472>forth <00:08:18.599>and

159
00:08:20.300 --> 00:08:23.500
<00:08:20.300>no <00:08:20.440>what's <00:08:20.580>going <00:08:20.720>on. <00:08:20.860>So <00:08:21.000>the <00:08:21.140>richness <00:08:21.280>of <00:08:21.420>the <00:08:21.560>performance <00:08:21.700>statistics,

160
00:08:23.500 --> 00:08:26.400
<00:08:23.500>okay. <00:08:23.733>So <00:08:23.966>what <00:08:24.200>we're <00:08:24.433>doing <00:08:24.666>is <00:08:24.900>making

161
00:08:26.400 --> 00:08:29.400
<00:08:26.400>all <00:08:26.575>this <00:08:26.750>data <00:08:26.924>available <00:08:27.099>by <00:08:27.275>open <00:08:27.450>popular <00:08:27.625>open <00:08:27.799>source

162
00:08:29.400 --> 00:08:31.200
<00:08:29.400>Frameworks <00:08:29.633>that <00:08:29.866>are <00:08:30.099>commonly <00:08:30.333>used <00:08:30.566>in <00:08:30.799>kubernetes.

163
00:08:31.700 --> 00:08:36.600
<00:08:31.700>Okay, <00:08:31.979>and <00:08:32.260>you <00:08:32.539>know <00:08:32.819>Prometheus <00:08:33.100>Prometheus

164
00:08:34.600 --> 00:08:37.400
<00:08:34.600>loci <00:08:36.000>grafana,

165
00:08:37.400 --> 00:08:40.600
<00:08:37.400>right? <00:08:37.600>So <00:08:37.799>we <00:08:38.000>are <00:08:38.199>basically <00:08:38.400>building <00:08:38.600>extensions <00:08:38.799>to

166
00:08:40.600 --> 00:08:43.600
<00:08:40.600>Prometheus. <00:08:40.880>They're <00:08:41.159>called <00:08:41.440>operators <00:08:41.720>to <00:08:42.000>export

167
00:08:43.600 --> 00:08:46.700
<00:08:43.600>all <00:08:43.833>the <00:08:44.066>database <00:08:44.300>metrics. <00:08:44.533>Okay, <00:08:44.766>and <00:08:45.000>what

168
00:08:46.700 --> 00:08:47.600
<00:08:46.700>is <00:08:47.105>in <00:08:47.510>Prometheus?

169
00:08:48.800 --> 00:08:51.600
<00:08:48.800>Basically <00:08:49.000>anybody <00:08:49.199>can <00:08:49.400>consume <00:08:49.599>it <00:08:49.800>right? <00:08:50.000>And <00:08:50.199>then

170
00:08:51.600 --> 00:08:54.600
<00:08:51.600>we're <00:08:51.833>publishing <00:08:52.066>best <00:08:52.300>practices <00:08:52.533>for <00:08:52.766>Loki <00:08:53.000>to

171
00:08:54.600 --> 00:08:57.200
<00:08:54.600>monitor <00:08:54.800>aggregate <00:08:55.000>logs <00:08:55.200>from <00:08:55.400>the <00:08:55.600>application <00:08:55.800>to <00:08:56.000>the

172
00:08:57.200 --> 00:08:58.400
<00:08:57.200>data <00:08:57.470>here <00:08:57.740>end <00:08:58.010>to <00:08:58.280>end.

173
00:08:59.400 --> 00:09:02.200
<00:08:59.400>And <00:08:59.600>lastly <00:08:59.800>we're <00:09:00.000>providing <00:09:00.199>grafana <00:09:00.400>Dash <00:09:00.600>Force <00:09:00.800>to

174
00:09:02.200 --> 00:09:05.200
<00:09:02.200>display <00:09:02.355>all <00:09:02.511>this <00:09:02.666>data, <00:09:02.822>right <00:09:02.977>and <00:09:03.133>these <00:09:03.288>two <00:09:03.444>Graphics <00:09:03.600>here

175
00:09:05.200 --> 00:09:08.500
<00:09:05.200>show <00:09:05.327>you <00:09:05.454>an <00:09:05.581>example <00:09:05.709>of <00:09:05.836>what <00:09:05.963>the <00:09:06.090>graphana <00:09:06.218>screens <00:09:06.345>look <00:09:06.472>like <00:09:06.600>for

176
00:09:08.500 --> 00:09:12.200
<00:09:08.500>displaying <00:09:08.780>those <00:09:09.060>information. <00:09:09.340>Okay. <00:09:09.620>And <00:09:09.900>as

177
00:09:11.200 --> 00:09:15.100
<00:09:11.200>I <00:09:11.400>said <00:09:11.600>we <00:09:11.800>want <00:09:12.000>to <00:09:12.200>to <00:09:12.400>and <00:09:12.600>this

178
00:09:14.100 --> 00:09:17.600
<00:09:14.100>information <00:09:14.450>infrastructure <00:09:14.800>for <00:09:15.150>instance <00:09:15.500>Prometheus

179
00:09:17.600 --> 00:09:20.200
<00:09:17.600>low-key <00:09:17.800>and <00:09:18.000>grafana, <00:09:18.200>they're <00:09:18.400>common <00:09:18.600>open <00:09:18.800>source <00:09:19.000>stuff

180
00:09:20.200 --> 00:09:23.300
<00:09:20.200>and <00:09:20.400>they're <00:09:20.600>commonly <00:09:20.800>deployed <00:09:21.000>everywhere. <00:09:21.200>Right? <00:09:21.400>So <00:09:21.600>that

181
00:09:23.300 --> 00:09:27.200
<00:09:23.300>means <00:09:23.439>the <00:09:23.579>stuff <00:09:23.719>that <00:09:23.859>we're <00:09:24.000>releasing <00:09:24.140>here <00:09:24.280>can <00:09:24.420>be <00:09:24.560>used <00:09:24.699>within

182
00:09:26.200 --> 00:09:29.600
<00:09:26.200>kubernetes <00:09:26.480>or <00:09:26.760>even <00:09:27.040>outside <00:09:27.320>of <00:09:27.600>kubernetes.

183
00:09:31.400 --> 00:09:34.100
<00:09:31.400>And <00:09:31.555>so <00:09:31.711>all <00:09:31.866>the <00:09:32.022>stuff <00:09:32.177>I <00:09:32.333>talked <00:09:32.488>about <00:09:32.644>so <00:09:32.800>far

184
00:09:34.100 --> 00:09:37.500
<00:09:34.100>is <00:09:34.240>available <00:09:34.380>and <00:09:34.520>released <00:09:34.660>on <00:09:34.800>GitHub <00:09:34.940>and <00:09:35.080>we <00:09:35.220>are <00:09:35.360>continuing <00:09:35.500>to

185
00:09:37.500 --> 00:09:40.000
<00:09:37.500>improve <00:09:37.655>it <00:09:37.811>such <00:09:37.966>as <00:09:38.122>our <00:09:38.277>class <00:09:38.433>customers <00:09:38.588>since <00:09:38.744>go <00:09:38.900>there

186
00:09:40.400 --> 00:09:41.900
<00:09:40.400>and <00:09:40.625>grab <00:09:40.850>the <00:09:41.074>latest <00:09:41.300>and <00:09:41.525>update <00:09:41.750>it.

187
00:09:50.400 --> 00:09:53.300
<00:09:50.400>Okay, <00:09:50.555>so <00:09:50.711>that's <00:09:50.866>the <00:09:51.022>observability <00:09:51.177>part <00:09:51.333>which <00:09:51.488>is <00:09:51.644>that <00:09:51.800>we're

188
00:09:53.300 --> 00:09:56.400
<00:09:53.300>using <00:09:53.474>grafana. <00:09:53.650>We're <00:09:53.824>using <00:09:54.000>Prometheus <00:09:54.175>and <00:09:54.349>so <00:09:54.525>forth <00:09:54.699>to

189
00:09:56.400 --> 00:09:59.700
<00:09:56.400>really <00:09:56.600>make <00:09:56.800>the <00:09:57.000>database <00:09:57.199>internals <00:09:57.400>highly <00:09:57.600>visible, <00:09:57.800>right?

190
00:10:01.100 --> 00:10:03.600
<00:10:01.100>The <00:10:01.300>next <00:10:01.500>part <00:10:01.700>is <00:10:01.900>the <00:10:02.100>kubernetes <00:10:02.300>operator, <00:10:02.500>right?

191
00:10:04.300 --> 00:10:05.000
<00:10:04.300>the <00:10:04.930>operator

192
00:10:05.700 --> 00:10:09.000
<00:10:05.700>The <00:10:05.855>Operators <00:10:06.011>really <00:10:06.166>extensions <00:10:06.322>of <00:10:06.477>kubernetes <00:10:06.633>for <00:10:06.788>managing <00:10:06.944>applications. <00:10:07.100>It's

193
00:10:08.800 --> 00:10:11.600
<00:10:08.800>a <00:10:09.079>construct <00:10:09.359>defined <00:10:09.640>by <00:10:09.920>kubernetes, <00:10:10.199>right

194
00:10:11.600 --> 00:10:14.200
<00:10:11.600>it <00:10:11.775>basically <00:10:11.950>allows <00:10:12.125>you <00:10:12.300>to <00:10:12.475>use <00:10:12.650>a <00:10:12.825>kubernetes <00:10:13.000>command

195
00:10:14.200 --> 00:10:17.300
<00:10:14.200>line <00:10:14.400>group <00:10:14.600>CTL <00:10:14.800>to <00:10:15.000>manage <00:10:15.200>things <00:10:15.400>within <00:10:15.600>the

196
00:10:17.300 --> 00:10:20.400
<00:10:17.300>kubernetes <00:10:17.455>cluster, <00:10:17.611>right? <00:10:17.766>So <00:10:17.922>in <00:10:18.077>this <00:10:18.233>case <00:10:18.388>it <00:10:18.544>is <00:10:18.699>the

197
00:10:20.400 --> 00:10:23.300
<00:10:20.400>thing <00:10:20.540>is <00:10:20.680>the <00:10:20.819>Oracle <00:10:20.959>database, <00:10:21.100>right? <00:10:21.240>So <00:10:21.380>we're <00:10:21.520>doing <00:10:21.660>is <00:10:21.800>we're

198
00:10:23.300 --> 00:10:26.400
<00:10:23.300>releasing <00:10:23.500>at <00:10:23.699>the <00:10:23.900>edge <00:10:24.099>with <00:10:24.300>released <00:10:24.500>a <00:10:24.699>kubernetes

199
00:10:26.400 --> 00:10:29.400
<00:10:26.400>operator <00:10:26.540>for <00:10:26.680>the <00:10:26.819>arcade <00:10:26.959>database. <00:10:27.100>So <00:10:27.240>that <00:10:27.380>means <00:10:27.520>with <00:10:27.660>this <00:10:27.800>operator,

200
00:10:29.400 --> 00:10:32.500
<00:10:29.400>you <00:10:29.600>can't <00:10:29.800>within <00:10:30.000>the <00:10:30.199>kubernetes <00:10:30.400>environment <00:10:30.600>run <00:10:30.800>your

201
00:10:32.500 --> 00:10:35.300
<00:10:32.500>group <00:10:32.733>CDL <00:10:32.966>commands <00:10:33.200>and <00:10:33.433>perform <00:10:33.666>live <00:10:33.900>cycle

202
00:10:35.300 --> 00:10:37.400
<00:10:35.300>management <00:10:35.579>functions <00:10:35.859>on <00:10:36.140>the <00:10:36.420>Oracle <00:10:36.699>database.

203
00:10:38.000 --> 00:10:38.400
Okay.

204
00:10:39.800 --> 00:10:42.200
<00:10:39.800>And <00:10:40.150>what's <00:10:40.500>interesting <00:10:40.849>is <00:10:41.199>that

205
00:10:42.200 --> 00:10:45.300
<00:10:42.200>the <00:10:42.433>databases <00:10:42.666>being <00:10:42.900>managed <00:10:43.133>does <00:10:43.366>not <00:10:43.600>have

206
00:10:45.300 --> 00:10:48.600
<00:10:45.300>to <00:10:45.455>live <00:10:45.611>within <00:10:45.766>the <00:10:45.922>kubernetes <00:10:46.077>cluster. <00:10:46.233>Okay. <00:10:46.388>Well, <00:10:46.544>obviously <00:10:46.699>it

207
00:10:48.600 --> 00:10:50.500
<00:10:48.600>works <00:10:48.775>if <00:10:48.950>the <00:10:49.125>database <00:10:49.300>is <00:10:49.475>in <00:10:49.650>the <00:10:49.825>kubernetes <00:10:50.000>cluster.

208
00:10:51.300 --> 00:10:54.100
<00:10:51.300>But <00:10:51.455>secondly <00:10:51.611>the <00:10:51.766>database <00:10:51.922>might <00:10:52.077>not <00:10:52.233>be <00:10:52.388>actually <00:10:52.544>in <00:10:52.699>the

209
00:10:54.100 --> 00:10:57.700
<00:10:54.100>same <00:10:54.216>kubernetes <00:10:54.333>cluster <00:10:54.450>as <00:10:54.566>with <00:10:54.683>a <00:10:54.800>command <00:10:54.916>this <00:10:55.033>issued. <00:10:55.150>So <00:10:55.266>for <00:10:55.383>example, <00:10:55.500>you

210
00:10:57.700 --> 00:10:58.200
<00:10:57.700>know, <00:10:57.850>it <00:10:58.000>could <00:10:58.150>be

211
00:11:00.900 --> 00:11:03.600
<00:11:00.900>could <00:11:01.074>be <00:11:01.250>a <00:11:01.425>combination <00:11:01.600>somewhere <00:11:01.775>on <00:11:01.949>premises <00:11:02.125>somewhere <00:11:02.300>in

212
00:11:03.600 --> 00:11:03.700
<00:11:03.600>the <00:11:03.690>cloud.

213
00:11:04.400 --> 00:11:07.500
<00:11:04.400>It <00:11:04.555>could <00:11:04.711>be <00:11:04.866>same <00:11:05.022>or <00:11:05.177>different <00:11:05.333>clouds, <00:11:05.488>right? <00:11:05.644>So <00:11:05.800>it

214
00:11:07.500 --> 00:11:10.500
<00:11:07.500>couldn't <00:11:07.640>it <00:11:07.780>might <00:11:07.920>be <00:11:08.060>inside <00:11:08.200>or <00:11:08.340>outside <00:11:08.480>the <00:11:08.620>kubernetes, <00:11:08.760>right? <00:11:08.900>And

215
00:11:10.500 --> 00:11:14.600
<00:11:10.500>the <00:11:10.700>way <00:11:10.900>we <00:11:11.100>support <00:11:11.300>all <00:11:11.500>these <00:11:11.700>variability <00:11:11.900>is

216
00:11:13.600 --> 00:11:16.100
<00:11:13.600>through <00:11:14.066>the <00:11:14.533>concept <00:11:15.000>of

217
00:11:16.100 --> 00:11:19.300
<00:11:16.100>multiple <00:11:16.380>backends <00:11:16.660>and <00:11:16.940>in <00:11:17.220>kubernetes <00:11:17.500>terminology,

218
00:11:19.300 --> 00:11:22.200
<00:11:19.300>these <00:11:19.500>things <00:11:19.699>will <00:11:19.900>controllers. <00:11:20.099>Okay. <00:11:20.300>So <00:11:20.500>we <00:11:20.699>have

219
00:11:22.200 --> 00:11:25.600
<00:11:22.200>is <00:11:22.433>a <00:11:22.666>common <00:11:22.900>operator <00:11:23.133>with <00:11:23.366>multiple <00:11:23.600>backend

220
00:11:25.600 --> 00:11:28.200
<00:11:25.600>controllers. <00:11:25.755>Right? <00:11:25.911>And <00:11:26.066>our <00:11:26.222>goal <00:11:26.377>is <00:11:26.533>really <00:11:26.688>to <00:11:26.844>make <00:11:27.000>people

221
00:11:28.200 --> 00:11:31.500
<00:11:28.200>who <00:11:28.355>are <00:11:28.511>comfortable <00:11:28.666>and <00:11:28.822>want <00:11:28.977>to <00:11:29.133>use <00:11:29.288>kubernetes <00:11:29.444>be <00:11:29.600>able

222
00:11:31.500 --> 00:11:34.000
<00:11:31.500>to <00:11:31.780>manage <00:11:32.060>organ <00:11:32.340>database <00:11:32.620>deployed <00:11:32.900>anywhere.

223
00:11:43.700 --> 00:11:44.000
Okay.

224
00:11:46.100 --> 00:11:49.300
<00:11:46.100>Ah, <00:11:46.300>okay. <00:11:46.500>So <00:11:46.700>here's <00:11:46.900>a <00:11:47.100>graphic <00:11:47.300>that <00:11:47.500>shows

225
00:11:49.300 --> 00:11:52.500
<00:11:49.300>how <00:11:49.455>this <00:11:49.611>works. <00:11:49.766>Right? <00:11:49.922>So <00:11:50.077>within <00:11:50.233>your <00:11:50.388>kubernetes <00:11:50.544>cluster <00:11:50.699>you

226
00:11:52.500 --> 00:11:55.500
<00:11:52.500>run <00:11:52.675>your <00:11:52.850>group <00:11:53.025>Ctrl <00:11:53.200>commands, <00:11:53.375>right? <00:11:53.550>It <00:11:53.725>talks <00:11:53.900>to

227
00:11:55.500 --> 00:11:58.200
<00:11:55.500>our <00:11:55.780>operator. <00:11:56.060>Right <00:11:56.340>and <00:11:56.620>our <00:11:56.900>operator

228
00:11:58.200 --> 00:12:01.200
<00:11:58.200>has <00:11:58.355>three <00:11:58.511>back <00:11:58.666>ends <00:11:58.822>three <00:11:58.977>back <00:11:59.133>and <00:11:59.288>three <00:11:59.444>controllers <00:11:59.600>right

229
00:12:01.200 --> 00:12:02.200
<00:12:01.200>one <00:12:02.100>controller.

230
00:12:03.500 --> 00:12:03.800
<00:12:03.500>the <00:12:03.590>one <00:12:03.680>on <00:12:03.770>the

231
00:12:04.500 --> 00:12:07.700
<00:12:04.500>right <00:12:04.700>hand <00:12:04.900>side <00:12:05.100>talks <00:12:05.300>to <00:12:05.500>a <00:12:05.700>containerized <00:12:05.900>organ

232
00:12:07.700 --> 00:12:08.000
database.

233
00:12:08.900 --> 00:12:11.600
<00:12:08.900>That <00:12:09.100>is <00:12:09.300>deployed <00:12:09.500>within <00:12:09.699>the <00:12:09.900>same <00:12:10.100>kubernetes <00:12:10.300>cluster.

234
00:12:11.600 --> 00:12:14.200
<00:12:11.600>Okay, <00:12:11.775>so <00:12:11.950>that's <00:12:12.125>the <00:12:12.300>most <00:12:12.475>common <00:12:12.650>deployment <00:12:12.825>pattern <00:12:13.000>that

235
00:12:14.200 --> 00:12:14.500
<00:12:14.200>we <00:12:14.470>see.

236
00:12:16.300 --> 00:12:20.100
<00:12:16.300>Our <00:12:16.439>second <00:12:16.579>controller <00:12:16.719>to <00:12:16.859>wind <00:12:17.000>the <00:12:17.140>middle <00:12:17.280>talks <00:12:17.420>to <00:12:17.560>an <00:12:17.699>autonomous

237
00:12:19.100 --> 00:12:22.500
<00:12:19.100>Oracle <00:12:19.333>autonomous <00:12:19.566>database <00:12:19.800>running <00:12:20.033>the <00:12:20.266>Oracle <00:12:20.500>Cloud.

238
00:12:22.500 --> 00:12:25.300
<00:12:22.500>Okay. <00:12:22.700>So <00:12:22.900>obviously <00:12:23.100>the <00:12:23.300>Oracle <00:12:23.500>Cloud <00:12:23.700>that <00:12:23.900>is

239
00:12:25.300 --> 00:12:28.400
<00:12:25.300>not <00:12:25.474>running <00:12:25.650>the <00:12:25.824>same <00:12:26.000>kubernetes <00:12:26.175>kubernetes <00:12:26.349>cluster, <00:12:26.525>right? <00:12:26.699>So

240
00:12:28.400 --> 00:12:31.200
<00:12:28.400>they <00:12:28.574>are <00:12:28.750>pretty <00:12:28.925>still <00:12:29.100>works <00:12:29.275>there. <00:12:29.449>Right <00:12:29.625>the <00:12:29.800>lastly

241
00:12:31.200 --> 00:12:34.400
<00:12:31.200>this <00:12:31.433>kubernetes <00:12:31.666>cluster <00:12:31.900>manager <00:12:32.133>can <00:12:32.366>talk <00:12:32.600>to

242
00:12:34.400 --> 00:12:37.600
<00:12:34.400>an <00:12:34.680>on-premises <00:12:34.959>database <00:12:35.240>deployed <00:12:35.520>outside <00:12:35.800>of

243
00:12:37.600 --> 00:12:40.600
<00:12:37.600>kubernetes, <00:12:37.800>right <00:12:38.000>because <00:12:38.200>the <00:12:38.400>idea <00:12:38.600>is <00:12:38.800>that <00:12:39.000>within

244
00:12:40.600 --> 00:12:43.400
<00:12:40.600>a <00:12:40.740>company <00:12:40.880>there <00:12:41.020>are <00:12:41.160>many <00:12:41.300>many <00:12:41.440>deployment <00:12:41.580>models <00:12:41.720>for <00:12:41.860>Oracle <00:12:42.000>database

245
00:12:43.400 --> 00:12:46.900
<00:12:43.400>and <00:12:43.540>we <00:12:43.680>want <00:12:43.819>to <00:12:43.959>make <00:12:44.100>them <00:12:44.240>all <00:12:44.380>accessible <00:12:44.520>and <00:12:44.660>manageable <00:12:44.800>by

246
00:12:46.900 --> 00:12:47.700
kubernetes.

247
00:12:48.300 --> 00:12:48.600
Okay.

248
00:12:49.600 --> 00:12:52.300
<00:12:49.600>See <00:12:49.755>and <00:12:49.911>then <00:12:50.066>the <00:12:50.222>lifecycle <00:12:50.377>operation <00:12:50.533>might <00:12:50.688>expect <00:12:50.844>are <00:12:51.000>things

249
00:12:52.300 --> 00:12:55.900
<00:12:52.300>like <00:12:52.579>provisioning <00:12:52.859>binding <00:12:53.140>start/stop <00:12:53.420>scaling <00:12:53.699>scale-ups

250
00:12:55.900 --> 00:12:58.500
<00:12:55.900>and <00:12:56.133>so <00:12:56.366>forth. <00:12:56.600>Okay, <00:12:56.833>and <00:12:57.066>we're <00:12:57.300>testing

251
00:12:58.500 --> 00:13:01.800
<00:12:58.500>on <00:12:58.780>major <00:12:59.060>kubernetes <00:12:59.340>distributions <00:12:59.620>and <00:12:59.900>clouds.

252
00:13:01.800 --> 00:13:04.300
<00:13:01.800>Okay. <00:13:02.079>So <00:13:02.359>we're <00:13:02.640>steering <00:13:02.920>process <00:13:03.199>doing

253
00:13:04.300 --> 00:13:08.000
<00:13:04.300>this <00:13:04.455>the <00:13:04.611>software <00:13:04.766>has <00:13:04.922>already <00:13:05.077>been <00:13:05.233>released <00:13:05.388>on <00:13:05.544>GitHub <00:13:05.699>and

254
00:13:07.300 --> 00:13:10.500
<00:13:07.300>we've <00:13:07.533>complete <00:13:07.766>testing <00:13:08.000>a <00:13:08.233>minikube <00:13:08.466>the <00:13:08.699>Oracle

255
00:13:10.500 --> 00:13:14.300
<00:13:10.500>container <00:13:10.700>engine <00:13:10.900>the <00:13:11.100>Azure <00:13:11.300>contain <00:13:11.500>agent <00:13:11.700>AWS <00:13:11.900>red

256
00:13:13.300 --> 00:13:15.000
<00:13:13.300>hat <00:13:13.766>and <00:13:14.233>so <00:13:14.699>forth.

257
00:13:15.600 --> 00:13:15.800
Okay.

258
00:13:19.100 --> 00:13:22.800
<00:13:19.100>Okay, <00:13:19.193>so <00:13:19.286>in <00:13:19.380>terms <00:13:19.473>of <00:13:19.566>I'm <00:13:19.660>not <00:13:19.753>going <00:13:19.846>to <00:13:19.940>go <00:13:20.033>through <00:13:20.126>the <00:13:20.220>detail, <00:13:20.313>but <00:13:20.406>there's <00:13:20.500>just

259
00:13:22.800 --> 00:13:25.200
<00:13:22.800>a <00:13:22.974>long <00:13:23.150>roadmap <00:13:23.324>ahead <00:13:23.500>of <00:13:23.675>us. <00:13:23.849>So <00:13:24.025>we've <00:13:24.199>released

260
00:13:25.200 --> 00:13:28.300
<00:13:25.200>a <00:13:25.340>whole <00:13:25.480>bunch <00:13:25.620>of <00:13:25.760>support <00:13:25.900>and <00:13:26.040>then <00:13:26.180>we're <00:13:26.320>continuing <00:13:26.460>to <00:13:26.600>enhance

261
00:13:28.300 --> 00:13:31.100
<00:13:28.300>this <00:13:28.533>to <00:13:28.766>cover <00:13:29.000>more <00:13:29.233>use <00:13:29.466>cases. <00:13:29.699>Okay.

262
00:13:41.000 --> 00:13:41.300
Okay.

263
00:13:42.200 --> 00:13:45.200
<00:13:42.200>So <00:13:42.355>I <00:13:42.511>just <00:13:42.666>want <00:13:42.822>to <00:13:42.977>quickly <00:13:43.133>summarize <00:13:43.288>the <00:13:43.444>kubernetes <00:13:43.600>part

264
00:13:45.200 --> 00:13:48.500
<00:13:45.200>of <00:13:45.340>this, <00:13:45.480>right? <00:13:45.620>So <00:13:45.760>we <00:13:45.900>are <00:13:46.040>basically <00:13:46.180>embracing <00:13:46.320>the <00:13:46.460>user <00:13:46.600>containers

265
00:13:48.500 --> 00:13:49.200
<00:13:48.500>and <00:13:49.130>kubernetes.

266
00:13:49.700 --> 00:13:52.200
<00:13:49.700>Okay, <00:13:49.980>first <00:13:50.260>we <00:13:50.540>support <00:13:50.820>container <00:13:51.100>images,

267
00:13:52.200 --> 00:13:55.500
<00:13:52.200>right? <00:13:52.400>And <00:13:52.600>as <00:13:52.800>you <00:13:53.000>know <00:13:53.200>something <00:13:53.400>unusual <00:13:53.600>is

268
00:13:55.500 --> 00:13:58.400
<00:13:55.500>that <00:13:55.655>we <00:13:55.811>support <00:13:55.966>it <00:13:56.122>on <00:13:56.277>both <00:13:56.433>Oracle <00:13:56.588>as <00:13:56.744>was <00:13:56.900>none

269
00:13:58.400 --> 00:14:01.200
<00:13:58.400>Oracle <00:13:58.600>infrastructure, <00:13:58.800>right <00:13:59.000>specifically, <00:13:59.199>you <00:13:59.400>know, <00:13:59.600>we <00:13:59.800>picked

270
00:14:01.200 --> 00:14:04.200
<00:14:01.200>up <00:14:01.340>the <00:14:01.480>constantly <00:14:01.620>using <00:14:01.760>you <00:14:01.900>know <00:14:02.040>red <00:14:02.180>hat <00:14:02.320>and <00:14:02.460>so <00:14:02.600>forth,

271
00:14:04.200 --> 00:14:08.000
<00:14:04.200>right <00:14:04.400>then <00:14:04.600>we <00:14:04.800>release <00:14:05.000>in <00:14:05.200>open <00:14:05.400>source <00:14:05.600>Helm

272
00:14:07.200 --> 00:14:10.500
<00:14:07.200>charts <00:14:07.433>for <00:14:07.666>configuring <00:14:07.900>these <00:14:08.133>images <00:14:08.366>on <00:14:08.600>kubernetes.

273
00:14:11.500 --> 00:14:14.200
<00:14:11.500>Then <00:14:11.850>we <00:14:12.200>release <00:14:12.550>adapters <00:14:12.900>for

274
00:14:14.200 --> 00:14:17.600
<00:14:14.200>kubernetes <00:14:14.480>to <00:14:14.760>manage <00:14:15.040>to <00:14:15.320>for <00:14:15.600>open

275
00:14:17.600 --> 00:14:20.000
<00:14:17.600>source <00:14:17.833>observability <00:14:18.066>and <00:14:18.300>tracing <00:14:18.533>Frameworks, <00:14:18.766>you <00:14:19.000>know,

276
00:14:20.700 --> 00:14:23.600
<00:14:20.700>grafana <00:14:20.875>profusias <00:14:21.050>and <00:14:21.225>so <00:14:21.400>forth <00:14:21.575>and <00:14:21.750>lastly <00:14:21.925>we're <00:14:22.100>releasing

277
00:14:23.600 --> 00:14:26.400
<00:14:23.600>open <00:14:23.800>source <00:14:24.000>the <00:14:24.200>operator <00:14:24.400>to <00:14:24.600>allow <00:14:24.800>kubernetes <00:14:25.000>to

278
00:14:26.400 --> 00:14:29.400
<00:14:26.400>manage <00:14:26.633>organ <00:14:26.866>database <00:14:27.100>in <00:14:27.333>whatever <00:14:27.566>you <00:14:27.800>want

279
00:14:29.400 --> 00:14:32.300
<00:14:29.400>kubernetes <00:14:29.680>cluster <00:14:29.959>outside <00:14:30.240>cloud <00:14:30.520>and <00:14:30.800>so

280
00:14:32.300 --> 00:14:35.400
<00:14:32.300>forth, <00:14:32.427>right <00:14:32.554>and <00:14:32.681>I <00:14:32.809>want <00:14:32.936>to <00:14:33.063>emphasize <00:14:33.190>that <00:14:33.318>all <00:14:33.445>of <00:14:33.572>this <00:14:33.699>is

281
00:14:35.400 --> 00:14:38.200
<00:14:35.400>released <00:14:35.555>in <00:14:35.711>open <00:14:35.866>source <00:14:36.022>format <00:14:36.177>available <00:14:36.333>on <00:14:36.488>GitHub <00:14:36.644>because <00:14:36.800>we

282
00:14:38.200 --> 00:14:41.200
<00:14:38.200>know <00:14:38.355>that <00:14:38.511>this <00:14:38.666>is <00:14:38.822>a <00:14:38.977>very <00:14:39.133>highly <00:14:39.288>evolving <00:14:39.444>field, <00:14:39.600>right?

283
00:14:42.800 --> 00:14:45.200
<00:14:42.800>So <00:14:42.974>so <00:14:43.150>I've <00:14:43.324>talked <00:14:43.500>two <00:14:43.675>parts <00:14:43.849>of <00:14:44.025>number <00:14:44.199>one

284
00:14:45.200 --> 00:14:48.600
<00:14:45.200>is <00:14:45.340>supporting <00:14:45.480>it <00:14:45.620>number <00:14:45.760>two <00:14:45.900>is <00:14:46.040>integrating <00:14:46.180>it <00:14:46.320>and <00:14:46.460>lastly <00:14:46.600>is

285
00:14:48.600 --> 00:14:51.400
<00:14:48.600>what <00:14:48.775>are <00:14:48.950>we <00:14:49.125>doing <00:14:49.300>to <00:14:49.475>innovate <00:14:49.650>more <00:14:49.825>into <00:14:50.000>space?

286
00:14:53.700 --> 00:14:53.900
Okay.

287
00:14:55.700 --> 00:14:58.300
<00:14:55.700>One <00:14:55.816>of <00:14:55.933>the <00:14:56.050>challenges. <00:14:56.166>In <00:14:56.283>fact <00:14:56.400>this <00:14:56.516>came <00:14:56.633>between <00:14:56.750>when <00:14:56.866>I <00:14:56.983>check <00:14:57.100>when

288
00:14:58.300 --> 00:15:00.100
<00:14:58.300>I <00:14:58.474>was <00:14:58.650>having <00:14:58.824>lunch <00:14:59.000>with <00:14:59.175>somebody <00:14:59.349>today <00:14:59.525>is <00:14:59.699>that

289
00:15:01.800 --> 00:15:05.100
<00:15:01.800>it's <00:15:01.955>very <00:15:02.111>hard <00:15:02.266>today <00:15:02.422>to <00:15:02.577>support <00:15:02.733>Mission <00:15:02.888>critical <00:15:03.044>microservices <00:15:03.199>on

290
00:15:04.100 --> 00:15:05.700
kubernetes.

291
00:15:06.800 --> 00:15:09.300
<00:15:06.800>Okay. <00:15:07.266>So <00:15:07.733>for <00:15:08.199>example,

292
00:15:09.300 --> 00:15:11.300
<00:15:09.300>you <00:15:09.533>know, <00:15:09.766>how <00:15:10.000>do <00:15:10.233>you <00:15:10.466>do <00:15:10.699>transactions?

293
00:15:12.700 --> 00:15:16.100
<00:15:12.700>All <00:15:12.933>right, <00:15:13.166>traditionally, <00:15:13.400>you <00:15:13.633>know <00:15:13.866>real-time <00:15:14.100>High

294
00:15:15.100 --> 00:15:18.600
<00:15:15.100>throughput <00:15:15.566>transactions <00:15:16.033>applications, <00:15:16.500>right

295
00:15:18.600 --> 00:15:20.100
<00:15:18.600>use <00:15:19.275>transaction <00:15:19.950>monitors.

296
00:15:20.900 --> 00:15:24.100
<00:15:20.900>Right <00:15:21.100>we <00:15:21.300>go <00:15:21.500>to <00:15:21.699>ATM <00:15:21.900>machines <00:15:22.100>Airline <00:15:22.300>reservation

297
00:15:23.100 --> 00:15:26.500
<00:15:23.100>systems, <00:15:23.450>you <00:15:23.800>know <00:15:24.150>banking <00:15:24.500>transactions

298
00:15:26.500 --> 00:15:29.300
<00:15:26.500>these <00:15:26.733>things <00:15:26.966>the <00:15:27.200>transactions <00:15:27.433>and <00:15:27.666>their <00:15:27.900>first

299
00:15:29.300 --> 00:15:32.800
<00:15:29.300>primarily <00:15:29.500>supported <00:15:29.699>by <00:15:29.900>transaction <00:15:30.099>monitors, <00:15:30.300>right <00:15:30.500>like <00:15:30.699>Oracle

300
00:15:32.800 --> 00:15:35.800
<00:15:32.800>taxido <00:15:33.079>and <00:15:33.359>ibmc <00:15:33.640>ICS, <00:15:33.920>right <00:15:34.199>and

301
00:15:35.800 --> 00:15:38.300
<00:15:35.800>they're <00:15:36.033>basically <00:15:36.266>use <00:15:36.500>everywhere. <00:15:36.733>Okay <00:15:36.966>in <00:15:37.199>the

302
00:15:38.300 --> 00:15:38.500
<00:15:38.300>back <00:15:38.480>end.

303
00:15:40.100 --> 00:15:43.600
<00:15:40.100>And <00:15:40.255>when <00:15:40.411>these <00:15:40.566>applications <00:15:40.722>want <00:15:40.877>to <00:15:41.033>transition <00:15:41.188>to <00:15:41.344>the <00:15:41.500>microservices

304
00:15:43.600 --> 00:15:46.600
<00:15:43.600>world, <00:15:43.740>they <00:15:43.880>really <00:15:44.020>want <00:15:44.160>to <00:15:44.300>deliver <00:15:44.440>the <00:15:44.580>same <00:15:44.720>level <00:15:44.860>of <00:15:45.000>performance

305
00:15:46.600 --> 00:15:49.600
<00:15:46.600>and <00:15:46.800>reliability <00:15:47.000>within <00:15:47.200>the <00:15:47.400>capabilities, <00:15:47.600>right <00:15:47.800>so <00:15:48.000>they

306
00:15:49.600 --> 00:15:50.700
<00:15:49.600>want <00:15:50.095>transactional <00:15:50.590>support.

307
00:15:53.300 --> 00:15:56.300
<00:15:53.300>And <00:15:53.407>that's <00:15:53.515>what <00:15:53.623>we're <00:15:53.730>doing. <00:15:53.838>Okay. <00:15:53.946>So <00:15:54.053>this <00:15:54.161>is <00:15:54.269>something <00:15:54.376>that <00:15:54.484>we're <00:15:54.592>adding <00:15:54.699>to

308
00:15:56.300 --> 00:15:59.700
<00:15:56.300>kubernetes <00:15:56.500>and <00:15:56.699>it's <00:15:56.900>it's <00:15:57.099>currently <00:15:57.300>beta <00:15:57.500>right. <00:15:57.699>It'd

309
00:15:59.700 --> 00:16:02.400
<00:15:59.700>be <00:15:59.875>production <00:16:00.050>shortly. <00:16:00.225>Okay, <00:16:00.400>what <00:16:00.575>we're <00:16:00.750>doing <00:16:00.925>is <00:16:01.100>we're

310
00:16:02.400 --> 00:16:06.000
<00:16:02.400>providing <00:16:02.633>distributed <00:16:02.866>transaction <00:16:03.100>support <00:16:03.333>for <00:16:03.566>applications <00:16:03.800>deployed

311
00:16:05.200 --> 00:16:06.600
<00:16:05.200>in <00:16:06.460>kubernetes.

312
00:16:07.500 --> 00:16:11.000
<00:16:07.500>Okay, <00:16:07.700>so <00:16:07.900>we're <00:16:08.100>bringing <00:16:08.300>transaction <00:16:08.500>processing <00:16:08.700>capabilities <00:16:08.900>into

313
00:16:10.800 --> 00:16:13.100
<00:16:10.800>kubernetes. <00:16:11.266>Right <00:16:11.733>and <00:16:12.199>we're

314
00:16:13.100 --> 00:16:17.000
<00:16:13.100>supporting <00:16:13.300>two <00:16:13.500>models <00:16:13.700>one <00:16:13.900>is <00:16:14.100>strongly <00:16:14.300>consistent <00:16:14.500>with

315
00:16:16.200 --> 00:16:19.200
<00:16:16.200>the <00:16:16.433>XA <00:16:16.666>transaction <00:16:16.900>model <00:16:17.133>as <00:16:17.366>well <00:16:17.600>as

316
00:16:19.200 --> 00:16:22.400
<00:16:19.200>try <00:16:19.355>confirm. <00:16:19.511>Try <00:16:19.666>cancel. <00:16:19.822>Okay, <00:16:19.977>and <00:16:20.133>so <00:16:20.288>this <00:16:20.444>is <00:16:20.600>suitable

317
00:16:22.400 --> 00:16:25.700
<00:16:22.400>for <00:16:22.600>microservices <00:16:22.800>for <00:16:23.000>the <00:16:23.199>services <00:16:23.400>are <00:16:23.600>relatively <00:16:23.800>close

318
00:16:25.700 --> 00:16:26.000
together.

319
00:16:27.100 --> 00:16:30.800
<00:16:27.100>Right, <00:16:27.216>so <00:16:27.333>they <00:16:27.450>can <00:16:27.566>be <00:16:27.683>part <00:16:27.800>of <00:16:27.916>a <00:16:28.033>single <00:16:28.150>distributor <00:16:28.266>transaction <00:16:28.383>and <00:16:28.500>this

320
00:16:30.800 --> 00:16:32.100
<00:16:30.800>is <00:16:31.092>the <00:16:31.385>highest <00:16:31.677>performance <00:16:31.970>mode.

321
00:16:33.600 --> 00:16:37.100
<00:16:33.600>We <00:16:33.740>also <00:16:33.880>support <00:16:34.020>a <00:16:34.160>second <00:16:34.300>mode <00:16:34.440>which <00:16:34.580>is <00:16:34.720>called <00:16:34.860>eventual <00:16:35.000>consistency

322
00:16:36.100 --> 00:16:39.600
<00:16:36.100>with <00:16:36.450>Saga <00:16:36.800>orchestration. <00:16:37.150>Okay. <00:16:37.500>So

323
00:16:39.600 --> 00:16:42.500
<00:16:39.600>sagas <00:16:39.800>are <00:16:40.000>is <00:16:40.200>a <00:16:40.400>pattern <00:16:40.600>that <00:16:40.800>is <00:16:41.000>useful

324
00:16:42.500 --> 00:16:45.700
<00:16:42.500>useful <00:16:42.850>for <00:16:43.200>microservices <00:16:43.550>that <00:16:43.900>are

325
00:16:45.700 --> 00:16:48.300
<00:16:45.700>far <00:16:45.900>more <00:16:46.100>Loosely <00:16:46.300>coupled <00:16:46.500>right <00:16:46.700>perhaps <00:16:46.900>off <00:16:47.100>of

326
00:16:48.300 --> 00:16:51.300
<00:16:48.300>a <00:16:48.416>different <00:16:48.533>providers <00:16:48.650>in <00:16:48.766>the <00:16:48.883>cloud <00:16:49.000>where <00:16:49.116>you <00:16:49.233>cannot <00:16:49.349>put <00:16:49.466>them <00:16:49.583>into <00:16:49.699>the

327
00:16:51.300 --> 00:16:54.900
<00:16:51.300>same <00:16:51.455>distributor <00:16:51.611>transaction. <00:16:51.766>Okay, <00:16:51.922>so <00:16:52.077>we're <00:16:52.233>offering <00:16:52.388>both <00:16:52.544>models, <00:16:52.699>right?

328
00:16:55.900 --> 00:16:58.500
<00:16:55.900>And <00:16:56.055>of <00:16:56.211>course <00:16:56.366>this <00:16:56.522>will <00:16:56.677>work <00:16:56.833>with <00:16:56.988>the <00:16:57.144>problem <00:16:57.300>languages

329
00:16:58.500 --> 00:17:01.400
<00:16:58.500>and <00:16:58.700>Frameworks, <00:16:58.900>you <00:16:59.100>know, <00:16:59.300>Java <00:16:59.500>JavaScript, <00:16:59.700>you <00:16:59.900>know

330
00:17:01.400 --> 00:17:04.200
<00:17:01.400>golang <00:17:01.680>Python <00:17:01.959>and <00:17:02.240>so <00:17:02.520>forth, <00:17:02.800>right?

331
00:17:05.500 --> 00:17:08.800
<00:17:05.500>And <00:17:05.733>very <00:17:05.966>importantly <00:17:06.200>this <00:17:06.433>transaction <00:17:06.666>manager <00:17:06.900>is

332
00:17:08.800 --> 00:17:11.700
<00:17:08.800>deployed <00:17:09.149>and <00:17:09.500>managed <00:17:09.849>as <00:17:10.200>a

333
00:17:11.700 --> 00:17:14.400
<00:17:11.700>native <00:17:11.980>kubernetes <00:17:12.260>service. <00:17:12.540>Okay, <00:17:12.819>so <00:17:13.100>it's

334
00:17:14.400 --> 00:17:15.200
<00:17:14.400>integrated <00:17:14.640>with <00:17:14.880>you <00:17:15.120>know.

335
00:17:16.600 --> 00:17:19.900
<00:17:16.599>Istio <00:17:16.740>service <00:17:16.879>mesh <00:17:17.020>the <00:17:17.159>log <00:17:17.300>in <00:17:17.439>monitoring <00:17:17.579>tracing <00:17:17.719>of <00:17:17.859>kubernetes. <00:17:18.000>Okay,

336
00:17:19.900 --> 00:17:22.400
<00:17:19.900>and <00:17:20.040>it <00:17:20.180>has <00:17:20.320>in <00:17:20.460>fact <00:17:20.600>it <00:17:20.740>has <00:17:20.880>an <00:17:21.020>operator <00:17:21.160>such <00:17:21.300>as

337
00:17:22.400 --> 00:17:24.900
<00:17:22.400>you <00:17:22.540>can <00:17:22.680>actually <00:17:22.820>run <00:17:22.960>it <00:17:23.100>and <00:17:23.240>control <00:17:23.380>it <00:17:23.520>through <00:17:23.660>group <00:17:23.800>CTO.

338
00:17:25.500 --> 00:17:25.700
Okay.

339
00:17:27.900 --> 00:17:30.300
<00:17:27.900>So <00:17:28.040>I <00:17:28.180>think <00:17:28.320>this <00:17:28.460>is <00:17:28.600>something <00:17:28.740>that's <00:17:28.880>gonna <00:17:29.020>be <00:17:29.160>I <00:17:29.300>have

340
00:17:30.300 --> 00:17:33.200
<00:17:30.300>very <00:17:30.440>high <00:17:30.580>hopes <00:17:30.720>for <00:17:30.860>this <00:17:31.000>because <00:17:31.139>I <00:17:31.280>think <00:17:31.419>this <00:17:31.560>will <00:17:31.700>really

341
00:17:33.200 --> 00:17:36.700
<00:17:33.200>make <00:17:33.375>it <00:17:33.550>possible <00:17:33.725>to <00:17:33.900>deploy <00:17:34.075>and <00:17:34.250>build <00:17:34.425>more <00:17:34.600>applications

342
00:17:36.700 --> 00:17:37.400
<00:17:36.700>and <00:17:37.330>kubernetes.

343
00:17:40.700 --> 00:17:43.200
<00:17:40.700>okay, <00:17:40.900>so <00:17:41.100>I've <00:17:41.300>talked <00:17:41.500>about <00:17:41.700>two <00:17:41.900>other <00:17:42.100>three

344
00:17:43.200 --> 00:17:44.500
<00:17:43.200>topics <00:17:43.590>right <00:17:43.980>first <00:17:44.370>is

345
00:17:47.200 --> 00:17:50.500
<00:17:47.200>You <00:17:47.400>know <00:17:47.600>converge <00:17:47.800>database <00:17:48.000>multi-model <00:17:48.200>database <00:17:48.400>while <00:17:48.600>it's

346
00:17:50.500 --> 00:17:53.500
<00:17:50.500>good <00:17:50.700>for <00:17:50.900>you, <00:17:51.100>right? <00:17:51.300>Secondly. <00:17:51.500>I <00:17:51.700>started <00:17:51.900>this

347
00:17:53.500 --> 00:17:56.600
<00:17:53.500>I <00:17:53.627>sort <00:17:53.754>of <00:17:53.881>walk <00:17:54.009>through <00:17:54.136>what <00:17:54.263>it <00:17:54.390>means <00:17:54.518>for <00:17:54.645>a <00:17:54.772>database <00:17:54.900>to

348
00:17:56.600 --> 00:17:59.700
<00:17:56.600>be <00:17:56.833>integrated <00:17:57.066>with <00:17:57.300>kubernetes, <00:17:57.533>right? <00:17:57.766>And <00:17:58.000>then

349
00:17:59.700 --> 00:18:02.500
<00:17:59.700>that <00:17:59.875>sort <00:18:00.050>of <00:18:00.225>gave <00:18:00.400>you <00:18:00.575>a <00:18:00.750>very <00:18:00.925>short <00:18:01.100>description

350
00:18:02.500 --> 00:18:05.400
<00:18:02.500>of <00:18:02.675>what <00:18:02.850>we're <00:18:03.025>doing <00:18:03.200>to <00:18:03.375>sort <00:18:03.550>of <00:18:03.725>make <00:18:03.900>it

351
00:18:05.400 --> 00:18:08.800
<00:18:05.400>possible <00:18:05.575>to <00:18:05.750>write <00:18:05.925>more <00:18:06.100>kinds <00:18:06.275>of <00:18:06.450>mission <00:18:06.625>critical <00:18:06.800>applications

352
00:18:08.800 --> 00:18:10.200
<00:18:08.800>on <00:18:09.430>kubernetes, <00:18:10.060>right?

353
00:18:11.300 --> 00:18:14.300
<00:18:11.300>The <00:18:11.455>last <00:18:11.611>thing <00:18:11.766>is <00:18:11.922>the <00:18:12.077>third <00:18:12.233>part <00:18:12.388>which <00:18:12.544>is <00:18:12.700>microservices.

354
00:18:14.900 --> 00:18:17.500
<00:18:14.900>Okay. <00:18:15.366>So <00:18:15.833>microservices <00:18:16.300>for

355
00:18:17.500 --> 00:18:18.100
<00:18:17.500>me <00:18:18.040>is

356
00:18:19.200 --> 00:18:22.200
<00:18:19.200>very <00:18:19.375>similar <00:18:19.550>to <00:18:19.725>kubernetes <00:18:19.900>in <00:18:20.075>some <00:18:20.250>sense, <00:18:20.425>right? <00:18:20.600>It's

357
00:18:23.400 --> 00:18:26.600
<00:18:23.400>has <00:18:23.516>a <00:18:23.633>lot <00:18:23.750>of <00:18:23.866>strength, <00:18:23.983>but <00:18:24.100>it's <00:18:24.216>also <00:18:24.333>very <00:18:24.450>hard <00:18:24.566>right <00:18:24.683>if <00:18:24.800>you

358
00:18:26.600 --> 00:18:29.900
<00:18:26.600>Google <00:18:27.066>for <00:18:27.533>experiencing <00:18:28.000>microservices.

359
00:18:31.200 --> 00:18:32.400
<00:18:31.200>It's <00:18:31.354>still <00:18:31.508>lots <00:18:31.662>and <00:18:31.817>lots <00:18:31.971>of <00:18:32.125>failure <00:18:32.280>cases.

360
00:18:33.500 --> 00:18:36.400
<00:18:33.500>Okay, <00:18:33.616>you <00:18:33.733>know <00:18:33.850>if <00:18:33.966>you <00:18:34.083>read <00:18:34.200>this <00:18:34.316>quote <00:18:34.433>like <00:18:34.550>you <00:18:34.666>know, <00:18:34.783>why <00:18:34.900>many

361
00:18:36.400 --> 00:18:39.300
<00:18:36.400>microservices <00:18:36.600>projects <00:18:36.800>fail <00:18:37.000>11 <00:18:37.200>reasons <00:18:37.400>why <00:18:37.600>you're <00:18:37.800>going

362
00:18:39.300 --> 00:18:41.200
<00:18:39.300>to <00:18:39.500>fail <00:18:39.700>with <00:18:39.899>microservices <00:18:40.100>and <00:18:40.300>so <00:18:40.500>forth, <00:18:40.700>right?

363
00:18:42.300 --> 00:18:46.200
<00:18:42.300>So <00:18:42.533>it's <00:18:42.766>very <00:18:43.000>depressing <00:18:43.233>actually, <00:18:43.466>right? <00:18:43.700>So

364
00:18:47.600 --> 00:18:50.300
<00:18:47.600>I <00:18:47.727>tend <00:18:47.854>to <00:18:47.981>focus <00:18:48.109>on <00:18:48.236>trying <00:18:48.363>to <00:18:48.490>figure <00:18:48.618>out <00:18:48.745>what <00:18:48.872>it <00:18:49.000>does

365
00:18:50.300 --> 00:18:53.100
<00:18:50.300>take <00:18:50.455>to <00:18:50.611>be <00:18:50.766>successful. <00:18:50.922>Right <00:18:51.077>and <00:18:51.233>I <00:18:51.388>think <00:18:51.544>to <00:18:51.700>be

366
00:18:53.100 --> 00:18:55.200
<00:18:53.100>successful. <00:18:53.379>It <00:18:53.659>takes <00:18:53.939>really <00:18:54.219>two <00:18:54.500>things.

367
00:18:55.900 --> 00:18:58.200
<00:18:55.900>Number <00:18:56.100>one <00:18:56.300>is <00:18:56.500>use <00:18:56.700>the <00:18:56.900>best <00:18:57.100>tools <00:18:57.300>and

368
00:18:58.200 --> 00:18:58.500
Technologies.

369
00:18:59.500 --> 00:19:00.300
<00:18:59.500>and <00:18:59.740>number <00:18:59.980>two <00:19:00.220>is

370
00:19:01.400 --> 00:19:04.900
<00:19:01.400>Adopt <00:19:01.680>proven <00:19:01.960>architecture <00:19:02.240>patterns, <00:19:02.520>right <00:19:02.800>follow

371
00:19:04.900 --> 00:19:06.100
<00:19:04.900>the <00:19:05.260>path <00:19:05.620>that <00:19:05.980>works.

372
00:19:07.600 --> 00:19:08.700
<00:19:07.600>So <00:19:07.764>I'll <00:19:07.929>talk <00:19:08.095>about <00:19:08.260>both <00:19:08.425>of <00:19:08.590>these.

373
00:19:10.500 --> 00:19:14.100
<00:19:10.500>So <00:19:10.627>the <00:19:10.754>first <00:19:10.881>one <00:19:11.009>is <00:19:11.136>coming <00:19:11.263>back <00:19:11.390>to <00:19:11.518>the <00:19:11.645>converged <00:19:11.772>multi-model <00:19:11.900>database

374
00:19:13.100 --> 00:19:14.500
<00:19:13.100>is <00:19:14.360>that

375
00:19:15.500 --> 00:19:19.300
<00:19:15.500>Your <00:19:15.675>life <00:19:15.850>we <00:19:16.025>must <00:19:16.200>simpler. <00:19:16.375>If <00:19:16.550>each <00:19:16.725>microservice <00:19:16.900>use

376
00:19:18.300 --> 00:19:21.600
<00:19:18.300>the <00:19:18.533>same <00:19:18.766>type <00:19:19.000>of <00:19:19.233>database. <00:19:19.466>Okay, <00:19:19.700>because

377
00:19:21.600 --> 00:19:24.900
<00:19:21.600>just <00:19:21.774>imagine <00:19:21.949>if <00:19:22.125>you <00:19:22.300>have <00:19:22.475>30 <00:19:22.649>different <00:19:22.824>microservices <00:19:23.000>and

378
00:19:24.900 --> 00:19:28.200
<00:19:24.900>they <00:19:25.055>all <00:19:25.211>use <00:19:25.366>30 <00:19:25.522>different <00:19:25.677>types <00:19:25.833>of <00:19:25.988>databases. <00:19:26.144>That's <00:19:26.300>a

379
00:19:27.200 --> 00:19:29.700
<00:19:27.200>lot <00:19:27.433>of <00:19:27.666>complexity <00:19:27.900>that <00:19:28.133>you're <00:19:28.366>buying <00:19:28.600>to

380
00:19:30.700 --> 00:19:32.200
<00:19:30.700>that's <00:19:30.925>gonna <00:19:31.150>cause <00:19:31.375>your <00:19:31.600>world <00:19:31.825>of <00:19:32.050>hurt.

381
00:19:33.400 --> 00:19:36.600
<00:19:33.400>Okay <00:19:33.516>now <00:19:33.633>so <00:19:33.750>we <00:19:33.866>say <00:19:33.983>that <00:19:34.100>use <00:19:34.216>the <00:19:34.333>same <00:19:34.450>type <00:19:34.566>of <00:19:34.683>database. <00:19:34.800>So

382
00:19:36.600 --> 00:19:39.100
<00:19:36.600>if <00:19:36.727>you <00:19:36.854>do <00:19:36.981>that, <00:19:37.109>obviously <00:19:37.236>the <00:19:37.363>only <00:19:37.490>type <00:19:37.618>of <00:19:37.745>database <00:19:37.872>you <00:19:38.000>can

383
00:19:39.100 --> 00:19:42.400
<00:19:39.100>use <00:19:39.207>is <00:19:39.315>a <00:19:39.423>converge <00:19:39.530>or <00:19:39.638>multi <00:19:39.746>model <00:19:39.853>database <00:19:39.961>is <00:19:40.069>that <00:19:40.176>can <00:19:40.284>support <00:19:40.392>all <00:19:40.500>the

384
00:19:42.400 --> 00:19:44.900
<00:19:42.400>requirements <00:19:42.633>of <00:19:42.866>each <00:19:43.100>different <00:19:43.333>micro <00:19:43.566>service, <00:19:43.800>right?

385
00:19:46.200 --> 00:19:49.500
<00:19:46.200>Now <00:19:46.327>when <00:19:46.454>I <00:19:46.581>say <00:19:46.709>that <00:19:46.836>deploy <00:19:46.963>one <00:19:47.090>type <00:19:47.218>of <00:19:47.345>database <00:19:47.472>I <00:19:47.600>said

386
00:19:49.500 --> 00:19:53.000
<00:19:49.500>one <00:19:49.655>type <00:19:49.811>it <00:19:49.966>does <00:19:50.122>not <00:19:50.277>mean <00:19:50.433>one <00:19:50.588>single <00:19:50.744>database. <00:19:50.900>Okay,

387
00:19:52.300 --> 00:19:55.200
<00:19:52.300>because <00:19:52.580>again <00:19:52.860>each <00:19:53.139>microservice <00:19:53.419>wants <00:19:53.700>to

388
00:19:55.200 --> 00:19:56.200
<00:19:55.200>have <00:19:55.425>its <00:19:55.650>own <00:19:55.875>database, <00:19:56.100>right?

389
00:19:56.900 --> 00:19:57.500
<00:19:56.900>So <00:19:57.035>you <00:19:57.170>can <00:19:57.305>do <00:19:57.440>that.

390
00:19:58.900 --> 00:20:01.300
<00:19:58.900>I <00:19:59.133>basically <00:19:59.366>if <00:19:59.600>you <00:19:59.833>can <00:20:00.066>reduce <00:20:00.300>the

391
00:20:01.300 --> 00:20:04.300
<00:20:01.300>number <00:20:01.427>of <00:20:01.554>databases, <00:20:01.681>you're <00:20:01.809>trying <00:20:01.936>to <00:20:02.063>manage. <00:20:02.190>It <00:20:02.318>means <00:20:02.445>less <00:20:02.572>data <00:20:02.700>movement

392
00:20:04.300 --> 00:20:07.600
<00:20:04.300>less <00:20:04.580>complexity <00:20:04.860>and <00:20:05.139>let's <00:20:05.419>integration. <00:20:05.700>Let's

393
00:20:07.600 --> 00:20:10.300
<00:20:07.600>leave <00:20:07.727>for <00:20:07.854>integration <00:20:07.981>work, <00:20:08.109>right <00:20:08.236>because <00:20:08.363>the <00:20:08.490>data <00:20:08.618>is <00:20:08.745>only <00:20:08.872>one <00:20:09.000>place

394
00:20:10.300 --> 00:20:10.900
<00:20:10.300>if <00:20:10.570>you <00:20:10.840>want.

395
00:20:11.400 --> 00:20:12.000
<00:20:11.400>Okay, <00:20:11.940>so

396
00:20:17.300 --> 00:20:17.800
<00:20:17.300>Okay, <00:20:17.750>so

397
00:20:18.800 --> 00:20:21.300
<00:20:18.800>So <00:20:18.955>the <00:20:19.111>conversion <00:20:19.266>database <00:20:19.422>says <00:20:19.577>that <00:20:19.733>every <00:20:19.888>single <00:20:20.044>microservice <00:20:20.200>can

398
00:20:21.300 --> 00:20:21.400
run.

399
00:20:22.300 --> 00:20:25.600
<00:20:22.300>Its <00:20:22.500>own <00:20:22.700>database. <00:20:22.899>That's <00:20:23.100>great. <00:20:23.300>Okay. <00:20:23.500>Now <00:20:23.700>the

400
00:20:25.600 --> 00:20:28.200
<00:20:25.600>other <00:20:25.727>thing <00:20:25.854>that's <00:20:25.981>that's <00:20:26.109>interesting <00:20:26.236>about <00:20:26.363>Oracle <00:20:26.490>database <00:20:26.618>is <00:20:26.745>that <00:20:26.872>we <00:20:27.000>have

401
00:20:28.200 --> 00:20:31.700
<00:20:28.200>this <00:20:28.375>concept <00:20:28.550>of <00:20:28.725>containers <00:20:28.900>built <00:20:29.075>into <00:20:29.250>the <00:20:29.425>database <00:20:29.600>called

402
00:20:31.700 --> 00:20:34.700
<00:20:31.700>containers <00:20:31.980>from <00:20:32.260>microservices, <00:20:32.540>right <00:20:32.820>and <00:20:33.100>we

403
00:20:34.700 --> 00:20:37.600
<00:20:34.700>all <00:20:34.840>know <00:20:34.980>why <00:20:35.120>containers <00:20:35.260>are <00:20:35.400>great. <00:20:35.540>It <00:20:35.680>gives <00:20:35.820>you <00:20:35.960>agility <00:20:36.100>rapid

404
00:20:37.600 --> 00:20:40.200
<00:20:37.600>deployment <00:20:37.774>and <00:20:37.949>so <00:20:38.125>forth, <00:20:38.300>right? <00:20:38.475>So <00:20:38.649>we <00:20:38.824>basically <00:20:39.000>build

405
00:20:40.200 --> 00:20:42.400
<00:20:40.200>a <00:20:40.400>container <00:20:40.600>concept <00:20:40.800>natively <00:20:41.000>into <00:20:41.200>the <00:20:41.400>organ <00:20:41.600>database.

406
00:20:43.200 --> 00:20:46.600
<00:20:43.200>Right <00:20:43.400>such <00:20:43.600>that <00:20:43.800>when <00:20:44.000>you <00:20:44.200>each <00:20:44.400>microservice <00:20:44.600>can

407
00:20:46.600 --> 00:20:49.400
<00:20:46.600>deploy <00:20:46.879>a <00:20:47.159>lightweight <00:20:47.439>database <00:20:47.719>they <00:20:48.000>would

408
00:20:49.400 --> 00:20:52.100
<00:20:49.400>call <00:20:49.540>it <00:20:49.680>a <00:20:49.820>plugable <00:20:49.960>database. <00:20:50.100>Okay. <00:20:50.240>So <00:20:50.380>if <00:20:50.520>you <00:20:50.660>have <00:20:50.800>30

409
00:20:52.100 --> 00:20:54.500
<00:20:52.100>microservices <00:20:52.333>each <00:20:52.566>one <00:20:52.800>gets <00:20:53.033>their <00:20:53.266>own <00:20:53.500>independent.

410
00:20:55.500 --> 00:20:58.400
<00:20:55.500>Plug <00:20:55.675>with <00:20:55.850>database. <00:20:56.025>Okay, <00:20:56.200>and <00:20:56.375>the <00:20:56.550>product <00:20:56.725>with <00:20:56.900>database

411
00:20:58.400 --> 00:21:00.900
<00:20:58.400>is <00:20:58.600>private <00:20:58.800>to <00:20:59.000>the <00:20:59.200>app <00:20:59.400>to <00:20:59.600>each <00:20:59.800>microservice.

412
00:21:01.700 --> 00:21:04.400
<00:21:01.700>but <00:21:01.900>all <00:21:02.100>the <00:21:02.300>plug <00:21:02.500>with <00:21:02.700>databases <00:21:02.900>plug <00:21:03.100>into

413
00:21:04.400 --> 00:21:06.100
<00:21:04.400>this <00:21:04.866>common <00:21:05.333>physical <00:21:05.800>database

414
00:21:06.900 --> 00:21:09.300
<00:21:06.900>Right, <00:21:07.075>so <00:21:07.250>virtual <00:21:07.425>database <00:21:07.600>and <00:21:07.775>physical <00:21:07.950>databases <00:21:08.125>and <00:21:08.300>then

415
00:21:09.300 --> 00:21:12.600
<00:21:09.300>allows <00:21:09.500>you <00:21:09.700>to <00:21:09.899>manage. <00:21:10.100>The <00:21:10.300>operations <00:21:10.500>is <00:21:10.700>what

416
00:21:12.600 --> 00:21:12.900
<00:21:12.600>happens <00:21:12.870>is

417
00:21:14.100 --> 00:21:17.400
<00:21:14.100>if <00:21:14.300>you <00:21:14.500>have <00:21:14.699>30 <00:21:14.899>different <00:21:15.100>pluggable <00:21:15.300>databases <00:21:15.500>or

418
00:21:17.400 --> 00:21:18.000
<00:21:17.400>virtual <00:21:17.940>databases.

419
00:21:19.700 --> 00:21:22.700
<00:21:19.700>I <00:21:19.827>don't <00:21:19.954>have <00:21:20.081>to <00:21:20.209>back <00:21:20.336>them <00:21:20.463>up <00:21:20.590>individually <00:21:20.718>30 <00:21:20.845>times. <00:21:20.972>I <00:21:21.100>can

420
00:21:22.700 --> 00:21:25.600
<00:21:22.700>just <00:21:22.855>back <00:21:23.011>up <00:21:23.166>the <00:21:23.322>physical <00:21:23.477>container <00:21:23.633>database <00:21:23.788>one <00:21:23.944>time <00:21:24.100>and

421
00:21:25.600 --> 00:21:27.900
<00:21:25.600>protect <00:21:25.833>all <00:21:26.066>the <00:21:26.300>databases <00:21:26.533>at <00:21:26.766>once. <00:21:27.000>Okay?

422
00:21:28.900 --> 00:21:32.100
<00:21:28.900>And <00:21:29.180>lastly <00:21:29.460>is <00:21:29.740>that <00:21:30.020>because <00:21:30.300>Oracle

423
00:21:31.100 --> 00:21:34.700
<00:21:31.100>is <00:21:31.379>a <00:21:31.659>converged <00:21:31.939>multi-model <00:21:32.219>database. <00:21:32.500>Right?

424
00:21:34.700 --> 00:21:37.000
<00:21:34.700>Each <00:21:34.900>of <00:21:35.100>these <00:21:35.300>plugs <00:21:35.500>with <00:21:35.700>databases <00:21:35.900>can <00:21:36.100>be

425
00:21:37.600 --> 00:21:40.700
<00:21:37.600>using <00:21:37.800>its <00:21:38.000>own <00:21:38.199>data <00:21:38.399>types <00:21:38.600>relational. <00:21:38.800>Json <00:21:39.000>graphs

426
00:21:40.700 --> 00:21:44.200
<00:21:40.700>spatial <00:21:40.840>and <00:21:40.980>so <00:21:41.120>forth. <00:21:41.260>Okay. <00:21:41.400>So <00:21:41.540>this <00:21:41.680>gives <00:21:41.820>you <00:21:41.960>all <00:21:42.100>the

427
00:21:43.200 --> 00:21:46.800
<00:21:43.200>capabilities <00:21:43.480>of <00:21:43.760>single <00:21:44.040>purpose <00:21:44.320>specialized <00:21:44.600>databases

428
00:21:46.800 --> 00:21:49.300
<00:21:46.800>without <00:21:47.033>the <00:21:47.266>paying <00:21:47.500>of <00:21:47.733>mash <00:21:47.966>with <00:21:48.200>managing.

429
00:21:50.200 --> 00:21:53.600
<00:21:50.200>All <00:21:50.340>these <00:21:50.480>different <00:21:50.620>types <00:21:50.760>of <00:21:50.900>databases <00:21:51.040>and <00:21:51.180>furthermore. <00:21:51.320>We <00:21:51.460>simplify <00:21:51.600>further

430
00:21:53.600 --> 00:21:56.400
<00:21:53.600>by <00:21:53.800>managing <00:21:54.000>many <00:21:54.199>databases <00:21:54.399>as <00:21:54.600>one <00:21:54.800>by <00:21:55.000>using

431
00:21:56.400 --> 00:21:58.400
<00:21:56.400>this <00:21:56.750>in <00:21:57.100>database <00:21:57.450>containerization <00:21:57.800>process.

432
00:22:01.700 --> 00:22:04.200
<00:22:01.700>Okay, <00:22:01.875>so <00:22:02.050>that's <00:22:02.225>number <00:22:02.400>one. <00:22:02.575>The <00:22:02.750>second <00:22:02.925>point <00:22:03.100>is

433
00:22:04.200 --> 00:22:07.500
<00:22:04.200>that <00:22:04.400>one <00:22:04.600>of <00:22:04.800>the <00:22:05.000>true <00:22:05.200>common <00:22:05.400>patterns <00:22:05.600>was

434
00:22:07.500 --> 00:22:10.600
<00:22:07.500>microservices <00:22:07.733>is <00:22:07.966>really <00:22:08.200>rest <00:22:08.433>right <00:22:08.666>different <00:22:08.900>microservices

435
00:22:10.600 --> 00:22:13.100
<00:22:10.600>talk <00:22:10.727>to <00:22:10.854>you <00:22:10.981>they're <00:22:11.109>using <00:22:11.236>rest. <00:22:11.363>And <00:22:11.490>so <00:22:11.618>one <00:22:11.745>of <00:22:11.872>the <00:22:12.000>things

436
00:22:13.100 --> 00:22:16.200
<00:22:13.100>that <00:22:13.240>we <00:22:13.379>find <00:22:13.520>very <00:22:13.659>useful <00:22:13.800>for <00:22:13.939>customers <00:22:14.080>is <00:22:14.219>this <00:22:14.360>concept <00:22:14.500>of

437
00:22:16.200 --> 00:22:19.200
<00:22:16.200>data <00:22:16.375>as <00:22:16.550>a <00:22:16.725>microservice, <00:22:16.900>which <00:22:17.075>is <00:22:17.250>that <00:22:17.425>you <00:22:17.600>have

438
00:22:19.200 --> 00:22:22.200
<00:22:19.200>data <00:22:19.375>in <00:22:19.550>the <00:22:19.725>organic <00:22:19.900>database, <00:22:20.075>you <00:22:20.250>know, <00:22:20.425>you <00:22:20.600>can

439
00:22:22.200 --> 00:22:23.800
<00:22:22.200>expose <00:22:22.550>them <00:22:22.900>as <00:22:23.250>rest <00:22:23.600>apis.

440
00:22:25.600 --> 00:22:28.400
<00:22:25.600>Okay. <00:22:25.755>So <00:22:25.911>basically <00:22:26.066>if <00:22:26.222>you <00:22:26.377>have <00:22:26.533>you <00:22:26.688>have <00:22:26.844>a <00:22:27.000>tables

441
00:22:28.400 --> 00:22:31.400
<00:22:28.400>you <00:22:28.600>have <00:22:28.800>procedures <00:22:29.000>and <00:22:29.200>so <00:22:29.400>forth. <00:22:29.600>We <00:22:29.800>can

442
00:22:31.400 --> 00:22:34.200
<00:22:31.400>automate <00:22:31.527>generate <00:22:31.654>the <00:22:31.781>rest <00:22:31.909>endpoints <00:22:32.036>for <00:22:32.163>you <00:22:32.290>so <00:22:32.418>that <00:22:32.545>you <00:22:32.672>can <00:22:32.800>access

443
00:22:34.200 --> 00:22:37.900
<00:22:34.200>them <00:22:34.375>through <00:22:34.550>rest. <00:22:34.725>Okay, <00:22:34.900>so <00:22:35.075>that's <00:22:35.250>very <00:22:35.425>super <00:22:35.600>Automation

444
00:22:37.900 --> 00:22:40.400
<00:22:37.900>and <00:22:38.100>that <00:22:38.300>basically <00:22:38.500>makes <00:22:38.700>it <00:22:38.900>makes <00:22:39.100>it <00:22:39.300>possibly

445
00:22:40.400 --> 00:22:43.400
<00:22:40.400>access <00:22:40.575>data <00:22:40.750>structures <00:22:40.925>as <00:22:41.100>apis <00:22:41.275>which <00:22:41.450>then <00:22:41.625>gives <00:22:41.800>you

446
00:22:43.400 --> 00:22:45.000
<00:22:43.400>better <00:22:44.100>isolation, <00:22:44.800>right?

447
00:22:52.100 --> 00:22:52.500
Okay.

448
00:22:53.300 --> 00:22:55.000
<00:22:53.300>This <00:22:53.533>one <00:22:53.766>is <00:22:54.000>really <00:22:54.233>interesting, <00:22:54.466>which <00:22:54.700>is

449
00:22:56.200 --> 00:22:59.300
<00:22:56.200>talk <00:22:56.316>about <00:22:56.433>how <00:22:56.550>rest <00:22:56.666>is <00:22:56.783>one <00:22:56.900>of <00:22:57.016>the <00:22:57.133>two <00:22:57.250>models <00:22:57.366>for <00:22:57.483>connecting <00:22:57.600>microservices.

450
00:23:00.100 --> 00:23:03.500
<00:23:00.100>The <00:23:00.207>second <00:23:00.315>one <00:23:00.423>is <00:23:00.530>really <00:23:00.638>queuing <00:23:00.746>right <00:23:00.853>because <00:23:00.961>if <00:23:01.069>you <00:23:01.176>want <00:23:01.284>the <00:23:01.392>Microsoft <00:23:01.500>to

451
00:23:03.500 --> 00:23:06.300
<00:23:03.500>be <00:23:03.616>really <00:23:03.733>really <00:23:03.850>Loosely <00:23:03.966>coupled. <00:23:04.083>You <00:23:04.200>don't <00:23:04.316>want <00:23:04.433>to <00:23:04.550>make <00:23:04.666>a <00:23:04.783>rest <00:23:04.900>call

452
00:23:06.300 --> 00:23:10.200
<00:23:06.300>because <00:23:06.440>you <00:23:06.580>make <00:23:06.720>a <00:23:06.860>rest <00:23:07.000>call <00:23:07.139>and <00:23:07.280>the <00:23:07.419>microservice <00:23:07.560>hangs. <00:23:07.700>The

453
00:23:09.200 --> 00:23:12.400
<00:23:09.200>color <00:23:09.480>is <00:23:09.760>hung <00:23:10.040>also, <00:23:10.320>right? <00:23:10.600>So

454
00:23:12.400 --> 00:23:15.100
<00:23:12.400>you <00:23:12.493>really <00:23:12.586>want <00:23:12.680>to <00:23:12.773>lose <00:23:12.866>the <00:23:12.960>couple <00:23:13.053>way <00:23:13.146>of <00:23:13.240>doing <00:23:13.333>it <00:23:13.426>and <00:23:13.520>the <00:23:13.613>way <00:23:13.706>if <00:23:13.800>you

455
00:23:15.100 --> 00:23:18.300
<00:23:15.100>would <00:23:15.199>do <00:23:15.300>it <00:23:15.399>is <00:23:15.500>through <00:23:15.600>messaging <00:23:15.699>an <00:23:15.800>events <00:23:15.899>you <00:23:16.000>send <00:23:16.100>an <00:23:16.199>event <00:23:16.300>and <00:23:16.399>then <00:23:16.500>the

456
00:23:18.300 --> 00:23:21.900
<00:23:18.300>second <00:23:18.407>microservice <00:23:18.515>can <00:23:18.623>pick <00:23:18.730>up <00:23:18.838>the <00:23:18.946>event <00:23:19.053>and <00:23:19.161>go <00:23:19.269>processing <00:23:19.376>and <00:23:19.484>you're <00:23:19.592>asynchronous <00:23:19.700>you

457
00:23:21.900 --> 00:23:24.700
<00:23:21.900>decoupled <00:23:22.100>and <00:23:22.300>it's <00:23:22.500>just <00:23:22.700>more <00:23:22.900>scalable <00:23:23.100>more <00:23:23.300>fall

458
00:23:24.700 --> 00:23:25.500
<00:23:24.700>taller <00:23:24.880>when <00:23:25.060>you're <00:23:25.240>doing <00:23:25.420>things.

459
00:23:27.100 --> 00:23:27.300
so

460
00:23:28.900 --> 00:23:31.300
<00:23:28.900>the <00:23:29.075>organ <00:23:29.250>database <00:23:29.425>contains <00:23:29.600>the <00:23:29.775>building <00:23:29.950>capability <00:23:30.125>called <00:23:30.300>the

461
00:23:31.300 --> 00:23:34.600
<00:23:31.300>transaction <00:23:31.475>event <00:23:31.649>cues, <00:23:31.825>right? <00:23:32.000>It's <00:23:32.175>a <00:23:32.350>free <00:23:32.524>event <00:23:32.700>platform

462
00:23:34.600 --> 00:23:37.200
<00:23:34.600>built <00:23:34.774>into <00:23:34.949>the <00:23:35.125>organ <00:23:35.300>database <00:23:35.475>and <00:23:35.649>has <00:23:35.824>been <00:23:36.000>there

463
00:23:37.200 --> 00:23:39.900
<00:23:37.200>for <00:23:37.375>20 <00:23:37.550>years, <00:23:37.725>right <00:23:37.900>and <00:23:38.075>has <00:23:38.250>been <00:23:38.425>enhanced, <00:23:38.600>right?

464
00:23:41.400 --> 00:23:44.200
<00:23:41.400>So <00:23:41.633>transaction <00:23:41.866>event <00:23:42.100>cues <00:23:42.333>as <00:23:42.566>a <00:23:42.800>name

465
00:23:44.200 --> 00:23:47.200
<00:23:44.200>implies <00:23:44.433>is <00:23:44.666>transactional. <00:23:44.900>Okay, <00:23:45.133>and <00:23:45.366>that <00:23:45.600>makes

466
00:23:47.200 --> 00:23:50.500
<00:23:47.200>life <00:23:47.375>much <00:23:47.550>easier <00:23:47.725>makes <00:23:47.900>it <00:23:48.075>easy <00:23:48.250>to <00:23:48.425>Define <00:23:48.600>microservices,

467
00:23:50.500 --> 00:23:51.800
<00:23:50.500>right? <00:23:50.889>So <00:23:51.280>for <00:23:51.670>example

468
00:23:52.800 --> 00:23:55.400
<00:23:52.800>When <00:23:53.000>you <00:23:53.200>publish <00:23:53.399>an <00:23:53.600>event <00:23:53.800>or <00:23:54.000>you <00:23:54.200>consume

469
00:23:55.400 --> 00:23:58.700
<00:23:55.400>an <00:23:55.555>event, <00:23:55.711>it <00:23:55.866>is <00:23:56.022>guaranteed <00:23:56.177>to <00:23:56.333>be <00:23:56.488>transaction <00:23:56.644>consistent <00:23:56.800>with

470
00:23:58.700 --> 00:24:01.300
<00:23:58.700>the <00:23:58.900>data <00:23:59.100>change. <00:23:59.300>Okay. <00:23:59.500>So <00:23:59.700>let's <00:23:59.900>receive <00:24:00.100>an

471
00:24:01.300 --> 00:24:04.100
<00:24:01.300>event <00:24:01.427>and <00:24:01.554>make <00:24:01.681>an <00:24:01.809>update. <00:24:01.936>I <00:24:02.063>can <00:24:02.190>do <00:24:02.318>them <00:24:02.445>both <00:24:02.572>at <00:24:02.700>the

472
00:24:04.100 --> 00:24:07.200
<00:24:04.100>same <00:24:04.240>transaction <00:24:04.379>such <00:24:04.520>that <00:24:04.659>you <00:24:04.800>know, <00:24:04.939>it <00:24:05.080>is <00:24:05.219>all <00:24:05.360>happens <00:24:05.500>together

473
00:24:07.200 --> 00:24:08.500
<00:24:07.200>or <00:24:07.785>not, <00:24:08.370>right?

474
00:24:09.600 --> 00:24:12.300
<00:24:09.600>And <00:24:09.800>so <00:24:10.000>this <00:24:10.199>handles <00:24:10.399>very <00:24:10.600>difficult <00:24:10.800>Corner <00:24:11.000>cases

475
00:24:12.300 --> 00:24:15.400
<00:24:12.300>lost <00:24:12.533>messages <00:24:12.766>and <00:24:13.000>stuff <00:24:13.233>that <00:24:13.466>costs <00:24:13.700>duplicate

476
00:24:15.400 --> 00:24:18.500
<00:24:15.400>messages <00:24:15.555>and <00:24:15.711>so <00:24:15.866>forth, <00:24:16.022>right <00:24:16.177>and <00:24:16.333>it <00:24:16.488>provides <00:24:16.644>exactly <00:24:16.800>one

477
00:24:18.500 --> 00:24:20.900
<00:24:18.500>semantics <00:24:18.850>without <00:24:19.200>expensive <00:24:19.550>two-phase <00:24:19.900>commits.

478
00:24:21.400 --> 00:24:24.600
<00:24:21.400>Okay <00:24:21.633>and <00:24:21.866>furthermore <00:24:22.100>because <00:24:22.333>the <00:24:22.566>events <00:24:22.800>and

479
00:24:24.600 --> 00:24:27.200
<00:24:24.600>data <00:24:24.755>tied <00:24:24.911>together <00:24:25.066>when <00:24:25.222>I <00:24:25.377>do <00:24:25.533>things <00:24:25.688>like <00:24:25.844>point <00:24:26.000>in

480
00:24:27.200 --> 00:24:30.200
<00:24:27.200>time <00:24:27.355>recovery <00:24:27.511>and <00:24:27.666>so <00:24:27.822>forth. <00:24:27.977>My <00:24:28.133>data <00:24:28.288>event <00:24:28.444>streams <00:24:28.600>are

481
00:24:30.200 --> 00:24:33.200
<00:24:30.200>guarantee <00:24:30.355>to <00:24:30.511>be <00:24:30.666>in <00:24:30.822>sync. <00:24:30.977>Okay. <00:24:31.133>Now <00:24:31.288>these <00:24:31.444>things <00:24:31.600>that

482
00:24:33.200 --> 00:24:34.400
<00:24:33.200>I <00:24:33.560>talk <00:24:33.920>about <00:24:34.280>as

483
00:24:35.900 --> 00:24:38.200
<00:24:35.900>as <00:24:36.133>great <00:24:36.366>things <00:24:36.600>right <00:24:36.833>as <00:24:37.066>easy <00:24:37.300>things

484
00:24:38.200 --> 00:24:41.100
<00:24:38.200>to <00:24:38.316>do <00:24:38.433>with <00:24:38.550>this. <00:24:38.666>It's <00:24:38.783>actually <00:24:38.900>very <00:24:39.016>hard <00:24:39.133>to <00:24:39.250>do. <00:24:39.366>If <00:24:39.483>you <00:24:39.600>don't

485
00:24:41.100 --> 00:24:43.500
<00:24:41.100>have <00:24:41.274>the <00:24:41.449>support <00:24:41.625>building <00:24:41.800>to <00:24:41.975>the <00:24:42.149>data <00:24:42.324>structures, <00:24:42.500>okay?

486
00:24:44.400 --> 00:24:47.600
<00:24:44.400>And <00:24:44.575>furthermore, <00:24:44.750>this <00:24:44.925>is <00:24:45.100>also <00:24:45.275>very <00:24:45.450>fast <00:24:45.625>transash <00:24:45.800>event

487
00:24:47.600 --> 00:24:50.400
<00:24:47.600>cues <00:24:47.800>has <00:24:48.000>a <00:24:48.199>scale <00:24:48.399>architecture <00:24:48.600>that <00:24:48.800>handles <00:24:49.000>a

488
00:24:50.400 --> 00:24:52.600
<00:24:50.400>million <00:24:50.633>events <00:24:50.866>per <00:24:51.100>second. <00:24:51.333>All <00:24:51.566>right, <00:24:51.800>and

489
00:24:53.900 --> 00:24:56.100
<00:24:53.900>Yeah, <00:24:54.075>and <00:24:54.250>so <00:24:54.425>forth, <00:24:54.600>right <00:24:54.775>and <00:24:54.950>furthermore <00:24:55.125>for <00:24:55.300>those

490
00:24:56.100 --> 00:24:59.500
<00:24:56.100>you <00:24:56.227>who <00:24:56.354>maybe <00:24:56.481>are <00:24:56.609>using <00:24:56.736>like <00:24:56.863>Kafka <00:24:56.990>we <00:24:57.118>can <00:24:57.245>also <00:24:57.372>connect <00:24:57.500>to

491
00:24:59.500 --> 00:25:02.600
<00:24:59.500>Kafka <00:24:59.700>using <00:24:59.900>the <00:25:00.100>Confluence <00:25:00.300>sourcing <00:25:00.500>connectors. <00:25:00.700>So <00:25:00.900>you

492
00:25:02.600 --> 00:25:05.500
<00:25:02.600>connect <00:25:02.800>between <00:25:03.000>Kafka <00:25:03.199>and <00:25:03.399>the <00:25:03.600>building <00:25:03.800>database <00:25:04.000>event

493
00:25:05.500 --> 00:25:05.800
system.

494
00:25:09.400 --> 00:25:12.900
<00:25:09.400>Okay, <00:25:09.555>and <00:25:09.711>architecturally, <00:25:09.866>if <00:25:10.022>you're <00:25:10.177>familiar <00:25:10.333>with <00:25:10.488>Kafka <00:25:10.644>transaction <00:25:10.800>vincu

495
00:25:12.900 --> 00:25:15.200
<00:25:12.900>is <00:25:13.055>actually <00:25:13.211>is <00:25:13.366>very <00:25:13.522>similar <00:25:13.677>to <00:25:13.833>Kafka <00:25:13.988>right <00:25:14.144>the <00:25:14.300>way

496
00:25:15.200 --> 00:25:18.700
<00:25:15.200>in <00:25:15.316>the <00:25:15.433>way <00:25:15.550>the <00:25:15.666>structured <00:25:15.783>except <00:25:15.900>it's <00:25:16.016>inside <00:25:16.133>a <00:25:16.250>database <00:25:16.366>and <00:25:16.483>furthermore. <00:25:16.600>We

497
00:25:18.700 --> 00:25:21.900
<00:25:18.700>provide <00:25:18.900>a <00:25:19.100>Java <00:25:19.300>API. <00:25:19.500>That <00:25:19.700>is <00:25:19.900>very <00:25:20.100>Kafka

498
00:25:21.900 --> 00:25:24.700
<00:25:21.900>like, <00:25:22.055>okay. <00:25:22.211>So <00:25:22.366>this <00:25:22.522>is <00:25:22.677>just <00:25:22.833>shows <00:25:22.988>you <00:25:23.144>this <00:25:23.300>just

499
00:25:24.700 --> 00:25:27.800
<00:25:24.700>shows <00:25:24.840>you <00:25:24.980>what <00:25:25.120>the <00:25:25.260>sample <00:25:25.400>code <00:25:25.540>looks <00:25:25.680>like <00:25:25.820>to <00:25:25.960>send <00:25:26.100>to

500
00:25:27.800 --> 00:25:30.400
<00:25:27.800>produce <00:25:28.033>as <00:25:28.266>well <00:25:28.500>as <00:25:28.733>consumable <00:25:28.966>event. <00:25:29.200>And

501
00:25:30.400 --> 00:25:33.400
<00:25:30.400>this <00:25:30.540>is <00:25:30.680>just <00:25:30.820>like <00:25:30.960>Kafka <00:25:31.100>except <00:25:31.240>we <00:25:31.380>change <00:25:31.520>the <00:25:31.660>the <00:25:31.800>class

502
00:25:33.400 --> 00:25:34.300
<00:25:33.400>library <00:25:33.670>and <00:25:33.940>the <00:25:34.210>endpoint.

503
00:25:40.800 --> 00:25:41.100
Okay.

504
00:25:43.600 --> 00:25:45.100
<00:25:43.600>I <00:25:43.768>think <00:25:43.937>I <00:25:44.106>was <00:25:44.274>summarized <00:25:44.443>at <00:25:44.612>this <00:25:44.781>point, <00:25:44.949>right?

505
00:25:46.300 --> 00:25:50.100
<00:25:46.300>The <00:25:46.427>I <00:25:46.554>said <00:25:46.681>that <00:25:46.809>one <00:25:46.936>of <00:25:47.063>the <00:25:47.190>keys <00:25:47.318>to <00:25:47.445>success <00:25:47.572>was <00:25:47.700>microservices

506
00:25:49.100 --> 00:25:51.200
<00:25:49.100>is <00:25:49.800>to <00:25:50.500>follow.

507
00:25:51.900 --> 00:25:54.200
<00:25:51.900>Key <00:25:52.180>patterns, <00:25:52.460>right <00:25:52.740>and <00:25:53.020>we've <00:25:53.300>worked

508
00:25:54.200 --> 00:25:57.500
<00:25:54.200>very <00:25:54.327>hard <00:25:54.454>to <00:25:54.581>make <00:25:54.709>sure <00:25:54.836>that <00:25:54.963>the <00:25:55.090>organ <00:25:55.218>database <00:25:55.345>which <00:25:55.472>is <00:25:55.600>capabilities

509
00:25:57.500 --> 00:25:59.200
<00:25:57.500>really <00:25:57.780>support <00:25:58.060>these <00:25:58.340>bad <00:25:58.620>as <00:25:58.900>well.

510
00:25:59.900 --> 00:26:02.100
<00:25:59.900>So <00:26:00.133>the <00:26:00.366>five <00:26:00.600>key <00:26:00.833>patterns <00:26:01.066>are <00:26:01.300>the

511
00:26:02.100 --> 00:26:05.400
<00:26:02.100>ones <00:26:02.227>that <00:26:02.354>listed <00:26:02.481>here. <00:26:02.609>The <00:26:02.736>first <00:26:02.863>one <00:26:02.990>is <00:26:03.118>called <00:26:03.245>transaction <00:26:03.372>outbox. <00:26:03.500>And

512
00:26:05.400 --> 00:26:08.700
<00:26:05.400>that <00:26:05.540>is <00:26:05.680>exactly <00:26:05.820>what <00:26:05.960>I <00:26:06.100>described <00:26:06.240>with <00:26:06.380>transaction <00:26:06.520>event. <00:26:06.660>Queues <00:26:06.800>where

513
00:26:08.700 --> 00:26:11.600
<00:26:08.700>you <00:26:08.827>can <00:26:08.954>make <00:26:09.081>it <00:26:09.209>update <00:26:09.336>as <00:26:09.463>well <00:26:09.590>as <00:26:09.718>send <00:26:09.845>an <00:26:09.972>event <00:26:10.100>as

514
00:26:11.600 --> 00:26:13.500
<00:26:11.600>one <00:26:12.066>single <00:26:12.533>Atomic <00:26:13.000>operation.

515
00:26:15.100 --> 00:26:18.500
<00:26:15.100>Then <00:26:15.274>there's <00:26:15.449>this <00:26:15.625>panicle <00:26:15.800>item <00:26:15.975>holding <00:26:16.149>consumers, <00:26:16.324>which <00:26:16.500>says

516
00:26:18.500 --> 00:26:21.200
<00:26:18.500>that <00:26:18.640>there <00:26:18.780>are <00:26:18.920>no <00:26:19.060>duplicates. <00:26:19.200>You <00:26:19.340>have <00:26:19.480>to <00:26:19.620>handle <00:26:19.760>duplicates <00:26:19.900>right

517
00:26:21.200 --> 00:26:24.900
<00:26:21.200>and <00:26:21.550>event <00:26:21.900>sourcing <00:26:22.250>command <00:26:22.600>query

518
00:26:24.900 --> 00:26:27.700
<00:26:24.900>responsibly <00:26:25.250>celebration <00:26:25.600>saga's <00:26:25.950>lonerations. <00:26:26.300>Okay.

519
00:26:27.700 --> 00:26:30.400
<00:26:27.700>So <00:26:27.900>in <00:26:28.100>the <00:26:28.300>interest <00:26:28.500>Time <00:26:28.700>Imagine <00:26:28.900>not <00:26:29.100>going

520
00:26:30.400 --> 00:26:33.400
<00:26:30.400>to <00:26:30.527>go <00:26:30.654>through <00:26:30.781>all <00:26:30.909>these <00:26:31.036>five <00:26:31.163>cases <00:26:31.290>for <00:26:31.418>you. <00:26:31.545>Okay, <00:26:31.672>but <00:26:31.800>the

521
00:26:33.400 --> 00:26:36.500
<00:26:33.400>slides <00:26:33.507>will <00:26:33.615>be <00:26:33.723>available <00:26:33.830>and <00:26:33.938>so <00:26:34.046>you <00:26:34.153>can <00:26:34.261>get <00:26:34.369>a <00:26:34.476>sense <00:26:34.584>from <00:26:34.692>what <00:26:34.800>I've

522
00:26:36.500 --> 00:26:38.100
<00:26:36.500>talked <00:26:36.733>about <00:26:36.966>in <00:26:37.200>terms <00:26:37.433>of <00:26:37.666>transaction <00:26:37.900>outbox.

523
00:26:41.500 --> 00:26:42.500
<00:26:41.500>Okay. <00:26:41.725>I'll <00:26:41.950>skip <00:26:42.175>over <00:26:42.400>this.

524
00:26:44.700 --> 00:26:48.000
<00:26:44.700>Actually, <00:26:44.875>this <00:26:45.050>is <00:26:45.225>interesting. <00:26:45.400>This <00:26:45.575>one <00:26:45.750>is <00:26:45.925>illustration. <00:26:46.100>Right

525
00:26:47.000 --> 00:26:50.100
<00:26:47.000>in <00:26:48.400>the

526
00:26:50.100 --> 00:26:53.900
<00:26:50.100>interest <00:26:50.182>of <00:26:50.264>time. <00:26:50.347>I <00:26:50.429>actually <00:26:50.511>don't <00:26:50.594>have <00:26:50.676>time <00:26:50.758>to <00:26:50.841>show <00:26:50.923>the <00:26:51.005>real <00:26:51.088>source <00:26:51.170>code <00:26:51.252>but <00:26:51.335>the <00:26:51.417>blobs <00:26:51.500>they're

527
00:26:53.900 --> 00:26:56.500
<00:26:53.900>in <00:26:54.040>brown <00:26:54.180>shows <00:26:54.320>the <00:26:54.460>code <00:26:54.600>that <00:26:54.740>you <00:26:54.880>have <00:26:55.020>to <00:26:55.160>write <00:26:55.300>with

528
00:26:56.500 --> 00:27:00.000
<00:26:56.500>systems <00:26:56.700>that <00:26:56.900>don't <00:26:57.100>have <00:26:57.300>an <00:26:57.500>integrated <00:26:57.700>database <00:26:57.900>with

529
00:26:59.400 --> 00:27:02.200
<00:26:59.400>messaging. <00:26:59.680>Okay. <00:26:59.960>So <00:27:00.240>there's <00:27:00.520>code <00:27:00.800>that

530
00:27:02.200 --> 00:27:06.300
<00:27:02.200>you're <00:27:02.375>the <00:27:02.550>right <00:27:02.725>to <00:27:02.900>handle <00:27:03.075>duplicates <00:27:03.250>to <00:27:03.425>create <00:27:03.600>item

531
00:27:05.300 --> 00:27:08.600
<00:27:05.300>potent <00:27:05.580>item <00:27:05.860>potency <00:27:06.139>to <00:27:06.419>create <00:27:06.700>transaction

532
00:27:08.600 --> 00:27:11.400
<00:27:08.600>outbox <00:27:08.740>and <00:27:08.879>so <00:27:09.020>forth <00:27:09.159>and <00:27:09.300>on <00:27:09.439>the <00:27:09.580>right <00:27:09.719>hand <00:27:09.860>side, <00:27:10.000>you

533
00:27:11.400 --> 00:27:14.600
<00:27:11.400>don't <00:27:11.493>have <00:27:11.586>to <00:27:11.680>write <00:27:11.773>any <00:27:11.866>of <00:27:11.960>that <00:27:12.053>code <00:27:12.146>because <00:27:12.240>we <00:27:12.333>do <00:27:12.426>it <00:27:12.520>for <00:27:12.613>your <00:27:12.706>automatically <00:27:12.800>and

534
00:27:14.600 --> 00:27:18.000
<00:27:14.600>that <00:27:14.740>sort <00:27:14.879>of <00:27:15.020>shows <00:27:15.159>you <00:27:15.300>the <00:27:15.439>power <00:27:15.580>of <00:27:15.719>transactions <00:27:15.860>transaction <00:27:16.000>messaging.

535
00:27:21.200 --> 00:27:21.600
Okay.

536
00:27:22.800 --> 00:27:23.100
<00:27:22.800>All <00:27:23.070>right.

537
00:27:24.200 --> 00:27:25.000
sagas

538
00:27:25.900 --> 00:27:28.700
<00:27:25.900>Okay, <00:27:26.100>so <00:27:26.300>I <00:27:26.500>just <00:27:26.700>want <00:27:26.900>to <00:27:27.100>summarize <00:27:27.300>with

539
00:27:28.700 --> 00:27:29.600
<00:27:28.700>this <00:27:28.862>thing <00:27:29.024>here, <00:27:29.186>which <00:27:29.348>is <00:27:29.510>that.

540
00:27:31.600 --> 00:27:34.600
<00:27:31.600>What <00:27:31.755>we're <00:27:31.911>trying <00:27:32.066>to <00:27:32.222>do <00:27:32.377>is <00:27:32.533>make <00:27:32.688>the <00:27:32.844>organ <00:27:33.000>database

541
00:27:34.600 --> 00:27:37.600
<00:27:34.600>play <00:27:34.879>really <00:27:35.159>really <00:27:35.439>well <00:27:35.719>with <00:27:36.000>kubernetes.

542
00:27:38.400 --> 00:27:41.600
<00:27:38.400>And <00:27:38.600>be <00:27:38.800>a <00:27:39.000>good <00:27:39.200>foundation <00:27:39.400>piece <00:27:39.600>to <00:27:39.800>for

543
00:27:41.600 --> 00:27:42.400
<00:27:41.600>you <00:27:41.840>to <00:27:42.080>make <00:27:42.320>easily.

544
00:27:43.400 --> 00:27:46.500
<00:27:43.400>Build <00:27:43.555>microservices <00:27:43.711>applications, <00:27:43.866>right? <00:27:44.022>So <00:27:44.177>you <00:27:44.333>can <00:27:44.488>see <00:27:44.644>that <00:27:44.800>how

545
00:27:46.500 --> 00:27:49.300
<00:27:46.500>we <00:27:46.733>do <00:27:46.966>integration <00:27:47.200>with <00:27:47.433>kubernetes. <00:27:47.666>We <00:27:47.900>build

546
00:27:49.300 --> 00:27:52.000
<00:27:49.300>transaction <00:27:49.533>management <00:27:49.766>support, <00:27:50.000>right? <00:27:50.233>Then <00:27:50.466>we <00:27:50.700>have

547
00:27:52.400 --> 00:27:55.700
<00:27:52.400>additional <00:27:52.500>cables <00:27:52.600>in <00:27:52.700>our <00:27:52.800>organ <00:27:52.900>database <00:27:53.000>to <00:27:53.100>make <00:27:53.200>it <00:27:53.300>easy <00:27:53.400>for <00:27:53.500>you <00:27:53.600>to <00:27:53.700>implement <00:27:53.800>all

548
00:27:55.700 --> 00:27:57.200
<00:27:55.700>the <00:27:56.150>important <00:27:56.600>microservices <00:27:57.050>patterns.

549
00:27:59.400 --> 00:28:02.700
<00:27:59.400>And <00:27:59.527>this <00:27:59.654>is <00:27:59.781>about <00:27:59.909>very <00:28:00.036>last <00:28:00.163>slide, <00:28:00.290>which <00:28:00.418>is <00:28:00.545>that <00:28:00.672>I <00:28:00.800>know

550
00:28:02.700 --> 00:28:05.300
<00:28:02.700>that <00:28:02.840>people <00:28:02.980>like <00:28:03.120>to <00:28:03.260>see <00:28:03.400>real <00:28:03.540>code, <00:28:03.680>right? <00:28:03.820>So, <00:28:03.960>in <00:28:04.100>fact

551
00:28:05.300 --> 00:28:08.300
<00:28:05.300>what <00:28:05.475>we've <00:28:05.649>done <00:28:05.825>this, <00:28:06.000>we've <00:28:06.175>put <00:28:06.350>several <00:28:06.524>workshops <00:28:06.700>online.

552
00:28:08.300 --> 00:28:11.400
<00:28:08.300>You <00:28:08.440>can <00:28:08.580>ask <00:28:08.720>them <00:28:08.860>free <00:28:09.000>on <00:28:09.139>the <00:28:09.280>Oracle <00:28:09.419>Cloud, <00:28:09.560>right? <00:28:09.700>So

553
00:28:11.400 --> 00:28:14.400
<00:28:11.400>try <00:28:11.633>these <00:28:11.866>Labs <00:28:12.100>out. <00:28:12.333>Okay, <00:28:12.566>they <00:28:12.800>share

554
00:28:14.400 --> 00:28:17.200
<00:28:14.400>with <00:28:14.540>the <00:28:14.680>problems. <00:28:14.820>They <00:28:14.960>show <00:28:15.100>you <00:28:15.240>the <00:28:15.380>code. <00:28:15.520>They <00:28:15.660>allow <00:28:15.800>the

555
00:28:17.200 --> 00:28:20.400
<00:28:17.200>work <00:28:17.307>to <00:28:17.415>the <00:28:17.523>code <00:28:17.630>the <00:28:17.738>examples <00:28:17.846>so <00:28:17.953>you <00:28:18.061>can <00:28:18.169>really <00:28:18.276>really <00:28:18.384>appreciate <00:28:18.492>and <00:28:18.600>see

556
00:28:20.400 --> 00:28:23.300
<00:28:20.400>for <00:28:20.555>yourself <00:28:20.711>what <00:28:20.866>the <00:28:21.022>power <00:28:21.177>of <00:28:21.333>the <00:28:21.488>capabilities <00:28:21.644>that <00:28:21.800>described

557
00:28:23.300 --> 00:28:26.400
<00:28:23.300>here <00:28:23.440>are <00:28:23.580>and <00:28:23.720>that <00:28:23.860>they <00:28:24.000>are <00:28:24.139>really <00:28:24.280>real. <00:28:24.419>Okay, <00:28:24.560>so, <00:28:24.700>that's

558
00:28:26.400 --> 00:28:27.100
<00:28:26.400>it. <00:28:26.715>Thank <00:28:27.030>you.

559
00:28:35.600 --> 00:28:38.500
<00:28:35.600>Right. <00:28:35.740>Thank <00:28:35.879>you <00:28:36.020>very <00:28:36.159>much. <00:28:36.300>We <00:28:36.439>have <00:28:36.580>a <00:28:36.719>few <00:28:36.860>questions, <00:28:37.000>but

560
00:28:38.500 --> 00:28:41.100
<00:28:38.500>we <00:28:38.780>have <00:28:39.060>no <00:28:39.340>time <00:28:39.620>left <00:28:39.900>and

561
00:28:42.200 --> 00:28:45.300
<00:28:42.200>One <00:28:42.480>question <00:28:42.760>is <00:28:43.040>Oracle <00:28:43.320>enabling <00:28:43.600>an

562
00:28:45.300 --> 00:28:46.900
<00:28:45.300>integration <00:28:46.000>with <00:28:46.700>elasticsearch?

563
00:28:48.700 --> 00:28:49.400
<00:28:48.700>It's <00:28:49.330>organization.

564
00:28:51.300 --> 00:28:54.400
<00:28:51.300>Yes, <00:28:51.399>and <00:28:51.500>no, <00:28:51.600>I <00:28:51.700>think <00:28:51.800>the <00:28:51.899>way <00:28:52.000>to <00:28:52.100>think <00:28:52.200>about <00:28:52.300>is <00:28:52.399>that <00:28:52.500>Oracle <00:28:52.600>is <00:28:52.700>your

565
00:28:54.400 --> 00:28:57.800
<00:28:54.400>side <00:28:54.600>by <00:28:54.800>side <00:28:55.000>with <00:28:55.200>elasticsearch, <00:28:55.400>right? <00:28:55.600>Because <00:28:55.800>elastic

566
00:28:57.800 --> 00:29:00.200
<00:28:57.800>search <00:28:57.940>is <00:28:58.080>both <00:28:58.220>interface <00:28:58.360>as <00:28:58.500>I <00:28:58.639>was <00:28:58.780>a <00:28:58.919>data <00:28:59.060>storage, <00:28:59.200>right?

567
00:29:00.200 --> 00:29:03.400
<00:29:00.200>So <00:29:00.375>we're <00:29:00.550>looking <00:29:00.725>at <00:29:00.900>using <00:29:01.075>the <00:29:01.250>Orca <00:29:01.425>database <00:29:01.600>as

568
00:29:03.400 --> 00:29:06.300
<00:29:03.400>a <00:29:03.516>back-end <00:29:03.633>to <00:29:03.750>elastic <00:29:03.866>search <00:29:03.983>as <00:29:04.100>a <00:29:04.216>front <00:29:04.333>end <00:29:04.450>because <00:29:04.566>I <00:29:04.683>think <00:29:04.800>a

569
00:29:06.300 --> 00:29:09.400
<00:29:06.300>lot <00:29:06.455>of <00:29:06.611>customers <00:29:06.766>like <00:29:06.922>using <00:29:07.077>glasses <00:29:07.233>search <00:29:07.388>interfaces, <00:29:07.544>but <00:29:07.700>I

570
00:29:09.400 --> 00:29:12.700
<00:29:09.400>think <00:29:09.540>they <00:29:09.680>look <00:29:09.820>also <00:29:09.960>looking <00:29:10.100>for <00:29:10.240>a <00:29:10.380>more <00:29:10.520>scalable <00:29:10.660>back-end <00:29:10.800>solution.

571
00:29:13.800 --> 00:29:16.000
<00:29:13.800>Thank <00:29:14.033>you <00:29:14.266>very <00:29:14.500>much. <00:29:14.733>And <00:29:14.966>thank <00:29:15.200>you

572
00:29:16.100 --> 00:29:19.700
<00:29:16.100>for <00:29:16.255>the <00:29:16.411>session. <00:29:16.566>I <00:29:16.722>hope <00:29:16.877>you <00:29:17.033>enjoyed <00:29:17.188>everyone <00:29:17.344>and <00:29:17.500>our

573
00:29:19.700 --> 00:29:23.000
<00:29:19.700>next <00:29:19.900>session <00:29:20.100>starts <00:29:20.300>in <00:29:20.500>five <00:29:20.700>minutes. <00:29:20.900>Okay? <00:29:21.100>Thank

574
00:29:22.000 --> 00:29:23.000
you.