00:00:00,430 --> 00:00:01,700
When we started Nile, my
2
00:00:02,160 --> 00:00:04,240
co-founder and I really
3
00:00:04,240 --> 00:00:05,420
wanted something that
4
00:00:05,570 --> 00:00:06,550
would signify we were
5
00:00:06,550 --> 00:00:07,610
building a platform.
6
00:00:07,650 --> 00:00:09,240
So for us, having this
7
00:00:09,370 --> 00:00:11,110
major river, a major
8
00:00:11,110 --> 00:00:12,809
artery that things are
9
00:00:12,880 --> 00:00:14,149
built on top of, was
10
00:00:14,210 --> 00:00:15,600
a very good analogy.
11
00:00:15,960 --> 00:00:16,989
The most valued guy
12
00:00:16,990 --> 00:00:18,189
from my perspective was
13
00:00:18,189 --> 00:00:19,760
the one that built the
14
00:00:19,790 --> 00:00:21,560
Argo CD, the Jenkins
15
00:00:21,590 --> 00:00:22,890
pipeline, the Kubernetes
16
00:00:22,930 --> 00:00:24,160
cluster, all of that,
17
00:00:24,160 --> 00:00:25,160
because in the end,
18
00:00:25,160 --> 00:00:26,310
it was literally you
19
00:00:26,360 --> 00:00:27,590
commit to your Git
20
00:00:27,600 --> 00:00:29,419
repository, make a
21
00:00:29,420 --> 00:00:30,499
new tag, the build
22
00:00:30,530 --> 00:00:31,659
pipeline picks it up,
23
00:00:31,670 --> 00:00:32,780
the deployment pipeline
24
00:00:32,799 --> 00:00:34,760
picks it up, and you
25
00:00:34,990 --> 00:00:36,050
magically have the
26
00:00:36,050 --> 00:00:36,870
new version deployed.
27
00:00:36,870 --> 00:00:38,750
And it was incredible.
28
00:00:38,940 --> 00:00:40,290
So we were like, how
29
00:00:40,290 --> 00:00:41,400
do we isolate tenants?
30
00:00:41,530 --> 00:00:42,379
How do we give them
31
00:00:42,390 --> 00:00:43,620
privacy and security?
32
00:00:43,620 --> 00:00:45,150
How do we give each
33
00:00:45,150 --> 00:00:46,150
one the performance
34
00:00:46,150 --> 00:00:46,519
they need?
35
00:00:46,530 --> 00:00:47,870
How do you scale
36
00:00:47,910 --> 00:00:48,930
up as the number
37
00:00:48,930 --> 00:00:49,869
of customers grows,
38
00:00:50,219 --> 00:00:50,979
which is different
39
00:00:50,980 --> 00:00:52,180
than scaling up as a
40
00:00:52,219 --> 00:00:53,269
single customer grows?
41
00:00:55,510 --> 00:00:56,269
You’re listening to
42
00:00:56,610 --> 00:00:57,130
Simplyblock’s Cloud
43
00:00:57,130 --> 00:00:58,070
Commute Podcast,
44
00:00:58,260 --> 00:00:59,430
your weekly 20-minute
45
00:00:59,430 --> 00:01:00,200
podcast about
46
00:01:00,200 --> 00:01:01,150
cloud technologies,
47
00:01:01,190 --> 00:01:02,680
Kubernetes, security,
48
00:01:02,680 --> 00:01:03,469
sustainability,
49
00:01:03,469 --> 00:01:03,910
and more.
50
00:01:06,349 --> 00:01:07,029
Hello everyone.
51
00:01:07,289 --> 00:01:08,249
Welcome back to this
52
00:01:08,250 --> 00:01:09,079
week’s episode of
53
00:01:09,089 --> 00:01:09,966
Simplyblock’s Cloud
54
00:01:09,966 --> 00:01:10,709
Commute Podcast.
55
00:01:11,240 --> 00:01:12,169
I’m not saying I have
56
00:01:12,170 --> 00:01:12,920
another incredible
57
00:01:12,920 --> 00:01:14,010
guest because today I
58
00:01:14,010 --> 00:01:15,720
have an actually super,
59
00:01:15,720 --> 00:01:16,690
super incredible guest.
60
00:01:19,940 --> 00:01:21,079
Don’t laugh, you
61
00:01:21,080 --> 00:01:21,729
know it’s right.
62
00:01:24,999 --> 00:01:26,100
Gwen, it is a
63
00:01:26,100 --> 00:01:27,320
pleasure to have you.
64
00:01:28,699 --> 00:01:29,790
I don’t want to say that
65
00:01:29,830 --> 00:01:31,110
all the other guests are
66
00:01:32,179 --> 00:01:34,380
boring, but to me, you
67
00:01:34,380 --> 00:01:35,649
are actually special,
68
00:01:36,300 --> 00:01:36,929
so thank you very
69
00:01:36,930 --> 00:01:37,810
much for being here.
70
00:01:39,490 --> 00:01:40,080
Maybe just tell us
71
00:01:40,080 --> 00:01:40,549
a little bit about
72
00:01:40,550 --> 00:01:42,320
yourself, who you are,
73
00:01:42,380 --> 00:01:43,880
what you do, and we’ll
74
00:01:44,090 --> 00:01:44,680
take it from there.
75
00:01:45,990 --> 00:01:46,470
Thank you.
76
00:01:46,510 --> 00:01:47,239
So, first of all, thank
77
00:01:47,240 --> 00:01:48,810
you for inviting me,
78
00:01:48,859 --> 00:01:50,350
and I’m super, super,
79
00:01:50,560 --> 00:01:51,560
super duper excited
80
00:01:51,560 --> 00:01:53,530
to be on your show.
81
00:01:56,480 --> 00:01:58,310
I am currently
82
00:01:58,370 --> 00:01:59,359
co-founder of
83
00:01:59,509 --> 00:02:00,674
Nile, where we are
84
00:02:00,759 --> 00:02:01,809
building serverless
85
00:02:01,809 --> 00:02:03,280
Postgres for SaaS.
86
00:02:04,109 --> 00:02:06,029
And before that, I
87
00:02:06,309 --> 00:02:09,249
spent six, almost seven
88
00:02:09,310 --> 00:02:10,560
years at Confluent.
89
00:02:10,919 --> 00:02:12,410
I jumped to Confluent,
90
00:02:12,410 --> 00:02:13,060
which for those who
91
00:02:13,060 --> 00:02:13,500
haven’t heard, is
92
00:02:13,760 --> 00:02:14,840
the Kafka company,
93
00:02:14,900 --> 00:02:15,420
essentially.
94
00:02:17,719 --> 00:02:18,329
There are a bunch of
95
00:02:18,330 --> 00:02:19,340
Kafka companies now,
96
00:02:19,549 --> 00:02:20,480
and it’s probably very
97
00:02:20,480 --> 00:02:22,129
not Apache-correct to
98
00:02:22,129 --> 00:02:23,724
say that, but it was a
99
00:02:23,789 --> 00:02:25,350
company founded by the
100
00:02:25,350 --> 00:02:26,570
people who started the
101
00:02:26,570 --> 00:02:27,850
Apache Kafka project
102
00:02:27,870 --> 00:02:31,920
and had huge investments
103
00:02:31,960 --> 00:02:32,870
in the Apache Kafka
104
00:02:32,960 --> 00:02:34,109
project over the years.
105
00:02:34,960 --> 00:02:38,260
I was there from when it
106
00:02:38,260 --> 00:02:39,570
was like, I was employee
107
00:02:39,599 --> 00:02:41,209
either 10, 11, or 12.
108
00:02:41,350 --> 00:02:42,269
We joined three of
109
00:02:42,270 --> 00:02:43,070
us on the same day,
110
00:02:43,070 --> 00:02:43,990
so I will never know
111
00:02:43,990 --> 00:02:44,545
my exact number.
112
00:02:44,730 --> 00:02:45,720
And by the time I
113
00:02:45,740 --> 00:02:47,000
left, it was thousands
114
00:02:47,160 --> 00:02:47,760
of employees.
115
00:02:48,060 --> 00:02:50,490
So, that was
116
00:02:51,200 --> 00:02:52,060
quite the journey.
117
00:02:52,620 --> 00:02:53,339
I did a lot of
118
00:02:53,340 --> 00:02:53,940
different roles.
119
00:02:54,230 --> 00:02:55,409
I joined as an engineer,
120
00:02:55,440 --> 00:02:56,369
I moved to product,
121
00:02:56,370 --> 00:02:57,609
I moved to marketing,
122
00:02:58,000 --> 00:02:59,420
and then I moved
123
00:02:59,430 --> 00:03:00,379
back to engineering,
124
00:03:00,410 --> 00:03:01,299
and then I did some
125
00:03:01,300 --> 00:03:02,410
engineering management.
126
00:03:02,490 --> 00:03:04,560
So, I got to experience
127
00:03:04,940 --> 00:03:05,732
the ride, which kind
128
00:03:05,732 --> 00:03:06,940
of helped me prepare
129
00:03:06,940 --> 00:03:07,700
to start my own
130
00:03:07,700 --> 00:03:08,850
company in some ways,
131
00:03:08,950 --> 00:03:10,210
especially distinct in
132
00:03:10,219 --> 00:03:11,290
product and marketing.
133
00:03:12,219 --> 00:03:13,339
And then before that,
134
00:03:13,399 --> 00:03:14,439
all of my background
135
00:03:14,559 --> 00:03:15,490
is basically in data.
136
00:03:15,780 --> 00:03:18,920
I started at HP and
137
00:03:18,930 --> 00:03:21,640
then I worked on Oracle
138
00:03:21,650 --> 00:03:22,810
for a very long time.
139
00:03:22,810 --> 00:03:23,239
I did some
140
00:03:23,250 --> 00:03:23,960
MySQL, Hadoop,
141
00:03:26,500 --> 00:03:28,150
and then it was
142
00:03:28,600 --> 00:03:29,520
Confluent and Kafka.
143
00:03:29,630 --> 00:03:30,490
So, I have a
144
00:03:31,070 --> 00:03:32,040
long career.
145
00:03:32,839 --> 00:03:34,099
The way I like saying it
146
00:03:34,180 --> 00:03:35,530
is, I’ve spent the last
147
00:03:35,530 --> 00:03:36,709
20 years moving data
148
00:03:36,709 --> 00:03:37,540
from place to place,
149
00:03:37,540 --> 00:03:39,399
and I’m not done yet.
150
00:03:40,130 --> 00:03:41,950
You see, exactly, that’s
151
00:03:41,950 --> 00:03:42,840
the reason why I say
152
00:03:42,860 --> 00:03:43,799
you’re a very special
153
00:03:43,800 --> 00:03:44,859
guest to me, because
154
00:03:45,120 --> 00:03:46,709
I know you mostly from
155
00:03:46,710 --> 00:03:47,660
Twitter these days, and
156
00:03:49,410 --> 00:03:50,749
I’ve never seen you talk
157
00:03:50,759 --> 00:03:52,270
about anything but data.
158
00:03:52,270 --> 00:03:53,530
And that is amazing.
159
00:03:55,480 --> 00:03:56,770
Any kind of database,
160
00:03:56,810 --> 00:03:57,660
any kind of, as
161
00:03:57,660 --> 00:03:58,179
you said, data
162
00:03:58,180 --> 00:03:59,320
movement, data
163
00:03:59,320 --> 00:04:00,859
placement, whatever.
164
00:04:01,600 --> 00:04:03,359
And I specifically love
165
00:04:03,370 --> 00:04:05,590
all your engagement
166
00:04:05,599 --> 00:04:06,460
with the different
167
00:04:06,460 --> 00:04:08,310
communities, asking
168
00:04:08,509 --> 00:04:10,589
questions, actually
169
00:04:10,590 --> 00:04:11,450
meaningful questions.
170
00:04:11,450 --> 00:04:12,470
I think that is very
171
00:04:12,470 --> 00:04:13,030
different from a
172
00:04:13,030 --> 00:04:13,970
lot of other people.
173
00:04:14,430 --> 00:04:14,450
Yeah,
174
00:04:16,640 --> 00:04:17,209
as I said, thank
175
00:04:17,209 --> 00:04:17,899
you for being here.
176
00:04:17,899 --> 00:04:18,829
It’s awesome.
177
00:04:18,920 --> 00:04:20,230
I’m like, I’m the
178
00:04:20,230 --> 00:04:21,290
one who’s excited.
179
00:04:23,679 --> 00:04:26,070
You talked about Nile.
180
00:04:26,150 --> 00:04:26,950
I always want to
181
00:04:26,960 --> 00:04:28,569
say Neil, the German
182
00:04:28,570 --> 00:04:29,409
pronunciation of it.
183
00:04:29,440 --> 00:04:30,660
We talked about that
184
00:04:30,680 --> 00:04:32,900
before in the pre-run
185
00:04:32,900 --> 00:04:34,640
to this session.
186
00:04:34,770 --> 00:04:35,849
Maybe tell us a little
187
00:04:35,849 --> 00:04:38,260
bit about Nile, your
188
00:04:38,260 --> 00:04:39,190
serverless Postgres
189
00:04:39,210 --> 00:04:40,020
installation, and
190
00:04:40,030 --> 00:04:40,810
why it is called
191
00:04:40,810 --> 00:04:41,830
Nile, not Neil.
192
00:04:42,780 --> 00:04:43,380
Ah, yeah.
193
00:04:43,650 --> 00:04:44,729
The name question.
194
00:04:45,779 --> 00:04:48,680
So, first of all,
195
00:04:48,680 --> 00:04:49,890
I’m from the Middle
196
00:04:49,890 --> 00:04:51,530
East, so I kind of
197
00:04:51,530 --> 00:04:53,500
grew up with the Nile
198
00:04:53,500 --> 00:04:54,400
and stories about
199
00:04:54,400 --> 00:04:55,440
the Nile and so on.
200
00:04:55,940 --> 00:04:57,599
And for me, it’s kind
201
00:04:57,599 --> 00:05:00,460
of the bedrock of what
202
00:05:00,460 --> 00:05:01,420
used to be a giant
203
00:05:01,450 --> 00:05:02,810
empire, and it’s still
204
00:05:02,880 --> 00:05:04,480
the bedrock of so much
205
00:05:04,960 --> 00:05:06,940
commerce and so much
206
00:05:07,470 --> 00:05:08,830
life that has been
207
00:05:08,830 --> 00:05:09,840
going on around it.
208
00:05:09,950 --> 00:05:11,979
And when we started
209
00:05:11,980 --> 00:05:13,330
Nile, my co-founder
210
00:05:13,330 --> 00:05:15,159
and I, we really
211
00:05:15,160 --> 00:05:16,350
wanted something that
212
00:05:16,450 --> 00:05:17,460
would signify we’re
213
00:05:17,460 --> 00:05:18,540
building a platform
214
00:05:18,969 --> 00:05:21,830
that businesses and
215
00:05:24,020 --> 00:05:26,630
life, in general, would
216
00:05:26,650 --> 00:05:27,750
be built on top of.
217
00:05:28,940 --> 00:05:30,910
And so for us, having
218
00:05:30,920 --> 00:05:32,600
this major river, a
219
00:05:32,600 --> 00:05:35,250
major artery that things
220
00:05:35,250 --> 00:05:36,250
were built on top of,
221
00:05:36,259 --> 00:05:38,710
was a very good analogy.
222
00:05:39,320 --> 00:05:40,409
I would also point
223
00:05:40,430 --> 00:05:42,029
out, completely
224
00:05:42,029 --> 00:05:42,729
coincidentally, that
225
00:05:42,729 --> 00:05:43,800
Nile is slightly
226
00:05:43,800 --> 00:05:44,690
longer than Amazon.
227
00:05:48,820 --> 00:05:49,560
That is important.
228
00:05:49,610 --> 00:05:50,250
I get that.
229
00:05:51,120 --> 00:05:52,300
Slightly important, yes.
230
00:05:54,080 --> 00:05:56,560
So, we liked the name.
231
00:05:56,560 --> 00:05:56,859
We liked that
232
00:05:57,739 --> 00:05:58,460
it’s four letters.
233
00:05:58,600 --> 00:05:59,189
It’s short,
234
00:05:59,219 --> 00:06:00,040
it’s memorable.
235
00:06:00,100 --> 00:06:00,849
So, it has good
236
00:06:00,849 --> 00:06:01,350
qualities for
237
00:06:01,350 --> 00:06:02,159
a company name.
238
00:06:03,270 --> 00:06:03,289
We
239
00:06:05,680 --> 00:06:06,510
actually iterated
240
00:06:06,510 --> 00:06:07,520
over several ideas.
241
00:06:07,800 --> 00:06:09,400
We started the company
242
00:06:09,400 --> 00:06:10,139
with the idea that,
243
00:06:10,139 --> 00:06:12,109
at Confluent, building
244
00:06:12,280 --> 00:06:15,800
Kafka took N people.
245
00:06:17,049 --> 00:06:18,850
Building the entire
246
00:06:19,049 --> 00:06:21,109
cloud services, the
247
00:06:21,650 --> 00:06:24,290
self-serve SaaS on top
248
00:06:24,290 --> 00:06:26,890
of Kafka, it was like
249
00:06:26,990 --> 00:06:27,830
three times the people.
250
00:06:28,510 --> 00:06:29,469
It was much harder.
251
00:06:30,200 --> 00:06:30,760
And this was a
252
00:06:30,849 --> 00:06:31,440
surprise to me.
253
00:06:33,070 --> 00:06:34,100
I was always into
254
00:06:34,100 --> 00:06:34,660
building data
255
00:06:34,660 --> 00:06:35,280
infrastructure,
256
00:06:35,400 --> 00:06:36,239
so this is hard.
257
00:06:36,779 --> 00:06:36,869
But this was
258
00:06:37,150 --> 00:06:37,700
really hard.
259
00:06:37,740 --> 00:06:38,600
I didn’t realize that
260
00:06:38,600 --> 00:06:39,150
there was something
261
00:06:39,750 --> 00:06:42,260
much harder on top.
262
00:06:44,080 --> 00:06:45,340
So, we really wanted
263
00:06:45,370 --> 00:06:46,290
to build something
264
00:06:46,300 --> 00:06:48,130
that would reduce the
265
00:06:48,160 --> 00:06:50,109
overhead of building
266
00:06:50,160 --> 00:06:52,279
these services
267
00:06:52,340 --> 00:06:53,089
around the service.
268
00:06:53,900 --> 00:06:55,369
And our first iteration
269
00:06:55,400 --> 00:06:56,660
was a control plane.
270
00:06:57,160 --> 00:06:58,020
We were not very
271
00:06:58,020 --> 00:06:59,969
happy with it, and we
272
00:06:59,970 --> 00:07:00,843
didn’t find a lot of
273
00:07:01,000 --> 00:07:01,710
other people who were
274
00:07:01,720 --> 00:07:02,500
happy with it either.
275
00:07:02,730 --> 00:07:03,969
And then we started
276
00:07:04,000 --> 00:07:07,069
thinking that the
277
00:07:07,080 --> 00:07:08,139
problems we wanted to
278
00:07:08,139 --> 00:07:10,669
solve, about managing
279
00:07:11,199 --> 00:07:12,520
multiple tenants on the
280
00:07:12,529 --> 00:07:13,289
same platform, which
281
00:07:13,290 --> 00:07:14,050
is the core problem
282
00:07:14,050 --> 00:07:15,400
of SaaS, how do you
283
00:07:16,060 --> 00:07:18,790
provide one service to
284
00:07:18,790 --> 00:07:20,210
a lot of customers with
285
00:07:20,250 --> 00:07:21,370
very different needs
286
00:07:21,530 --> 00:07:22,530
and very different
287
00:07:22,570 --> 00:07:23,400
requirements, very
288
00:07:23,400 --> 00:07:24,170
different workloads?
289
00:07:24,799 --> 00:07:26,190
So, we were like, how
290
00:07:26,230 --> 00:07:27,340
do we isolate them?
291
00:07:27,400 --> 00:07:28,260
How do we give them
292
00:07:28,270 --> 00:07:29,499
privacy and security?
293
00:07:29,500 --> 00:07:30,940
How do we give each
294
00:07:31,070 --> 00:07:32,030
one the performance
295
00:07:32,030 --> 00:07:32,410
they need?
296
00:07:32,420 --> 00:07:33,740
How do you scale
297
00:07:33,790 --> 00:07:35,180
up as the number
298
00:07:35,180 --> 00:07:36,099
of customers grows,
299
00:07:36,470 --> 00:07:37,239
which is different
300
00:07:37,240 --> 00:07:38,429
than scaling up as a
301
00:07:38,429 --> 00:07:39,520
single customer grows?
302
00:07:40,219 --> 00:07:40,800
We took all those
303
00:07:41,250 --> 00:07:41,872
ideas and realized
304
00:07:41,872 --> 00:07:42,003
that the right layer
305
00:07:42,003 --> 00:07:42,133
to solve these is
306
00:07:42,133 --> 00:07:42,231
in the database.
307
00:07:42,231 --> 00:07:42,362
The idea is that
308
00:07:42,362 --> 00:07:42,890
what you actually
309
00:07:49,669 --> 00:07:50,799
need to isolate is
310
00:07:50,800 --> 00:07:51,800
data access, all
311
00:07:52,440 --> 00:07:52,990
the authorization,
312
00:07:53,270 --> 00:07:54,099
authentication—those are
313
00:07:54,100 --> 00:07:55,470
all data-level concerns.
314
00:07:56,080 --> 00:07:57,390
They should be enforced
315
00:07:57,830 --> 00:07:58,759
close to the data.
316
00:08:00,920 --> 00:08:03,519
Performance, it has
317
00:08:03,520 --> 00:08:04,300
a lot of factors,
318
00:08:04,320 --> 00:08:05,250
but obviously, the
319
00:08:05,250 --> 00:08:06,169
database is important.
320
00:08:06,169 --> 00:08:08,600
It’s major in allowing
321
00:08:08,600 --> 00:08:09,780
companies to scale.
322
00:08:09,780 --> 00:08:11,080
And you see it in blogs
323
00:08:11,090 --> 00:08:12,409
again and again, things
324
00:08:12,410 --> 00:08:14,040
like flexibility.
325
00:08:14,090 --> 00:08:15,299
Can you customize your
326
00:08:15,300 --> 00:08:16,650
product for one customer
327
00:08:16,650 --> 00:08:17,500
versus the other?
328
00:08:17,870 --> 00:08:18,700
A lot of times, it
329
00:08:18,719 --> 00:08:20,140
also ends up being
330
00:08:20,250 --> 00:08:21,250
a database concern.
331
00:08:22,080 --> 00:08:23,940
So, we’re like, okay,
332
00:08:24,010 --> 00:08:25,930
we have to take a good,
333
00:08:26,030 --> 00:08:27,190
solid database that is
334
00:08:27,190 --> 00:08:29,610
open source and adapt
335
00:08:29,610 --> 00:08:30,710
it to the concerns
336
00:08:30,710 --> 00:08:31,600
of people building
337
00:08:31,600 --> 00:08:32,429
software as a service,
338
00:08:33,320 --> 00:08:34,799
because those are not
339
00:08:34,880 --> 00:08:35,900
adequately addressed
340
00:08:35,950 --> 00:08:37,259
today at the data layer.
341
00:08:38,549 --> 00:08:40,669
And you took the only
342
00:08:40,669 --> 00:08:42,150
meaningful option,
343
00:08:42,340 --> 00:08:43,130
which is Postgres.
344
00:08:44,500 --> 00:08:46,449
We like Postgres a lot.
345
00:08:46,449 --> 00:08:47,750
I mean, if you’re going
346
00:08:47,810 --> 00:08:49,170
to do a serverless
347
00:08:49,170 --> 00:08:50,030
database and kind of
348
00:08:50,040 --> 00:08:50,960
host it and manage
349
00:08:50,960 --> 00:08:52,305
it, you cannot pick a
350
00:08:52,460 --> 00:08:53,300
database that you don’t
351
00:08:53,309 --> 00:08:54,289
really, really like.
352
00:08:54,300 --> 00:08:55,600
You have to believe
353
00:08:55,600 --> 00:08:56,650
that it is the
354
00:08:56,650 --> 00:08:57,680
best database ever.
355
00:08:57,690 --> 00:09:00,510
Otherwise, you know,
356
00:09:01,010 --> 00:09:02,359
it’s hard to run
357
00:09:02,360 --> 00:09:03,560
something as a service
358
00:09:03,590 --> 00:09:04,710
for other customers if
359
00:09:04,710 --> 00:09:05,699
you don’t believe you
360
00:09:05,699 --> 00:09:06,870
are really choosing
361
00:09:06,870 --> 00:09:07,640
something solid.
362
00:09:08,210 --> 00:09:09,660
It’s probably
363
00:09:09,670 --> 00:09:10,120
impossible.
364
00:09:10,870 --> 00:09:12,270
I would totally
365
00:09:12,270 --> 00:09:12,959
agree with that.
366
00:09:13,009 --> 00:09:15,009
And I’m a big Postgres
367
00:09:15,009 --> 00:09:16,289
fan myself for all
368
00:09:16,299 --> 00:09:17,029
the same reasons.
369
00:09:17,449 --> 00:09:17,939
The Postgres
370
00:09:22,120 --> 00:09:23,240
ecosystem is massive.
371
00:09:23,280 --> 00:09:23,900
There are so
372
00:09:23,900 --> 00:09:24,690
many extensions.
373
00:09:24,760 --> 00:09:25,630
I guess you can run
374
00:09:25,630 --> 00:09:27,010
extensions on Nile?
375
00:09:28,280 --> 00:09:29,120
So, you cannot pick
376
00:09:29,120 --> 00:09:30,649
your own extensions yet.
377
00:09:31,639 --> 00:09:32,446
We may get there at
378
00:09:32,509 --> 00:09:33,410
some point, but we’re
379
00:09:33,410 --> 00:09:34,049
not quite there.
380
00:09:34,219 --> 00:09:34,969
And partially
381
00:09:34,980 --> 00:09:35,499
it’s because
382
00:09:38,410 --> 00:09:39,620
we are currently
383
00:09:40,330 --> 00:09:41,290
still limiting
384
00:09:41,370 --> 00:09:42,020
what people can do.
385
00:09:42,180 --> 00:09:43,240
You also cannot even
386
00:09:43,250 --> 00:09:44,750
run your own functions
387
00:09:44,809 --> 00:09:45,590
at this point.
388
00:09:46,520 --> 00:09:47,310
We will get there.
389
00:09:49,210 --> 00:09:50,550
We are still only
390
00:09:50,550 --> 00:09:51,670
a year or two into
391
00:09:51,679 --> 00:09:52,500
the startup journey.
392
00:09:53,289 --> 00:09:54,580
But at this point, what
393
00:09:54,629 --> 00:09:56,230
we are doing is taking
394
00:09:56,230 --> 00:09:58,150
popular extensions and
395
00:09:58,420 --> 00:09:59,890
baking them into Nile.
396
00:10:00,110 --> 00:10:01,350
So, our customers
397
00:10:02,310 --> 00:10:03,479
pick up the phone,
398
00:10:03,480 --> 00:10:04,479
or realistically,
399
00:10:04,520 --> 00:10:05,779
pick up their Discord
400
00:10:06,259 --> 00:10:08,150
and say, hey, we
401
00:10:08,150 --> 00:10:09,819
need this extension,
402
00:10:09,920 --> 00:10:10,650
PostGIS, PGVector,
403
00:10:15,350 --> 00:10:15,800
PGCrypto has been
404
00:10:15,800 --> 00:10:16,660
super popular.
405
00:10:17,120 --> 00:10:18,270
And we’re like, okay,
406
00:10:18,390 --> 00:10:19,190
hopefully we’re on it.
407
00:10:19,790 --> 00:10:20,159
And we’re also
408
00:10:20,559 --> 00:10:20,960
writing our own
409
00:10:23,630 --> 00:10:23,760
extensions.
410
00:10:23,810 --> 00:10:24,820
Nile itself is
411
00:10:24,990 --> 00:10:25,689
an extension.
412
00:10:26,200 --> 00:10:28,700
And we also have
413
00:10:28,740 --> 00:10:29,480
team members who
414
00:10:29,480 --> 00:10:30,020
have their own
415
00:10:30,029 --> 00:10:31,069
open-source extensions
416
00:10:31,069 --> 00:10:31,510
that are quite
417
00:10:34,520 --> 00:10:34,590
popular.
418
00:10:34,820 --> 00:10:35,780
I think that is a
419
00:10:35,830 --> 00:10:36,939
totally fair approach.
420
00:10:37,680 --> 00:10:39,819
And I guess a year in,
421
00:10:39,820 --> 00:10:41,099
you probably have most
422
00:10:41,099 --> 00:10:42,279
of the extensions that
423
00:10:42,280 --> 00:10:43,170
people want anyway,
424
00:10:43,170 --> 00:10:44,549
so we’re probably
425
00:10:44,549 --> 00:10:45,279
good on that side.
426
00:10:46,440 --> 00:10:47,909
We definitely try to be
427
00:10:47,910 --> 00:10:49,059
responsive to customers.
428
00:10:49,270 --> 00:10:49,890
This is important
429
00:10:50,170 --> 00:10:51,040
when you’re a startup.
430
00:10:51,720 --> 00:10:52,030
Right.
431
00:10:52,230 --> 00:10:53,860
So, you mentioned
432
00:10:53,870 --> 00:10:55,230
that you’re building
433
00:10:55,230 --> 00:10:56,390
your own extension.
434
00:10:56,740 --> 00:10:58,350
You say serverless
435
00:10:58,540 --> 00:10:59,050
Postgres.
436
00:10:59,099 --> 00:11:00,030
Postgres by itself
437
00:11:00,059 --> 00:11:01,180
isn’t really serverless.
438
00:11:01,290 --> 00:11:02,166
So, what would you
439
00:11:02,349 --> 00:11:04,239
say was the biggest
440
00:11:05,929 --> 00:11:07,330
challenge or hurdle you
441
00:11:07,330 --> 00:11:08,729
had to overcome to make
442
00:11:08,770 --> 00:11:11,560
Postgres serverless?
443
00:11:11,579 --> 00:11:12,710
It really scares
444
00:11:12,730 --> 00:11:13,580
me to answer this
445
00:11:13,580 --> 00:11:14,930
question because deep
446
00:11:15,000 --> 00:11:16,460
down, I feel like
447
00:11:16,460 --> 00:11:17,750
we have not met the
448
00:11:17,750 --> 00:11:18,699
biggest challenge yet.
449
00:11:19,620 --> 00:11:21,030
I feel like the other
450
00:11:21,030 --> 00:11:22,389
shoe is about to drop.
451
00:11:22,430 --> 00:11:23,159
I feel like it’s
452
00:11:23,170 --> 00:11:25,319
still ahead of us.
453
00:11:25,350 --> 00:11:27,550
So, I would want
454
00:11:27,620 --> 00:11:28,430
to qualify it
455
00:11:28,430 --> 00:11:28,920
as the biggest
456
00:11:28,920 --> 00:11:30,000
challenge to date.
457
00:11:31,400 --> 00:11:32,839
We don’t know what
458
00:11:32,840 --> 00:11:33,490
we don’t know.
459
00:11:33,610 --> 00:11:35,249
And this is maybe
460
00:11:35,250 --> 00:11:37,439
the scariest part.
461
00:11:38,920 --> 00:11:41,400
I think there are
462
00:11:41,639 --> 00:11:42,939
two things that were
463
00:11:42,950 --> 00:11:43,910
challenging, and they’re
464
00:11:43,940 --> 00:11:45,260
actually intertwined.
465
00:11:45,290 --> 00:11:46,100
Maybe three things.
466
00:11:46,600 --> 00:11:47,790
One of them is
467
00:11:48,080 --> 00:11:48,940
the transactional
468
00:11:48,940 --> 00:11:49,250
guarantees.
469
00:11:53,380 --> 00:11:54,479
A big reason that people
470
00:11:54,520 --> 00:11:55,670
pick Postgres and not
471
00:11:55,679 --> 00:11:57,160
MongoDB is that it’s a
472
00:11:57,160 --> 00:11:58,680
relational database with
473
00:11:59,280 --> 00:12:00,620
strong ACID guarantees.
474
00:12:00,620 --> 00:12:02,540
Postgres is actually one
475
00:12:02,540 --> 00:12:03,860
of the best databases in
476
00:12:03,860 --> 00:12:05,040
terms of transactional
477
00:12:05,620 --> 00:12:05,699
guarantees.
478
00:12:05,699 --> 00:12:06,250
When you say
479
00:12:06,250 --> 00:12:07,750
serializable, it’s
480
00:12:08,120 --> 00:12:09,620
Snapshot Serializable,
481
00:12:09,639 --> 00:12:10,540
which is better than
482
00:12:10,730 --> 00:12:12,340
Snapshot Isolation.
483
00:12:12,340 --> 00:12:12,380
It
484
00:12:14,700 --> 00:12:15,430
has better guarantees.
485
00:12:15,820 --> 00:12:17,960
So, they did so
486
00:12:17,960 --> 00:12:18,810
much good work.
487
00:12:19,430 --> 00:12:20,560
We have to work with
488
00:12:20,560 --> 00:12:22,230
it, and it opened up
489
00:12:22,230 --> 00:12:23,300
a lot of questions.
490
00:12:23,370 --> 00:12:23,930
Can you have a
491
00:12:24,079 --> 00:12:25,199
transaction that
492
00:12:25,220 --> 00:12:26,100
involves multiple
493
00:12:26,260 --> 00:12:27,410
tenants, or do you
494
00:12:27,410 --> 00:12:28,290
limit transactions
495
00:12:28,330 --> 00:12:29,360
only to one tenant?
496
00:12:29,800 --> 00:12:30,890
How does it work as
497
00:12:30,890 --> 00:12:31,539
you try to scale?
498
00:12:32,110 --> 00:12:33,550
So, dealing with those
499
00:12:33,589 --> 00:12:35,809
concerns, we chose
500
00:12:36,219 --> 00:12:37,060
to take limitations.
501
00:12:37,350 --> 00:12:38,670
Your transactions have
502
00:12:38,670 --> 00:12:39,660
to be for a single
503
00:12:39,680 --> 00:12:40,740
tenant at this point.
504
00:12:42,430 --> 00:12:43,490
We don’t let you
505
00:12:45,050 --> 00:12:45,849
transactionally update
506
00:12:45,849 --> 00:12:46,920
an entire table with
507
00:12:46,929 --> 00:12:47,819
all the tenants in it.
508
00:12:47,849 --> 00:12:48,990
Some people don’t
509
00:12:49,549 --> 00:12:51,269
love it, but we feel
510
00:12:51,290 --> 00:12:53,430
that this is the
511
00:12:53,430 --> 00:12:54,200
bread and butter of
512
00:12:54,209 --> 00:12:55,660
SaaS, isolating the
513
00:12:55,660 --> 00:12:57,050
changes to individuals.
514
00:12:57,530 --> 00:12:58,300
What would you be
515
00:12:58,300 --> 00:12:59,480
doing writing over
516
00:12:59,480 --> 00:13:00,270
multiple tenants?
517
00:13:00,300 --> 00:13:01,320
That sounds scary.
518
00:13:02,840 --> 00:13:05,439
Yes, and when we
519
00:13:05,440 --> 00:13:07,969
allow it, we found
520
00:13:07,969 --> 00:13:08,699
that customers
521
00:13:08,740 --> 00:13:09,859
often regret it.
522
00:13:10,609 --> 00:13:11,910
The number of times that
523
00:13:11,910 --> 00:13:13,390
you deleted or updated
524
00:13:13,400 --> 00:13:14,510
an entire table because
525
00:13:14,520 --> 00:13:15,640
you unintentionally
526
00:13:15,980 --> 00:13:17,460
left out a WHERE clause
527
00:13:20,290 --> 00:13:20,749
is distressing.
528
00:13:22,080 --> 00:13:22,100
So,
529
00:13:24,259 --> 00:13:25,720
we are opinionated to
530
00:13:25,720 --> 00:13:27,329
an extent in preventing
531
00:13:27,330 --> 00:13:28,369
people from shooting
532
00:13:28,430 --> 00:13:29,669
themselves in the foot.
533
00:13:29,949 --> 00:13:30,770
Dealing with
534
00:13:30,800 --> 00:13:32,040
the transaction
535
00:13:33,319 --> 00:13:34,860
limitations has been an
536
00:13:34,860 --> 00:13:36,120
interesting experience.
537
00:13:37,670 --> 00:13:39,080
Distributing—so there
538
00:13:39,080 --> 00:13:40,310
are things that do
539
00:13:40,319 --> 00:13:41,089
have to get distributed
540
00:13:41,259 --> 00:13:41,990
to all the tenants.
541
00:13:43,040 --> 00:13:44,239
For example, no matter
542
00:13:44,240 --> 00:13:45,250
how much we isolate
543
00:13:45,250 --> 00:13:46,410
tenants to their own
544
00:13:46,549 --> 00:13:47,890
databases, if you are
545
00:13:47,969 --> 00:13:49,020
adding a new column
546
00:13:49,020 --> 00:13:49,940
to a table, you need
547
00:13:49,950 --> 00:13:51,160
every single tenant to
548
00:13:51,160 --> 00:13:52,100
have this new column.
549
00:13:53,050 --> 00:13:54,250
So, dealing with those
550
00:13:54,280 --> 00:13:55,630
distributed DDLs has
551
00:13:55,630 --> 00:13:56,729
been really interesting.
552
00:13:58,280 --> 00:13:59,860
Storage is interesting.
553
00:13:59,880 --> 00:14:00,470
And I think the
554
00:14:00,470 --> 00:14:01,830
interesting bit is how
555
00:14:01,880 --> 00:14:03,810
intertwined everything
556
00:14:03,810 --> 00:14:05,280
is in Postgres.
557
00:14:05,280 --> 00:14:06,390
If we want to have the
558
00:14:06,410 --> 00:14:07,570
tenant isolation at the
559
00:14:07,570 --> 00:14:09,110
storage layer, which
560
00:14:09,110 --> 00:14:10,250
we really want because
561
00:14:10,270 --> 00:14:11,069
this is the magic
562
00:14:11,080 --> 00:14:12,230
that allows us to move
563
00:14:12,260 --> 00:14:14,370
tenants to new machines
564
00:14:14,410 --> 00:14:15,650
as you get more and more
565
00:14:15,650 --> 00:14:16,650
customers, we can kind
566
00:14:16,650 --> 00:14:17,610
of auto-shard it for
567
00:14:17,620 --> 00:14:18,630
you and spread it out.
568
00:14:20,210 --> 00:14:21,419
This means that
569
00:14:21,820 --> 00:14:22,790
every data block
570
00:14:22,990 --> 00:14:24,509
has to know which
571
00:14:25,140 --> 00:14:26,300
tenant it belongs to.
572
00:14:26,340 --> 00:14:27,580
Every record in the
573
00:14:27,580 --> 00:14:27,947
WAL [write-ahead log]
574
00:14:28,070 --> 00:14:28,900
has to know which
575
00:14:28,900 --> 00:14:29,870
tenant it belongs to.
576
00:14:30,420 --> 00:14:32,459
So, it’s kind of
577
00:14:32,679 --> 00:14:33,650
a big rabbit hole
578
00:14:33,660 --> 00:14:34,380
that you go down.
579
00:14:36,210 --> 00:14:37,040
Transactions and the
580
00:14:37,040 --> 00:14:38,360
commit logs have to
581
00:14:38,370 --> 00:14:39,229
know which tenants
582
00:14:39,289 --> 00:14:39,959
they belong to.
583
00:14:41,179 --> 00:14:43,339
So, it’s been an
584
00:14:43,340 --> 00:14:44,089
interesting journey.
585
00:14:44,110 --> 00:14:44,970
And as I said, I don’t
586
00:14:44,980 --> 00:14:45,840
think we’re at the
587
00:14:45,840 --> 00:14:46,700
end of the journey
588
00:14:46,770 --> 00:14:48,280
at all at this point.
589
00:14:48,329 --> 00:14:48,740
That’s fair.
590
00:14:49,670 --> 00:14:51,100
I think if you’re
591
00:14:51,100 --> 00:14:52,300
making such a big
592
00:14:52,330 --> 00:14:54,199
change to a system
593
00:14:57,599 --> 00:14:57,756
that wasn’t designed,
594
00:14:57,756 --> 00:14:58,589
well, not necessarily
595
00:14:58,590 --> 00:14:59,669
not designed for it,
596
00:14:59,670 --> 00:15:00,669
but it wasn’t really
597
00:15:01,539 --> 00:15:01,959
thought of in this way
598
00:15:02,010 --> 00:15:03,120
when they created the
599
00:15:03,120 --> 00:15:05,550
actual system, that
600
00:15:05,550 --> 00:15:06,910
is really interesting.
601
00:15:06,910 --> 00:15:08,640
I think it’s always
602
00:15:08,650 --> 00:15:10,280
fair to say we don’t
603
00:15:10,280 --> 00:15:11,240
know where the road is
604
00:15:11,880 --> 00:15:13,740
ahead, because nobody,
605
00:15:13,849 --> 00:15:15,240
well, almost nobody,
606
00:15:15,240 --> 00:15:16,320
did this before.
607
00:15:16,850 --> 00:15:18,339
There are some others
608
00:15:18,510 --> 00:15:19,989
that say serverless
609
00:15:20,100 --> 00:15:21,240
Postgres, but I think
610
00:15:21,420 --> 00:15:22,350
it really depends on
611
00:15:22,350 --> 00:15:23,570
how you actually define
612
00:15:23,610 --> 00:15:24,449
serverless or not.
613
00:15:25,550 --> 00:15:26,920
Defining serverless is
614
00:15:26,920 --> 00:15:27,790
another rabbit hole.
615
00:15:29,920 --> 00:15:30,180
I only give
616
00:15:30,180 --> 00:15:30,600
serverless, I don’t
617
00:15:30,750 --> 00:15:31,790
try to define it.
618
00:15:32,309 --> 00:15:33,430
That is true.
619
00:15:34,550 --> 00:15:37,160
So, as a developer, how
620
00:15:37,160 --> 00:15:38,140
would I get started?
621
00:15:39,080 --> 00:15:40,199
I mean, it is Postgres,
622
00:15:40,200 --> 00:15:41,370
so I guess any Postgres
623
00:15:41,410 --> 00:15:42,480
client works for me?
624
00:15:43,290 --> 00:15:44,050
Absolutely, any
625
00:15:44,480 --> 00:15:45,580
Postgres client, any
626
00:15:45,580 --> 00:15:47,160
ORMs that you enjoy.
627
00:15:47,910 --> 00:15:49,119
We tested with the
628
00:15:49,120 --> 00:15:50,470
popular ones, so I
629
00:15:50,500 --> 00:15:51,464
can tell you, and
630
00:15:51,730 --> 00:15:52,959
we have examples.
631
00:15:53,920 --> 00:15:54,880
As you probably know,
632
00:15:54,890 --> 00:15:56,260
we share a deep passion
633
00:15:56,260 --> 00:15:58,290
for developer experience
634
00:15:58,290 --> 00:15:59,510
and really getting-
635
00:15:59,510 --> 00:15:59,840
making sure that
636
00:15:59,840 --> 00:16:00,490
developers of all kinds
637
00:16:00,490 --> 00:16:01,300
experienced, beginners,
638
00:16:01,460 --> 00:16:02,410
this language, that
639
00:16:02,410 --> 00:16:04,220
language, meeting
640
00:16:04,430 --> 00:16:07,650
developers where they
641
00:16:07,650 --> 00:16:08,750
are is so important.
642
00:16:09,299 --> 00:16:11,209
So we have tutorials
643
00:16:11,560 --> 00:16:13,579
for any popular ORM.
644
00:16:13,830 --> 00:16:16,090
If you like Prisma,
645
00:16:16,110 --> 00:16:17,980
Drizzle, SQLAlchemy,
646
00:16:18,550 --> 00:16:21,906
and Hibernate, we have
647
00:16:21,906 --> 00:16:24,810
Django we basically
648
00:16:24,810 --> 00:16:26,310
try to cover everything
649
00:16:26,350 --> 00:16:28,280
that people use and just
650
00:16:28,280 --> 00:16:29,259
give a small example.
651
00:16:31,310 --> 00:16:32,000
And you use it
652
00:16:32,240 --> 00:16:33,050
completely normally.
653
00:16:33,470 --> 00:16:34,140
There are only two
654
00:16:34,140 --> 00:16:34,870
tricky bits that
655
00:16:34,870 --> 00:16:35,510
you need to get.
656
00:16:36,150 --> 00:16:38,190
Nile shows up with some
657
00:16:38,190 --> 00:16:39,290
tables already built-in,
658
00:16:39,419 --> 00:16:40,330
like the tenants table.
659
00:16:40,930 --> 00:16:42,969
You need to pull them
660
00:16:42,970 --> 00:16:44,240
into your ORM and
661
00:16:44,249 --> 00:16:45,066
generate an object
662
00:16:45,066 --> 00:16:46,010
from the database,
663
00:16:46,010 --> 00:16:46,609
which is something
664
00:16:46,689 --> 00:16:47,590
that some developers
665
00:16:48,060 --> 00:16:48,920
haven’t done before,
666
00:16:48,959 --> 00:16:50,040
but it’s actually very
667
00:16:50,040 --> 00:16:50,860
easy in every ORM.
668
00:16:52,190 --> 00:16:53,770
And the other one
669
00:16:53,780 --> 00:16:55,050
is that you need,
670
00:16:55,070 --> 00:16:56,190
in a transaction, to
671
00:16:56,190 --> 00:16:57,260
specify which tenant
672
00:16:57,260 --> 00:16:57,974
the transaction is
673
00:16:58,010 --> 00:16:59,650
for because that’s
674
00:16:59,880 --> 00:17:00,669
the entire point.
675
00:17:01,190 --> 00:17:03,890
And this is the
676
00:17:03,890 --> 00:17:05,009
main point of most
677
00:17:05,010 --> 00:17:05,569
of our examples.
678
00:17:05,839 --> 00:17:06,900
Here is the snippet
679
00:17:07,230 --> 00:17:08,460
of how you specify
680
00:17:08,490 --> 00:17:10,399
the tenant in Prisma,
681
00:17:10,700 --> 00:17:11,870
in Hibernate, in
682
00:17:11,870 --> 00:17:13,320
Drizzle, and so on.
683
00:17:13,870 --> 00:17:15,150
We tie it end to
684
00:17:15,150 --> 00:17:16,010
end because we are
685
00:17:16,120 --> 00:17:17,200
very SaaS-focused.
686
00:17:17,240 --> 00:17:18,050
We believe that
687
00:17:18,760 --> 00:17:19,450
the tenant will
688
00:17:19,499 --> 00:17:20,700
probably be a header
689
00:17:20,700 --> 00:17:21,970
in an HTTP request.
690
00:17:22,449 --> 00:17:23,189
There will probably
691
00:17:23,199 --> 00:17:25,030
be a JWT or a session
692
00:17:25,050 --> 00:17:25,920
with the user.
693
00:17:26,500 --> 00:17:28,950
And so we tie the HTTP
694
00:17:28,960 --> 00:17:30,810
header down to the
695
00:17:30,810 --> 00:17:31,985
transaction, we tie
696
00:17:32,210 --> 00:17:34,140
the user down to the
697
00:17:34,140 --> 00:17:35,420
transaction, we validate
698
00:17:35,420 --> 00:17:36,290
that the user actually
699
00:17:36,310 --> 00:17:37,109
has access to the
700
00:17:37,110 --> 00:17:38,240
tenant that is mentioned
701
00:17:38,799 --> 00:17:39,339
in the transaction.
702
00:17:39,749 --> 00:17:40,550
This is the whole point
703
00:17:40,599 --> 00:17:41,479
of pushing all this
704
00:17:41,480 --> 00:17:43,160
information from the
705
00:17:43,160 --> 00:17:44,450
browser, from the layer,
706
00:17:44,490 --> 00:17:45,310
all the way down to the
707
00:17:45,310 --> 00:17:46,600
database so we can do
708
00:17:46,780 --> 00:17:47,230
these kinds of things.
709
00:17:48,320 --> 00:17:49,030
Right, right.
710
00:17:49,050 --> 00:17:49,960
Okay, cool.
711
00:17:51,230 --> 00:17:52,970
And I can just go
712
00:17:52,970 --> 00:17:53,779
to, what is it?
713
00:17:53,969 --> 00:17:57,353
The nile- Thenile.dev.
714
00:17:57,993 --> 00:17:58,356
Dev.
715
00:17:58,523 --> 00:17:58,739
Right.
716
00:17:58,739 --> 00:18:00,429
I knew it was not io.
717
00:18:00,489 --> 00:18:01,441
Thenile.dev.
718
00:18:01,441 --> 00:18:02,509
Yeah.
719
00:18:03,169 --> 00:18:04,319
It was always probably
720
00:18:04,319 --> 00:18:05,549
free, but we thought
721
00:18:05,549 --> 00:18:07,799
that we- especially
722
00:18:07,799 --> 00:18:08,659
since we didn't start
723
00:18:08,659 --> 00:18:09,209
with that phrase.
724
00:18:10,179 --> 00:18:11,069
I think we thought
725
00:18:11,069 --> 00:18:13,276
that io is- We're not
726
00:18:13,276 --> 00:18:14,096
really dealing with IO.
727
00:18:14,096 --> 00:18:15,406
We're all about storage.
728
00:18:15,406 --> 00:18:16,036
Yeah, fair enough.
729
00:18:16,276 --> 00:18:17,806
So, thenile.dev and I
730
00:18:17,806 --> 00:18:18,916
sign up for an account
731
00:18:18,916 --> 00:18:19,836
and I get all the
732
00:18:19,856 --> 00:18:20,936
credentials I need?
733
00:18:21,806 --> 00:18:22,196
Exactly.
734
00:18:22,946 --> 00:18:23,466
All right.
735
00:18:23,726 --> 00:18:25,586
So, we’re a cloud
736
00:18:25,586 --> 00:18:27,036
podcast, so who
737
00:18:27,036 --> 00:18:28,486
would we be not to
738
00:18:28,486 --> 00:18:29,606
ask the question
739
00:18:29,606 --> 00:18:30,486
of all questions?
740
00:18:30,486 --> 00:18:31,186
How does that
741
00:18:31,186 --> 00:18:32,336
look backend wise?
742
00:18:32,766 --> 00:18:33,316
I mean, we’re
743
00:18:33,316 --> 00:18:34,196
talking a lot about
744
00:18:34,216 --> 00:18:35,146
Kubernetes here.
745
00:18:39,056 --> 00:18:40,666
We actually migrated
746
00:18:40,666 --> 00:18:41,316
to Kubernetes
747
00:18:41,526 --> 00:18:42,456
fairly recently.
748
00:18:44,136 --> 00:18:45,636
We started out with
749
00:18:45,636 --> 00:18:48,413
just ECS a bunch of
750
00:18:48,413 --> 00:18:49,853
EC2 machines, some
751
00:18:49,853 --> 00:18:51,123
Pulumi scripts to
752
00:18:51,133 --> 00:18:52,403
deploy stuff on them.
753
00:18:53,043 --> 00:18:56,093
And it worked for us
754
00:18:56,093 --> 00:18:57,103
for a very long time.
755
00:18:57,113 --> 00:19:00,223
It got really messy as
756
00:19:00,223 --> 00:19:01,813
we added more services.
757
00:19:02,253 --> 00:19:03,353
It got pretty messy
758
00:19:03,353 --> 00:19:05,563
to do releases, and
759
00:19:05,573 --> 00:19:06,613
that’s when we moved
760
00:19:06,793 --> 00:19:09,003
to Kubernetes, and
761
00:19:09,003 --> 00:19:09,953
now we have Helm
762
00:19:09,953 --> 00:19:11,763
charts, we have FluxCD,
763
00:19:12,563 --> 00:19:14,249
so everyone with a
764
00:19:14,249 --> 00:19:15,353
service can basically
765
00:19:15,863 --> 00:19:16,933
upgrade their version.
766
00:19:17,313 --> 00:19:18,033
It actually happens
767
00:19:18,033 --> 00:19:18,863
automatically, so
768
00:19:18,863 --> 00:19:21,033
you merge and then it
769
00:19:21,413 --> 00:19:22,133
triggers a bunch of
770
00:19:22,283 --> 00:19:23,693
tests, it deploys to
771
00:19:23,693 --> 00:19:26,303
dev, it opens a pull
772
00:19:26,303 --> 00:19:27,673
request to upgrade
773
00:19:27,673 --> 00:19:28,693
production, and if
774
00:19:28,693 --> 00:19:29,403
you merge the pull
775
00:19:29,403 --> 00:19:31,203
request, it goes live.
776
00:19:31,263 --> 00:19:33,563
So, we have a fantastic
777
00:19:36,883 --> 00:19:37,933
infra engineer
778
00:19:37,943 --> 00:19:40,843
who set it all up.
779
00:19:42,223 --> 00:19:43,153
Good infra engineers
780
00:19:43,533 --> 00:19:44,159
are so understated.
781
00:19:44,159 --> 00:19:44,333
They do
782
00:19:47,903 --> 00:19:48,043
amazing things and
783
00:19:48,043 --> 00:19:48,453
act like it’s obvious.
784
00:19:48,473 --> 00:19:48,653
For
785
00:19:57,243 --> 00:19:57,793
me, it’s like, oh my
786
00:19:57,793 --> 00:19:58,913
god, it’s all magical.
787
00:19:59,753 --> 00:20:01,443
I completely
788
00:20:01,443 --> 00:20:02,173
agree with you.
789
00:20:02,173 --> 00:20:03,073
It was the same
790
00:20:03,073 --> 00:20:04,033
with my startup.
791
00:20:04,813 --> 00:20:06,803
One of the most valued
792
00:20:06,803 --> 00:20:08,033
people, and I’m not
793
00:20:08,033 --> 00:20:08,773
saying that all the
794
00:20:08,773 --> 00:20:10,413
other guys were bad,
795
00:20:10,433 --> 00:20:11,733
but the most valued guy
796
00:20:11,733 --> 00:20:12,943
from my perspective was
797
00:20:12,943 --> 00:20:14,513
the one that built the
798
00:20:14,533 --> 00:20:17,013
Argo CD, the Jenkins
799
00:20:17,033 --> 00:20:18,873
pipeline, the Kubernetes
800
00:20:18,883 --> 00:20:20,123
cluster, all of that,
801
00:20:20,123 --> 00:20:21,113
because in the end,
802
00:20:21,113 --> 00:20:22,743
it was literally you
803
00:20:22,783 --> 00:20:24,003
commit to your Git
804
00:20:25,033 --> 00:20:25,783
repository, you make
805
00:20:25,783 --> 00:20:28,563
a new tag, the build
806
00:20:28,563 --> 00:20:29,713
pipeline picks it up,
807
00:20:29,723 --> 00:20:30,823
the deployment pipeline
808
00:20:30,843 --> 00:20:32,813
picks it up, and you
809
00:20:33,323 --> 00:20:34,383
magically have the
810
00:20:34,383 --> 00:20:35,203
new version deployed.
811
00:20:35,203 --> 00:20:37,023
And it was incredible.
812
00:20:37,033 --> 00:20:37,973
It saves other
813
00:20:37,973 --> 00:20:39,823
engineers so much time.
814
00:20:40,723 --> 00:20:41,953
It’s just this giant
815
00:20:42,263 --> 00:20:44,003
force multiplier and
816
00:20:44,003 --> 00:20:45,393
it prevents all kinds
817
00:20:45,393 --> 00:20:46,703
of random incidents,
818
00:20:48,333 --> 00:20:49,183
possibly generating
819
00:20:49,203 --> 00:20:50,163
some new ones, but I
820
00:20:50,233 --> 00:20:50,573
think on the balance,
821
00:20:50,573 --> 00:20:50,619
it’s been amazing.
822
00:20:50,619 --> 00:20:50,665
The problem is
823
00:20:50,665 --> 00:20:50,741
that a lot of that
824
00:20:50,741 --> 00:20:50,787
work is invisible.
825
00:20:50,787 --> 00:20:52,983
It’s like how in
826
00:20:59,393 --> 00:21:00,543
the past front-end
827
00:21:00,543 --> 00:21:01,343
engineers or graphic
828
00:21:01,343 --> 00:21:01,763
designers were the
829
00:21:01,763 --> 00:21:03,083
ones everyone loved
830
00:21:04,773 --> 00:21:05,463
because they had
831
00:21:05,463 --> 00:21:06,313
something to show.
832
00:21:06,553 --> 00:21:07,143
And as a backend
833
00:21:07,143 --> 00:21:07,743
engineer, you’re
834
00:21:07,743 --> 00:21:07,933
working for
835
00:21:10,323 --> 00:21:11,405
weeks with nothing
836
00:21:11,405 --> 00:21:12,603
visual to show.
837
00:21:16,233 --> 00:21:17,023
It’s really hard,
838
00:21:17,213 --> 00:21:18,023
especially in larger
839
00:21:18,023 --> 00:21:20,383
companies with formal
840
00:21:20,633 --> 00:21:21,633
performance reviews
841
00:21:21,633 --> 00:21:21,773
and calibrations
842
00:21:22,993 --> 00:21:23,893
across the company.
843
00:21:24,383 --> 00:21:26,593
You have to show
844
00:21:26,593 --> 00:21:27,363
the impact of an
845
00:21:27,363 --> 00:21:28,113
engineer, right?
846
00:21:28,853 --> 00:21:29,853
On one hand, you have
847
00:21:29,853 --> 00:21:31,393
a front-end engineer
848
00:21:31,403 --> 00:21:32,773
who moves a button two
849
00:21:32,773 --> 00:21:34,073
pixels to the left and
850
00:21:34,073 --> 00:21:35,903
suddenly conversion is
851
00:21:35,943 --> 00:21:38,473
up by 50%—huge impact.
852
00:21:39,503 --> 00:21:40,223
But what they did
853
00:21:40,303 --> 00:21:42,283
was move a pixel.
854
00:21:42,383 --> 00:21:43,873
On the other hand,
855
00:21:43,873 --> 00:21:44,933
you have someone who
856
00:21:45,183 --> 00:21:48,053
rewrites a core part of
857
00:21:48,053 --> 00:21:49,243
the storage engine to
858
00:21:49,243 --> 00:21:52,403
be 30 times faster and
859
00:21:53,203 --> 00:21:54,363
100 times more reliable.
860
00:21:54,363 --> 00:21:55,793
Okay, but what
861
00:21:55,833 --> 00:21:56,383
was the impact?
862
00:21:56,583 --> 00:21:57,383
Well, customers no
863
00:21:57,383 --> 00:21:58,713
longer lose data and
864
00:21:58,763 --> 00:21:59,703
are slightly happier
865
00:21:59,703 --> 00:22:00,523
because it’s faster.
866
00:22:01,193 --> 00:22:01,773
Yes, that
867
00:22:04,233 --> 00:22:05,843
is so true and so sad.
868
00:22:07,573 --> 00:22:10,243
I’ve been there in my
869
00:22:10,243 --> 00:22:11,533
career at least once,
870
00:22:12,193 --> 00:22:13,563
probably more than that.
871
00:22:13,593 --> 00:22:14,333
Infra engineers
872
00:22:14,353 --> 00:22:15,343
should not work for
873
00:22:15,343 --> 00:22:16,083
large companies.
874
00:22:16,083 --> 00:22:17,106
I mean, I’m being
875
00:22:17,106 --> 00:22:17,419
tongue-in-cheek,
876
00:22:17,733 --> 00:22:18,513
obviously, a lot of
877
00:22:18,513 --> 00:22:19,493
them are very happy at
878
00:22:19,523 --> 00:22:23,303
Google and AWS, but if
879
00:22:23,303 --> 00:22:24,833
you want to be noticed
880
00:22:24,833 --> 00:22:26,213
for your impact, a
881
00:22:26,213 --> 00:22:27,463
small company is so much
882
00:22:27,463 --> 00:22:29,053
better because everyone
883
00:22:29,193 --> 00:22:29,813
is an engineer and
884
00:22:29,813 --> 00:22:31,063
sees what you’re doing.
885
00:22:31,543 --> 00:22:32,596
But I think that’s
886
00:22:32,596 --> 00:22:33,453
true in general.
887
00:22:33,453 --> 00:22:34,253
With Simplyblock,
888
00:22:34,423 --> 00:22:35,883
we’re still a super
889
00:22:35,883 --> 00:22:38,243
small startup, around
890
00:22:38,243 --> 00:22:39,753
16 or 17 people.
891
00:22:40,183 --> 00:22:41,563
I chose to go back
892
00:22:41,563 --> 00:22:44,123
to that small company
893
00:22:44,123 --> 00:22:45,533
environment exactly for
894
00:22:45,533 --> 00:22:46,233
that reason, because
895
00:22:46,233 --> 00:22:47,333
you have influence.
896
00:22:48,223 --> 00:22:50,393
You really matter.
897
00:22:51,333 --> 00:22:51,733
You’re not
898
00:22:51,733 --> 00:22:52,443
just a number.
899
00:22:53,663 --> 00:22:53,743
Exactly.
900
00:22:54,133 --> 00:22:54,883
How did we even
901
00:22:54,883 --> 00:22:55,628
move to Kubernetes?
902
00:22:55,943 --> 00:22:56,673
Well, we hired the
903
00:22:56,673 --> 00:22:58,633
infra guy and he talked
904
00:22:58,783 --> 00:23:00,433
to developers, and
905
00:23:00,433 --> 00:23:01,193
they said, yeah, this
906
00:23:01,193 --> 00:23:02,093
sounds like a good idea.
907
00:23:02,103 --> 00:23:02,703
Let’s try it.
908
00:23:02,703 --> 00:23:02,763
He did it, and
909
00:23:02,763 --> 00:23:02,993
everyone said,
910
00:23:05,383 --> 00:23:05,773
yeah, this is
911
00:23:05,773 --> 00:23:06,563
so much better.
912
00:23:11,013 --> 00:23:11,333
Let’s go.
913
00:23:11,923 --> 00:23:12,973
That’s the impact
914
00:23:12,973 --> 00:23:13,623
I’m talking about.
915
00:23:14,773 --> 00:23:15,943
He came in, made a
916
00:23:15,943 --> 00:23:17,863
suggestion, and it
917
00:23:18,223 --> 00:23:18,963
was a good idea.
918
00:23:19,663 --> 00:23:19,963
Now everything is
919
00:23:19,983 --> 00:23:20,413
much better than
920
00:23:20,413 --> 00:23:21,233
it was before.
921
00:23:22,723 --> 00:23:24,123
One thing, because
922
00:23:24,123 --> 00:23:24,799
Simplyblock is a
923
00:23:24,803 --> 00:23:25,903
storage company, you
924
00:23:25,903 --> 00:23:26,743
mentioned that storage
925
00:23:26,743 --> 00:23:28,813
is a problem for you.
926
00:23:29,683 --> 00:23:30,403
In what sense?
927
00:23:32,093 --> 00:23:34,793
So, I wouldn’t say that
928
00:23:35,003 --> 00:23:36,123
storage is exactly a
929
00:23:36,123 --> 00:23:37,353
problem, but it is a
930
00:23:37,353 --> 00:23:39,153
part of Postgres that we
931
00:23:39,163 --> 00:23:40,293
had to figure out how to
932
00:23:40,473 --> 00:23:42,993
modify, like finding the
933
00:23:42,993 --> 00:23:44,513
spare bits in the block
934
00:23:44,783 --> 00:23:45,813
where we can put tenant
935
00:23:48,653 --> 00:23:49,263
identifiers.
936
00:23:49,273 --> 00:23:50,763
But I would say that
937
00:23:51,023 --> 00:23:51,933
in general, in the
938
00:23:51,933 --> 00:23:54,113
industry, if you look
939
00:23:54,223 --> 00:23:56,903
at incidents across the
940
00:23:56,903 --> 00:23:58,773
board, and there’s been
941
00:23:58,863 --> 00:23:59,913
plenty of research,
942
00:24:00,873 --> 00:24:02,313
storage outages are
943
00:24:02,313 --> 00:24:03,533
kind of a leading
944
00:24:03,853 --> 00:24:04,703
cause of outages.
945
00:24:07,023 --> 00:24:07,883
Obviously, storage
946
00:24:07,913 --> 00:24:09,083
performance has
947
00:24:09,273 --> 00:24:10,653
a gigantic impact
948
00:24:10,683 --> 00:24:11,703
on the performance
949
00:24:11,903 --> 00:24:13,333
of any system.
950
00:24:13,343 --> 00:24:15,170
You can only get as
951
00:24:15,170 --> 00:24:16,193
fast as your storage.
952
00:24:16,193 --> 00:24:16,963
Your performance cannot
953
00:24:17,013 --> 00:24:17,973
really get better
954
00:24:17,973 --> 00:24:18,843
than your storage.
955
00:24:25,093 --> 00:24:25,163
That’s true.
956
00:24:26,043 --> 00:24:27,783
The idea of tiering
957
00:24:27,883 --> 00:24:29,203
storage, which I
958
00:24:29,223 --> 00:24:30,253
think Confluent kind
959
00:24:30,253 --> 00:24:30,973
of pioneered—though
960
00:24:31,423 --> 00:24:32,393
I wasn’t on the team
961
00:24:32,403 --> 00:24:33,293
that pioneered it, but
962
00:24:33,313 --> 00:24:34,283
I was fairly close to
963
00:24:35,493 --> 00:24:36,323
it—is that you have
964
00:24:36,333 --> 00:24:37,463
some data that has
965
00:24:37,473 --> 00:24:38,423
to be on expensive,
966
00:24:38,423 --> 00:24:40,373
fast disks and some
967
00:24:40,753 --> 00:24:41,923
data that may need
968
00:24:42,163 --> 00:24:43,513
to be high-throughput
969
00:24:44,743 --> 00:24:45,633
and very reliable,
970
00:24:45,903 --> 00:24:48,913
but low latency is
971
00:24:48,913 --> 00:24:50,303
not the concern.
972
00:24:50,313 --> 00:24:51,343
Maybe actually having
973
00:24:51,673 --> 00:24:52,358
a lot of copies
974
00:24:52,643 --> 00:24:53,483
is more important.
975
00:24:54,423 --> 00:24:57,043
This is one of the
976
00:24:57,043 --> 00:24:58,513
most important ideas
977
00:24:58,513 --> 00:24:59,123
when it comes to
978
00:24:59,383 --> 00:25:01,353
serverless and building
979
00:25:01,353 --> 00:25:02,443
cloud-native systems.
980
00:25:03,613 --> 00:25:05,503
Okay, that is a
981
00:25:05,503 --> 00:25:06,253
perfect answer.
982
00:25:06,823 --> 00:25:08,253
I could not add
983
00:25:08,253 --> 00:25:08,963
anything to that.
984
00:25:09,773 --> 00:25:10,443
I mean, who would
985
00:25:10,443 --> 00:25:11,023
I be anyway?
986
00:25:14,393 --> 00:25:15,053
We already crossed
987
00:25:15,053 --> 00:25:16,083
the 20-minute mark
988
00:25:16,513 --> 00:25:17,823
by a few minutes,
989
00:25:20,613 --> 00:25:23,423
so the last question
990
00:25:23,423 --> 00:25:24,103
for every guest:
991
00:25:24,283 --> 00:25:25,143
What do you think is
992
00:25:25,303 --> 00:25:26,283
the next big thing?
993
00:25:26,693 --> 00:25:27,693
Could be database,
994
00:25:27,693 --> 00:25:30,703
could be AI, could
995
00:25:30,713 --> 00:25:32,533
be anything you like.
996
00:25:32,533 --> 00:25:33,423
Yeah, I’m kind of
997
00:25:33,613 --> 00:25:34,653
struggling to think.
998
00:25:34,933 --> 00:25:35,913
As much as I want to
999
00:25:35,913 --> 00:25:37,013
talk up the future
1000
00:25:37,013 --> 00:25:38,093
of databases, I’m
1001
00:25:38,253 --> 00:25:39,283
struggling to think
1002
00:25:39,283 --> 00:25:41,493
of anything bigger
1003
00:25:42,033 --> 00:25:44,243
than AI going on.
1004
00:25:45,163 --> 00:25:46,273
One of the big questions
1005
00:25:46,293 --> 00:25:49,063
is whether the idea
1006
00:25:49,163 --> 00:25:53,093
of vectorizing data,
1007
00:25:53,103 --> 00:25:54,283
storing it in a
1008
00:25:54,283 --> 00:25:55,913
database, and using
1009
00:25:56,283 --> 00:25:58,073
vector similarity to
1010
00:25:58,103 --> 00:25:59,403
enhance AI performance
1011
00:25:59,413 --> 00:26:01,693
is here to stay.
1012
00:26:02,963 --> 00:26:04,213
Every indication tells
1013
00:26:04,213 --> 00:26:05,543
me that the concept is
1014
00:26:06,193 --> 00:26:06,963
solid and the techniques
1015
00:26:07,003 --> 00:26:08,103
are getting better
1016
00:26:08,103 --> 00:26:09,403
and better, both in
1017
00:26:09,403 --> 00:26:10,313
terms of embeddings
1018
00:26:10,313 --> 00:26:11,103
and also techniques
1019
00:26:11,143 --> 00:26:12,323
outside of embeddings.
1020
00:26:15,003 --> 00:26:16,713
I also see PGVector
1021
00:26:17,333 --> 00:26:19,323
keeps getting better
1022
00:26:19,323 --> 00:26:20,023
with more contributions,
1023
00:26:20,023 --> 00:26:20,113
performance
1024
00:26:23,013 --> 00:26:23,663
improvements, new
1025
00:26:25,453 --> 00:26:28,333
indexes, and so on.
1026
00:26:28,743 --> 00:26:30,733
So I feel like-
1027
00:26:31,103 --> 00:26:33,073
Watching, and I don't
1028
00:26:33,083 --> 00:26:34,613
know that vector data, I
1029
00:26:34,613 --> 00:26:35,433
know it's controversial.
1030
00:26:35,443 --> 00:26:36,333
There's a lot of people
1031
00:26:36,333 --> 00:26:36,919
probably listening
1032
00:26:36,919 --> 00:26:38,143
with a Vector database.
1033
00:26:38,953 --> 00:26:40,703
I don't know that there
1034
00:26:40,703 --> 00:26:41,803
is tons of appetite,
1035
00:26:41,803 --> 00:26:42,793
especially in small
1036
00:26:43,453 --> 00:26:44,380
startups where a lot
1037
00:26:44,380 --> 00:26:45,813
of the AI is happening
1038
00:26:45,813 --> 00:26:46,353
in small startups.
1039
00:26:46,613 --> 00:26:47,563
Whether there is a lot
1040
00:26:47,563 --> 00:26:48,693
of appetite for yet
1041
00:26:48,713 --> 00:26:51,143
another database versus.
1042
00:26:51,783 --> 00:26:52,943
I'm seeing so much,
1043
00:26:52,963 --> 00:26:53,983
just let me do
1044
00:26:54,153 --> 00:26:55,153
everything in Postgres.
1045
00:26:55,413 --> 00:26:58,053
And if Postgres is a
1046
00:26:58,053 --> 00:27:00,243
few percent point maybe
1047
00:27:00,643 --> 00:27:02,093
slower than the absolute
1048
00:27:02,193 --> 00:27:03,603
leading edge vector DBs,
1049
00:27:03,933 --> 00:27:04,853
I think a lot of people
1050
00:27:04,863 --> 00:27:05,763
will absolutely take
1051
00:27:05,773 --> 00:27:07,993
the bargain because just
1052
00:27:07,993 --> 00:27:08,873
let me do everything
1053
00:27:08,873 --> 00:27:09,593
in my Postgres.
1054
00:27:10,633 --> 00:27:11,743
So I do think
1055
00:27:12,723 --> 00:27:14,193
that, yeah, RAC
1056
00:27:14,193 --> 00:27:15,063
is here to stay.
1057
00:27:15,723 --> 00:27:17,763
Vector similarity
1058
00:27:17,773 --> 00:27:18,573
is getting better
1059
00:27:18,573 --> 00:27:19,753
and better, and
1060
00:27:19,753 --> 00:27:20,663
faster and faster.
1061
00:27:20,693 --> 00:27:22,903
And I do think that
1062
00:27:23,043 --> 00:27:23,843
PGVector is going to
1063
00:27:23,843 --> 00:27:25,143
own a huge slice of it.
1064
00:27:26,043 --> 00:27:26,963
All right, cool.
1065
00:27:27,473 --> 00:27:27,763
Yeah.
1066
00:27:27,883 --> 00:27:29,353
I think that is a very
1067
00:27:29,353 --> 00:27:30,473
nice last sentence.
1068
00:27:32,173 --> 00:27:33,333
RAC is here to stay.
1069
00:27:34,733 --> 00:27:35,523
Thank you very much.
1070
00:27:36,313 --> 00:27:38,413
We are at 26 minutes.
1071
00:27:38,683 --> 00:27:39,633
I think we have
1072
00:27:39,633 --> 00:27:40,673
to cut it here.
1073
00:27:42,673 --> 00:27:43,303
Thank you very much
1074
00:27:43,303 --> 00:27:44,003
for being here.
1075
00:27:44,683 --> 00:27:46,793
Awesome chat, just
1076
00:27:48,233 --> 00:27:49,663
like the pre-recording
1077
00:27:49,663 --> 00:27:51,783
chat we had.
1078
00:27:52,643 --> 00:27:54,793
It’s such an
1079
00:27:54,803 --> 00:27:55,813
honor to have you.
1080
00:27:56,393 --> 00:27:57,313
As I said, I’m the
1081
00:27:57,313 --> 00:27:58,036
one who was excited
1082
00:27:58,233 --> 00:28:00,583
here, so thank you very
1083
00:28:00,583 --> 00:28:01,333
much for being here.
1084
00:28:02,193 --> 00:28:03,203
Thank you so much.
1085
00:28:03,233 --> 00:28:04,003
It’s been a pleasure.
1086
00:28:05,783 --> 00:28:06,573
For the audience,
1087
00:28:07,313 --> 00:28:08,123
you know how it
1088
00:28:08,123 --> 00:28:10,083
rolls, same time next
1089
00:28:10,083 --> 00:28:11,253
week, same place.
1090
00:28:11,863 --> 00:28:13,023
I hope you’re coming
1091
00:28:13,033 --> 00:28:13,483
back and you’re
1092
00:28:13,483 --> 00:28:14,053
listening again.
1093
00:28:14,383 --> 00:28:14,903
Thank you very much
1094
00:28:14,903 --> 00:28:15,673
for being here as well.
1095
00:28:18,763 --> 00:28:19,503
The Cloud Commute
1096
00:28:19,553 --> 00:28:20,643
Podcast is sponsored by
1097
00:28:20,903 --> 00:28:22,053
Simplyblock, your own
1098
00:28:22,053 --> 00:28:22,993
elastic block storage
1099
00:28:23,003 --> 00:28:23,893
engine for the cloud.
1100
00:28:24,173 --> 00:28:25,283
Get higher IOPS and
1101
00:28:25,293 --> 00:28:26,843
low predictable latency
1102
00:28:26,843 --> 00:28:27,483
while bringing down your
1103
00:28:27,483 --> 00:28:28,573
total cost of ownership.
1104
00:28:28,973 --> 00:28:29,603
www.simplyblock.io