Podchaser Logo
Home
Netlify and Edge Computing with Erica Pisani

Netlify and Edge Computing with Erica Pisani

Released Wednesday, 27th March 2024
Good episode? Give it some love!
Netlify and Edge Computing with Erica Pisani

Netlify and Edge Computing with Erica Pisani

Netlify and Edge Computing with Erica Pisani

Netlify and Edge Computing with Erica Pisani

Wednesday, 27th March 2024
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:00

Netlify is a popular hosting platform

0:02

that provides build, deploy, and serverless

0:04

backend services for web apps. The

0:07

platform enables deployment directly from source

0:09

files stored in a version control

0:11

system like GitHub. Erika

0:13

Passani is a senior software engineer

0:16

at Netlify. She joins

0:18

the show to talk about how she got started

0:20

at Netlify, edge computing, edge functions,

0:23

private integrations, and more. This

0:26

episode is hosted by Josh Goldberg,

0:28

an independent full-time open source developer.

0:31

Josh works on projects in the

0:33

TypeScript ecosystem, most notably TypeScript ES

0:35

Slint, the tooling that enables ES

0:37

Slint and prettier to run on

0:39

TypeScript code. Josh is also

0:42

the author of the O'Reilly Learning TypeScript book,

0:45

a Microsoft MVP for developer

0:47

technologies and a live code

0:49

streamer on Twitch. Find

0:51

Josh on BlueSky, Mastodon,

0:53

Twitter, Twitch, YouTube, and.com

0:55

as Joshua K. Goldberg.

1:10

With me today is Erika Passani, senior

1:12

software engineer at Netlify. Erika, welcome to

1:15

Software Engineering Daily. How's it going? It's

1:18

going great. Thank you so much for having me

1:20

on today. It's my pleasure. I have to note,

1:22

we'll talk about this at the end of the

1:24

interview, but I'm on your About page on your

1:26

website, and there is significantly more space dedicated to

1:28

your dog, Ada, than anything else on that page.

1:31

That's great. Thank you. Thank

1:33

you. Yeah, I feel like of Ada and

1:35

I, Ada is obviously the one people want to see when

1:37

they visit my website, so I made sure to feature her

1:39

very prominently as much as I could. She's

1:42

doing great on there. Props to the dog. But

1:45

let's talk about you for a little bit. You're a software developer.

1:47

How did that come to be? Honestly, it

1:49

was a little bit of a roundabout journey. I

1:51

was definitely that kid growing up that

1:54

liked hearing the clickety-clack of keyboards, and

1:56

I loved playing video games. And so

1:58

at one point... early on, I remember

2:00

thinking, yeah, I'm going to be like a lot of

2:02

developers. I imagine, yeah, I'm going to work on video

2:05

games. This is going to be great. And

2:07

then somewhere around high school, I ended up

2:10

thinking that I think I took like a general

2:12

tech course in high school, did a bit of

2:14

programming. It felt like it wasn't for me. So

2:17

I ended up deciding to not continue

2:19

with it and instead decided to

2:21

focus on history because I just love

2:23

that subject and a

2:26

bit of time later, it was like maybe two years

2:28

after I, this would have been like the 11th grade.

2:30

So I don't know how, how will that translate to

2:32

16, 17. I

2:35

was trying to get courses

2:37

to work out my schedule to work out. And

2:39

there was a bit of a clash and I

2:41

needed to pick a course to fill this last

2:43

slot and it was either hair and

2:46

makeup styling, which is if anyone knows me for

2:48

more than 10 minutes, you know, that is definitely

2:50

not my jam or retaking

2:52

programming. And I had a bunch

2:54

of friends that were in that class. So I was like,

2:56

sure. I used to dream of

2:59

maybe being a video game programmer. I'll

3:01

take the class again. I'm sure it'll

3:03

be fine. And around

3:05

that time, my mom was actually in the

3:07

middle of a career change. She was going back

3:09

to school to be a teacher and she

3:12

was going through teachers colleges to that final

3:14

year in Ontario where you're, you're doing placements

3:16

and stuff. And she was like, unless you

3:19

are really set on like,

3:21

you love history so much and you really like

3:23

the idea of teaching, this might not be for

3:25

you. So you might want to consider something

3:27

else. Cause she was just having a really hard time with

3:29

it. And I'd never pictured myself

3:32

being a math whiz. Like that's kind of the

3:34

picture I grew up. I guess those software engineers

3:36

is you had to be really good at math.

3:38

You had to be good at snacks. You had

3:40

to be living and breathing code throughout

3:43

high school. And then you, you go into

3:45

college or university continuing to

3:47

program. And fortunately

3:50

for me, and like, honestly, half of my career

3:52

is just a lucky set of coincidences where I

3:54

spoke to the right person at the right time.

3:56

But I had a classmate that actually was like,

3:59

Eric, you're actually. pretty decent at this,

4:01

you should consider studying it and pursuing it

4:03

as a career. And if you don't like

4:05

it, you can always go back to studying

4:07

history. So that's what I did. I ended

4:10

up like going into programming and university. And

4:12

then there were a few times I almost

4:14

dropped out, like in my second year of

4:17

university, I almost quit and switched things because

4:19

I found it not my

4:21

style. And again, I

4:23

ended up that so in Canada, we have this

4:25

concept of co ops, I think they're paid internships

4:28

in the US. And I

4:30

had this fantastic co op with this amazing team.

4:32

And I just they kept me sticking with them.

4:34

And I had these incredible mentors. And then, yeah,

4:37

just one after the next, I ended

4:39

up in these amazing jobs with amazing

4:41

mentors. And they kept pushing me and

4:43

helping me be better and got me

4:45

excited about tech and kind

4:48

of stuck with me. And here I am

4:50

today still describing myself as maybe not the

4:53

typical programmer because I identify more as a

4:55

humanities kid than a science kid. But

4:58

I still really love technology and all the things

5:00

that you can do with it. There

5:02

is something kind of funny about the large

5:04

number of people who achieve titles such as

5:06

senior software engineer and Netlify who are still

5:08

on the fence of whether to call themselves

5:10

a comp sci person. Was

5:12

there ever a moment in your career when

5:14

you really started to think more of yourself

5:17

as comp sci and humanities rather than just

5:19

pure humanities? Oh, that's a

5:21

good question. I think I can't

5:23

say a specific moment per se. But

5:25

I remember when I

5:28

became more aware of the

5:30

so called soft skills, actually

5:33

being very helpful and impactful in my

5:35

day to day job. And

5:37

especially like now fast forward to now where a

5:40

lot of us are working in a remote world,

5:42

things like being a good

5:44

written and verbal communicator, being

5:46

able to take these concepts and break it down

5:48

and change the language depending on who you're chatting

5:51

with, whether that's marketing

5:53

products, fellow engineers, even

5:56

like I would argue in this like my geeky

5:58

little theory, I think that one One of

6:00

the things I enjoyed about history was

6:02

seeing how all these various pieces tied

6:04

together into certain events. And I think

6:06

that that kind of mindset for me

6:08

really applies well in software engineering as

6:10

well. So when I started

6:12

realizing these kind of parallels, I

6:15

felt more comfortable identifying as

6:17

a software engineer instead of being more

6:19

exclusively like this humanities kid that

6:21

just managed to sneak in with the cool

6:23

software engineers. For sure.

6:26

It almost feels on the nose to compare

6:28

history to software because we do so much

6:30

archaeological digging within software. But I think you're

6:32

absolutely right that a lot of the core

6:34

skills of explaining, of researching, of learning why

6:37

are really applicable in day-to-day development. I

6:39

love that. And at least when I

6:41

was still visiting my old university, often

6:44

in talking with other students that were

6:46

looking for their paid internships and some

6:48

folks had maybe taken

6:51

computer science as a minor

6:53

or as a side thing and they were thinking

6:55

of transitioning and not feeling it was for them.

6:57

I think when I highlighted these parallels

7:00

between whatever humanities or even a

7:02

science that maybe wasn't, it

7:05

didn't seem directly related to computer science but

7:07

showing how it could be, I think got

7:09

more people excited about the potential of working

7:12

in technology, maybe not necessarily their full-time

7:14

careers, by being

7:16

aware of the possibilities that they can bring that

7:18

into their fields of study. Let's

7:27

face it, no one likes writing or

7:29

maintaining documentation. But when you start a

7:31

technical project or pick up a new

7:33

task, missing information can cost you valuable

7:36

time. GITbook is a technical knowledge platform

7:38

that fills that information gap, making it

7:40

easy for your team to capture, maintain,

7:42

and find information from a single source

7:44

of truth. Here's a couple of examples.

7:46

With GITsync, you can set up a

7:48

two-way sync between your repo and GITbook,

7:50

so you can turn markdown files into

7:52

awesome user-friendly docs. And if you make

7:54

a change in your code base or

7:56

a technical writer updates the docs in GITbook,

7:58

the edit sync between the two automatically.

8:00

Or what about when you need to find something

8:02

in your knowledge base? Forget about searching,

8:04

just ask Gitbook AI. You'll get a neat

8:07

summarized answer sourced directly from your docs. Those

8:09

are just a few examples of what Gitbook

8:11

can do, but it has plenty more tricks

8:13

up its sleeve. So why not give it

8:15

a try? Head to gitbook.com to find out

8:18

more. Do

8:26

you have any one particular piece of

8:28

advice that you would want to impart on anyone who

8:30

is like you many years ago now listening to

8:32

the podcast? Oh, I

8:35

would probably say like don't feel like

8:37

you need, this isn't gonna be like a very

8:40

succinct piece of advice, but don't feel like you need to

8:42

focus really hard on the latest

8:44

frameworks or the latest technologies and

8:46

instead keep an open mind and

8:48

stay curious and maybe follow your

8:51

instincts on what interests you because you honestly

8:53

will never know what thing

8:55

you're interested in, how that might

8:58

tie into technology and you will be that

9:00

person who is uniquely positioned to be able to

9:02

draw that relationship together and maybe be able to do something

9:05

no one else can do. I think

9:07

that's the best thing I can give is just stay curious, stay

9:10

just enjoy what you're looking into because you know

9:12

careers are long and tech

9:14

is changing so quickly and I think just being exposed

9:16

to so many things is only good for you. That's

9:19

absolutely true and I think it's doubly true

9:21

given your career history. Have you ever actually

9:23

gone into games because it looks like you've had

9:25

quite a few areas of tech but

9:28

everything except that original. Never games,

9:30

no. I briefly dabbled

9:32

with the idea as a

9:34

side project doing a, I

9:37

always loved the game Snake in

9:39

high school like on you know the older cell phones

9:41

that that's one of the few games that you could

9:43

have and I love the idea of building a little

9:45

Nintendo version of Snake where Yoshi's the head of the

9:47

snake and the eggs pop out and so that was my

9:49

only like idea of like oh I can make a game

9:52

but after hearing about

9:54

some of the challenges of working in the

9:57

gaming industry I think when I was like

9:59

in university like the gamer gate had happened

10:01

and just seeing not just

10:03

the culture of it, but also just the amount

10:05

of hours that people are

10:07

working there. I didn't

10:09

want to dedicate my life to games. I

10:11

didn't love it that much, unfortunately, and like

10:15

nothing against people who love it, like good for

10:17

you. But I knew that that wasn't my path.

10:19

So yeah, I just never ended up working in

10:21

the gaming industry. Welcome

10:30

to a world where your reading

10:32

list becomes your listening playlist. Introducing

10:34

listenlater.net, the new service that turns

10:36

articles into podcasts. Have you

10:39

ever stumbled on an interesting article but

10:41

just didn't have the time to read?

10:43

Maybe you're driving, working out or just

10:45

relaxing at home. With listenlater.net, email us

10:47

the URL and voila, our AI transforms

10:49

it into a captivating podcast narrated by

10:51

a voice that you'll love listening to.

10:53

And that's not all. listenlater takes your

10:55

inbox to the next level. Send us

10:57

any email and we'll convert it into

10:59

your personal podcast. It even handles

11:01

text from attachments, whether it's work

11:03

documents, newsletters, or that long article

11:05

you've been meaning to read, we've

11:08

got you covered. Crossing language barriers?

11:10

No problem. listenlater.net now offers multilingual

11:12

translation and narration. Choose your preferred

11:14

language and enjoy a world of

11:16

content right in your ears. Join

11:18

the revolution of convenience and versatility.

11:20

listenlater where your articles, emails, and

11:22

documents come to life and audio

11:24

form. Visit listenlater.net to start your

11:26

free trial today. That's listenlater.net to

11:28

start your free trial and transform

11:30

articles into your personal podcast. So

11:40

you worked at previous companies, cover, bench-side, Way Financial.

11:42

What's the journey that you've taken and how did

11:44

you end up at Netlify? Yeah, so

11:46

I kind of I did that in reverse orders. So started with

11:49

small business software because at the time when

11:51

I joined, that was kind of my quote

11:53

unquote area of expertise because I'd worked at

11:55

another competitor to Way Financial actually based in

11:57

Toronto called Freshbox early on in my career.

12:01

And the reason I kind of,

12:03

I jumped a little bit in different domains is

12:05

a little bit because I like

12:08

just exploring all these different problem domains. I

12:10

like just learning new things. When

12:12

I started my career, I wanted to be truly full

12:14

stack. I really liked the idea of jumping all over

12:16

the place. I love that there's so many different

12:18

problems in both the front end and the back end,

12:21

and I felt early on in my career that based

12:23

on what was needed in my various teams,

12:26

it tended, full stack tended to mean more

12:28

front end. And so my

12:30

first two roles, way financial and bench side kind

12:32

of gravitated toward that, even though there was a

12:34

little bit of backend development. But at the point

12:36

where I joined lever, I really wanted to do

12:38

more backend development. It was kind of a sticking

12:40

point for me that my next role at that

12:42

time was going to be back and focused. And

12:45

that's how I ended up on the API integrations

12:47

team at lever. And then

12:49

while I was there, I remember feeling

12:51

like in a way I was kind of still somewhat

12:54

doing the same problems over and over again, it was

12:56

always like the same, like,

12:58

and I imagine a lot of listeners who have a few years

13:00

under their belt working in software, you start noticing that

13:02

you're solving the same problem over and over again for

13:04

the same types of customers. So

13:07

I was telling a friend about this one day and

13:09

he was like, you know, you should try and do,

13:11

you should maybe look at like the developer tooling space

13:13

because it's very different. That's not

13:15

going to be the stuff you've been dealing with so far.

13:17

You're going to be working with a lot of people that

13:19

are like you and you'll end up learning a lot more

13:21

than maybe you feel like you're learning right now. That's

13:24

very different. So that's when I started looking

13:26

into that space. And fortunately for me, Netlify

13:28

was hiring at the time. And

13:30

so here I am today, almost two years later.

13:32

That's great. How has Netlify been for you

13:34

enjoying it? Oh, it's been really great.

13:36

It's been, and I'm not saying this because

13:38

I currently work there. It has been one of the best places

13:40

I've worked at. I find that

13:44

the people that I'm working with are, there's

13:46

so many experts in different domains that

13:50

I, especially the first like eight months, I

13:52

felt like such a dummy where I was like, yeah,

13:54

I'm coming in as a senior engineer and then there's

13:56

these people who have been like, you know,

13:58

reverse engineering for the first time. frameworks for how long,

14:01

like Matt Kane and some people

14:03

who have been working, like they just know the ins

14:05

and outs of how like CDNs work and all this

14:07

other low level stuff that I just took for granted

14:09

about building on the web. So

14:11

it was very humbling when I joined because

14:14

I was learning all these things that I

14:16

just did not think about that are like

14:18

fundamental building blocks of web development. And

14:22

I don't know of many other places that

14:24

would be as supportive as Netlify has been

14:26

with allowing me to pursue things

14:28

that I've always wanted to pursue, but it took

14:30

a bit of time like conference speaking,

14:32

which is how you and I met Josh. So

14:34

being able to do that last year was an

14:36

incredible opportunity. I'm forever grateful that Netlify let me

14:38

do that. And then just the problems that I'm

14:40

solving there, I've been able to work in so

14:42

many different areas that it feels like it's a

14:44

constant challenge every day. And I haven't been bored

14:47

since I joined. Well, there you go.

14:49

Your problem was solved. Yes. Is

14:59

your code getting dragged down by joins and

15:01

long query times? The problem might be

15:03

your database. Try simplifying the complex with graphs.

15:05

A graph database lets you model data the

15:08

way it looks in the real world instead

15:10

of forcing it into rows and columns. Stop

15:13

asking relational databases to do more than they

15:15

were made for. Graphs work

15:17

well for use cases with loss of

15:19

data connections like supply chain, fraud detection,

15:21

real time analytics, and gen AI. With

15:24

Neo4j, you can code in your favorite

15:26

programming language and against any driver. Plus

15:29

it's easy to integrate into

15:31

your tech stack. People are

15:33

solving some of the world's

15:35

biggest problems with graphs. Now

15:37

it's your turn. Visit neo4j.com/developer

15:40

to get started. That's neo4j.com/developer.

15:49

I want to jump into one of those areas

15:51

a bit because you've given talks, quite a few

15:53

talks in fact, about the edge. And

15:56

for some, the edge is still kind of a

15:58

nebulous term. Could you define for us? what

16:00

the edge is when it comes to computing. So

16:02

I'm happy to give my definition of it and it's the

16:04

best one I was able to come up with but I

16:07

also give the one that I've seen floating around the internet.

16:09

So the one floating around on the internet that I've seen

16:11

before, it's been around since about the 80s and

16:13

the edge is sometimes referred

16:16

to as the network edge. So for those who work

16:18

in an enterprise space, the network

16:20

edge is probably a term that you're

16:22

familiar with and that's where enterprise networks connect to

16:24

third party services. So it's

16:26

still a valid use of the term today

16:29

but when we're talking about the edge in

16:31

its modern context and we're seeing like Netlify

16:33

edge functions and Vercel edge functions when CloudFiller

16:35

workers come into the conversation, they're

16:38

referring to code and

16:41

locations that are executed much

16:43

closer to users than they maybe have historically

16:45

been. I like to joke

16:47

that on-prem is becoming a little bit

16:49

fashionable again in the form of edge. That's not

16:51

entirely accurate but to some extent it's a little

16:53

bit true because the edge

16:55

is entirely context dependent. The edge

16:58

depending on your these case could be the

17:00

phone that you hold in your hand for a

17:02

mobile application where the application is

17:04

maybe running some code or storing some

17:06

data on your phone as opposed to just storing everything

17:08

in a server far away or

17:11

it could be a webpage that

17:13

is caching stuff at

17:15

servers that are located by cell towers instead

17:17

of at a very distant server farm in

17:20

North Virginia or in Montreal, Canada. So

17:22

it is a very nebulous term and

17:25

the best way I can describe

17:27

it is whatever is closest to

17:29

your user depending on the

17:31

problem that you're solving or the use case that

17:33

you're dealing with. So

17:36

we have the umbrella term for edge which is as

17:38

you're describing, putting the logic, putting the

17:40

code in locations much closer to users

17:43

and you've listed a few of those

17:45

locations. The phone, the network edge closer

17:47

to say the cell tower, perhaps the

17:49

data compute if it's actually necessary to

17:51

be near there. If I were

17:54

a large enterprise with 9,001 different

17:56

types of

17:58

data and compute any data. happen? How do I

18:01

know which place to put which part of my

18:03

stack or part of my logic? Oh,

18:05

that's a great question. And I hate to

18:07

be that senior software engineer. That's like, it

18:09

really depends. So I've, in

18:11

my research for this, I've read

18:14

about larger enterprises like FedEx and

18:16

Walmart, the edge being their own

18:18

warehouses, and running operations from there.

18:21

And I'm not exactly sure what those

18:23

operations are necessarily. But that

18:25

is like one example of it. If

18:28

you're looking at something like, let's

18:30

say you're just, you have a

18:32

web application, you're modifying request to

18:35

response headers, or applying, let's say,

18:38

geo fencing, like you don't want to allow some

18:40

people in certain areas of the world, access

18:43

some content because of licensing agreements,

18:46

then you might be looking at data centers

18:48

that are run by your cloud provider of

18:50

choice, whether that's AWS, Google Cloud Platform or

18:52

Microsoft Azure. So yeah,

18:55

if you've got like 9001 data points, it's

18:57

hard to say necessarily what that looks like for

18:59

you, because it depends on the industry that you're

19:01

working in. Heck, I even remember speaking

19:04

with someone from a telecom company in

19:06

Australia that I'm talking to farmers and

19:08

like, there's like edge related to that. And I

19:10

wish I got a chance to talk to that person before

19:12

I hopped on this call, because I'm very fascinated that

19:15

you can imagine that the edge for

19:17

them might be the various

19:20

vehicles, it could be the warehouses that

19:23

they're storing stuff in, it

19:25

could be a lot of things. I

19:27

think one of the really common use cases that

19:29

gets brought up is edge functions. Can

19:31

you describe or define for us what

19:34

an edge function is in terms of,

19:36

say Netlify or typical web apps and

19:38

websites? Yeah, sure. So

19:40

edge functions are just imagine your

19:42

standard, I guess serverless

19:44

function, but rather than having it run at

19:46

a data center in an availability

19:49

zone, which is what you imagine being

19:51

the stereotypical data server farms. These

19:53

are functions that are run at servers

19:56

that are optimized to run

19:58

your code very, very quickly. they

20:01

tend to have much more

20:04

constrained hardware capabilities than the

20:06

standard serverless function, but they are run

20:08

physically much closer to your users, then

20:11

you imagine running that same function

20:13

in a in a distant server far away.

20:16

So from an end user perspective, what

20:19

is actually different or behaviorally different about

20:21

these edge servers compared to say traditional

20:23

Azure or AWS and Google Cloud hosted

20:26

cloud solutions? Well as far as

20:28

developers that are building stuff on

20:30

the edge, a lot feels

20:32

the same. There's some constraints

20:35

that are applied that involve let's say

20:37

like more limited memory, lower CPU time,

20:39

which is and I always need to

20:41

refresh my memory when I look up

20:43

CPU time versus wall time, CPU time

20:45

referring to the number of operations

20:47

you can do as opposed to like literally seconds

20:49

taking away on a clock. So there

20:51

are some some hardware constraints,

20:54

but generally speaking unless you're doing

20:56

something particularly intensive, moving

20:58

functionality to the edge generally feels the same

21:00

as if you were just writing normal functionality

21:03

in a data center, whether that's like normal

21:05

serverless functions or an edge function. Walking

21:07

through an example use case then, suppose that

21:10

I want to change some

21:12

text on a page for A-B experiments and I want

21:14

it to be very very fast and in

21:16

theory stretch goal it would be lovely

21:18

if I could base that A-B split

21:20

for people if they are logged in

21:22

not anonymous on their user data in

21:24

my old user data service. How

21:27

would that start to look like in

21:29

these new edge environments? That's

21:31

a great question. So assuming that the

21:33

user is already logged in and you're rendering

21:35

I guess custom content to this person, what

21:38

that might look like is and the

21:40

example I like to use is let's

21:43

say transitioning from a server-side rendered

21:45

page because I work in the web space

21:48

so that's what I'm familiar with.

21:50

So you have a server-side rendered page that

21:52

previously would maybe take the data that you

21:54

needed conditionally render the content and send it

21:56

back to the user and maybe you cache

21:58

that on the user's browser. When

22:00

you use the edge, what you can do

22:02

instead is you could take the common elements

22:04

of that page and make it static. So

22:07

now you can cache that at the CDN.

22:09

So in the way the CDN is

22:11

the edge, but it's just focused on storage,

22:13

whereas the edge is storage and compute capabilities.

22:17

So you've got the static value. And then

22:19

at the edge, what you can do is

22:21

basically whatever conditions you need to apply. So

22:23

using that user as an example, you know,

22:25

you want to show a certain

22:28

piece of content or some promotional item or

22:31

whatever your use case is, what you can

22:33

do is you can take the response, the

22:35

static response, and rewrite the HTML,

22:38

maybe update props if you're

22:40

using a React framework or whatever the

22:42

equivalent is in your framework of

22:44

choice. And then you can return

22:46

that response to the user. And what's also great, and

22:48

as I mentioned before, the edge also allows you to

22:51

cache stuff at the edge as well. So

22:53

you can cache that response going forward as

22:56

well for even faster response times going forward.

22:59

So if I were to try

23:01

to make that caching key dynamic,

23:04

could I then make it

23:06

completely cached for all anonymous users for speed's

23:08

sake? You could, yeah. And like,

23:10

if we're talking something generalized like a homepage,

23:12

that's very straightforward to do. If

23:15

you're doing something that

23:18

is highly personalizable, let's say you can

23:20

cache it, but your cache might not

23:22

be as long lived as you would

23:24

maybe ideally want it to be, just

23:27

because the cache size available

23:29

at the edge is much smaller than maybe what you

23:31

might have available in an AZ. That

23:34

being said, there's ways around

23:36

that. The talk that you mentioned before,

23:38

I referenced that there are regional edge

23:40

caches available, which they give you

23:43

a little bit of wiggle room so that you can

23:45

refer to these edge caches before you have to go

23:47

all the way to a distant AZ. So

23:50

there's that available to you. But generally

23:52

speaking, like, yeah, you can cache the personalized

23:54

stuff at the edge, but just be warned it

23:56

might not be as long lived as you would

23:58

hope it would be. Sure.

24:02

That's cool. That makes sense. I want

24:04

to switch topics a little bit because

24:06

you mentioned working on a feature a

24:08

bit back and that feature is of

24:10

interest. Private integrations. What are private integrations

24:12

when it comes to Netlify? Yeah,

24:14

sure. Netlify has always

24:17

had, or they've had for a very long time, this

24:19

concept of integrations. It's mainly

24:21

focused on hooking into

24:23

the build system. What

24:26

private integrations is, we're

24:29

trying to allow folks to do

24:32

much more on the Netlify platform than

24:34

just hooking into build events. We're trying

24:36

to make it easier for external developers

24:38

to maybe create custom tooling that leverages

24:40

more of Netlify's products, including Netlify functions,

24:43

the build events or the build hooks that I

24:45

mentioned before, and maybe going forward

24:47

other stuff as well. Private

24:50

integrations allows folks to package whatever custom

24:53

repeatable things that they need for their

24:55

sites, make an integration that

24:57

is available only to their team, and

24:59

be able to distribute it to all users

25:01

that use their Netlify team. We

25:04

think it's going to be pretty exciting for folks,

25:06

but maybe just have stuff that they're sick and

25:08

tired of everyone having to just run MPMI for

25:10

this one specific package. Updates are

25:12

just rolled out a lot more easily with the

25:15

use of something like private integrations. Do

25:17

you have an example of an update or a

25:19

set of things that someone would want to package

25:21

into an integration? Yeah, so the

25:23

first integrations that we've said, this is a public

25:26

integration, not private, but one of the first things

25:28

that we switched over was Sentry.

25:31

We have two different Sentry integrations and we

25:33

package them into one. But

25:35

something that we're, let's

25:37

say someone wanted to extend that further. Let's

25:39

say there's another feature of Sentry that's not

25:42

available in there, they don't want to wait,

25:44

and they also have some extra stuff that

25:46

they're doing on the side, maybe because they're

25:48

doing a migration between Bugsnag and Sentry. Someone

25:52

could package a private integration that

25:55

maybe sends events that they need to send to both

25:57

parties while they're in the middle of that transition. and

26:00

then allow people to install it on their sites as

26:02

they need it. I can see

26:04

this being the big time saver, as you

26:06

mentioned, especially for larger teams, where their entire

26:08

teams are sections of dedicated to helping other

26:11

teams spin up new products or services. Yeah,

26:13

yeah. That's the hope, anyway, is just kind of

26:16

remove a lot of the toil that we

26:18

sometimes deal with. Let's hold in on

26:20

that in the general sense. The industry

26:22

we're in programming always has these cycles

26:24

come through that, in retrospect, seem obvious,

26:26

but in foresight are hard to detect.

26:28

We keep making things that were difficult

26:30

easier. We're automating, we're finding better ways

26:32

to do things, and we've already touched

26:34

on two points for that. The edge,

26:36

which makes it easier to put stuff

26:38

closer to users and have more finely

26:40

tuned computing, and then things like integrations,

26:42

which quite a few companies are doing

26:44

something like the ability to package little

26:46

reusable chunks of logic or code. Do

26:49

you have any other particular areas in Netlify you're

26:51

excited about on that trend of making things

26:53

easier for people? Oh, personally,

26:56

and I know this isn't like

26:58

a Netlify roadmap item, but for

27:01

me personally, I want to make

27:03

it really easy for folks to

27:05

create more environmentally conventional software is the best

27:08

way I can describe it. I

27:10

saw Sarah Bergman do a talk at QCon London,

27:12

I think it was last year, and she talked

27:14

about the Green Software Foundation and what they're pushing,

27:16

and there were other talks like it, but I

27:20

got really motivated when I realized

27:22

that I work in a space

27:24

where developers are interacting with us

27:26

all the time, and

27:28

we're helping them build software

27:30

ideally faster, easier, more

27:33

bug free, and at least

27:35

for me, I'm now having, I've

27:38

seen the light a little bit where it's like, yeah, this is

27:40

a huge problem. I'm trying my best to keep

27:42

my eye out for opportunities where

27:45

I can highlight some of the things people can do to

27:49

improve the, I

27:51

guess, almost the energy efficiency of their software

27:54

or at least highlight things for

27:56

people to be mindful of as they're building

27:58

software so that we can try the

28:00

carbon footprint of the

28:02

things that we build and that people are using every day. Do

28:05

you have an example of a good technique

28:07

that can help folks build more efficient green

28:09

software? Well, I'm going to sell

28:11

the edge on this right away. The

28:14

edge is one area where people can

28:16

look to adopt it for maybe some

28:18

high traffic, but very focused pieces of

28:20

functionality. So I mentioned before about setting

28:22

requests and response headers, maybe split testing

28:24

is another great example, setting session cookies.

28:26

They're all things that we

28:28

do on thousands, hundreds of

28:30

thousands, sometimes millions of

28:32

requests. And even just

28:34

like small little things that move to the

28:37

edge. And if you're caching very popular requests

28:39

at the edge, the reduced energy

28:41

that's consumed from transmitting that data can

28:43

add up to something really meaningful. And

28:46

I know generally measuring these in

28:49

more concrete terms can be a bit

28:51

challenging because you've got geographic considerations, you've

28:53

got machines that people are using to make

28:55

the requests. You've got cloud providers

28:57

that have various pieces of hardware running that all

29:00

tie into this. And so I know the hard data

29:02

is sometimes a little bit hard to come by. But

29:04

generally speaking, it's safe to say that the

29:07

most environmentally friendly thing is to not run

29:09

things if you can at all avoid it,

29:12

or reduce the amount of machines that

29:15

you're running. And if you have to run these things,

29:17

make sure that they're fulfilling it as

29:20

fast as possible or reduce the amount

29:22

of machines needed to fulfill that overall request.

29:24

And so that's where the edge can be

29:26

kind of helpful as it can reduce that

29:28

need maybe for bigger databases potentially on your

29:30

use case, reducing the distance that

29:32

the request has to travel, which means not just better

29:35

performance for your users, but a reduced

29:37

environmental footprint because the resources that are

29:39

making requests aren't waiting idly for as

29:41

long and consuming electricity, just waiting for

29:43

a response to come back. So

29:45

it adds up to little things. But I think that's one thing

29:47

that people can do to at least

29:49

start moving in that direction. And hey, you get

29:52

better performance out of that, right? Which is win-wins

29:54

all around. That's a win for

29:56

the users win for whoever has to foot the bill

29:58

for your servers. Exactly. It's

30:01

funny, there's been a lot of talk about

30:03

accessibility, about how there is a concept of

30:05

this electronic curb cut, things that were maybe

30:07

originally intended for one segment of users, for

30:10

physical curbs that was folks in wheelchairs, and

30:12

are actually also very beneficial for other segments,

30:14

such as people with a lot of shopping

30:17

carts or wheel strollers. And

30:19

then what you've just brought up strikes me as a

30:21

parallel to that, where one avenue of

30:23

exploration could be trying to make more green

30:25

software for the very noble good cause of

30:28

destroying the planet slightly less. But also

30:30

there is the really strong business use case

30:32

of paying less for servers and giving it

30:34

better experience for users. It's kind of fortuitous

30:36

that those all kind of blend together and

30:39

work well. Yeah, and I think it's

30:41

worth calling out too, like just from

30:43

an accessibility standpoint, I think one

30:45

thing that we do need to

30:47

note is depending on, especially for bigger companies that

30:49

are operating in different places all over the world,

30:52

I think one thing that especially folks

30:54

like me living in North America with

30:56

pretty reliable internet access, that's not always

30:59

true for a lot of people. And

31:01

something like the edge where you focus on

31:03

running things as close to the user as

31:06

possible in a way that they don't need

31:08

to rely on constant internet access for the

31:10

functionality that they need to work

31:13

reliably. I think that

31:15

that's something that is worth keeping in

31:17

mind, because yeah, depending on who your

31:19

users are, your business product may fail

31:22

if your users are folks

31:24

that live in areas with unreliable internet.

31:27

And so I think the edge can help at

31:29

least make some software much more accessible than it

31:31

has been previously. Let's talk

31:33

about that a little bit. Suppose I'm

31:35

in rural farmland or a city with

31:38

overworked overloaded ISPs. What

31:40

about the edge makes it so that I would

31:42

be able to better use a company's services and

31:44

ideally also pay for those services as a user?

31:47

Yeah, so there are some design patterns

31:49

out there that leverage this a little bit.

31:51

And there's also some products out there that

31:53

they are a form of cloud computing on

31:56

the edge, but they're targeted toward people that

31:58

are entirely remote. talking about

32:00

the design pattern first, there's,

32:03

I saw this in a talk, his name

32:05

was Carl's Fair, I think, I hope I pronounced his name

32:07

right. If you're, if you're listening, Carl, that

32:09

talked about offline first architectures. So

32:11

the idea being that you have

32:13

this device or you have the

32:15

server that all these other,

32:17

I guess, nodes, so other applications, other

32:20

machines are making a request to that

32:22

are updating data. And the

32:24

requests aren't immediately going to the

32:26

remote or to the AZ data

32:28

center that's storing the majority of

32:30

data. Instead, it happens every

32:32

so often, or when the network

32:35

becomes available again. So that

32:37

is one approach where the edge can

32:40

help keep things accessible. And let's say

32:42

you're overloaded ISP example, where you just

32:44

wait until something becomes available, you try

32:46

a few times, and then eventually it gets going. But

32:48

at least the people that need a

32:50

response now are able to continue what

32:53

they need to be doing. The

32:55

other bit with hardware, and this

32:57

like blew my mind when I found out about it, I

32:59

didn't even know about it until someone that I used to

33:01

work with who worked at AWS briefly told me about it.

33:04

There's devices out there that

33:06

in this case, AWS snowball that

33:09

it gets shipped to you and you just like hook

33:11

it up to your servers and it gives you cloud

33:13

computes, like right on site. And

33:15

so you can keep it around to run

33:18

cloud compute functionality, but you can also use

33:20

it in situations where you maybe need to

33:22

migrate a lot of data and you're a

33:24

bit constrained by the bandwidth and being able

33:26

to upload the data fast enough, given your

33:29

intermittent or non-existent internet access. And

33:31

so in such a case, you would just load it

33:33

onto the device, ship it back and it gets uploaded

33:35

to the cloud for you. And there's much more like

33:38

scaled up versions of that storage thing. I think

33:40

the one that most people know about is like

33:42

snowmobile or something where it's the giant transport truck

33:44

that gets driven out. But snowball

33:46

gives you compute capabilities, not just storage. So

33:49

it's UPS for your data. Basically, I know

33:51

there's some joke on the internet around like

33:54

NASA and cassettes in a station wagon or

33:56

something that it's kind of that problem. That's

33:59

the funniest thing. We've gotten so advanced at

34:01

storing our data that we can now ship

34:03

exabytes of it manually

34:05

to your needs. Exactly. I

34:09

love it. So, green software, a highly

34:11

efficient software, sustainable software, this is a relatively newer

34:13

area and at least public discourse, although I know

34:15

quite a few folks have been working on this

34:17

for a while. Is there some

34:19

kind of sustainability guideline from a larger consortium that

34:22

we can refer to for how to build this

34:24

kind of software? Yeah, I

34:26

actually found out, I think it was

34:28

in last September. There was

34:30

the W3C published these web

34:32

sustainability guidelines that people can refer to

34:35

and they cover sustainability from

34:37

a number of different angles. Accessibility

34:39

is one of those components, environmental is another,

34:42

social equity is another and that doesn't cover

34:44

the whole list obviously, but that's one

34:46

document that's pretty easy to digest. It's

34:49

not, when I read it, it wasn't overly dry.

34:52

Like I know some specifications can go on for a bit,

34:54

but these were very short and to the point and very

34:56

helpful. And although it's not a

34:58

spec, I would encourage people to maybe take

35:00

a look at the Green Software Foundation that

35:02

I mentioned earlier because they do have design

35:05

patterns and resources that people can refer

35:07

to that also can help guide people

35:09

toward making more efficient software

35:11

that also will end up producing your

35:13

spend more than likely. That's

35:16

great. I want

35:18

to end the interview with a few fun questions.

35:20

We started talking about your dog. Could you just

35:22

give us a little more information on your dog?

35:25

Oh yeah, I would love to. So

35:28

her name is Ada. She is not

35:30

quite two years old yet and she's

35:32

one of those poodle mixes. I know

35:34

they're quite popular. She's

35:36

like Bernice Mounted Dog Poodle Makes it,

35:38

honestly. She looks all poodle. She's got

35:40

legs for days. And

35:42

yeah, she is a joy. She likes to sit

35:44

at my desk when I'm programming and somehow

35:46

get involved in all my meetings. And

35:49

yeah, she's just in general a very happy bean. If

35:51

folks want me to post more pictures on Twitter, you're going

35:53

to have to ping me for them. But

35:56

she also has her own Instagram if people really if

35:58

they want to follow her. It's like. data.beans with

36:00

a Z. Completely or

36:03

mostly unrelated, you have something

36:05

called the 418. What is the

36:07

418? Ooh, I'm so

36:09

happy you asked me about this. So the 418 and

36:11

for the folks who are very familiar with

36:13

the HTTP status codes is like that teapots

36:15

one, which I thought was a nice fun one to

36:18

name Azine, which is what this is after. The

36:20

418 came out of this idea that I've been

36:22

kicking around in the back of my head early

36:24

last year that I told a

36:27

friend of mine, Christina Berger, who is my co-founder in

36:29

this, about this idea where

36:32

I wanted to capture that

36:35

excited, inspired feeling that I was

36:37

getting from interacting with so many

36:39

awesome people at conferences, where

36:41

we're not just trading ideas about,

36:45

you know, what cool things technology is doing

36:47

in our lives, but also just

36:49

the fun hobbies that we were having and how

36:51

they may be, whether or not they tied into

36:53

technology, but just generally just having fellow

36:55

tech people that we just were

36:58

excited about different things in life. And

37:01

in general, like it tied into this feeling

37:03

to where the traditional tech meetups didn't really

37:05

feel like my place. Like I just never

37:07

felt like I fit in. And

37:11

I pitched this idea to Christina, like,

37:13

Hey, what if we take a page

37:15

out of this playbook that goes

37:17

back to the, at least mine exposure that

37:19

was the nineties with the riot girl movement,

37:21

I had read a book a few years

37:23

ago about how zines were part of that

37:25

culture with trading ideas

37:28

and art and building a

37:30

community across geographic distances. And

37:33

why don't we do a essentially attack version

37:35

of that. And the four

37:37

18 was born. So we're actually

37:39

like really, really close to putting out

37:41

our first issue. We got a couple of

37:43

features from some fantastic people

37:45

in the industry. And

37:48

we also added a few fun things in there. I

37:50

even built a crossword puzzle for this, which I was

37:52

like, so excited to do. And I hope that the

37:54

people who do do it have a good time with

37:56

that. So I think we need to clarify

37:58

what is a zine and is it. not pronounced

38:00

design. I'm gonna say zine. I'm not

38:02

going to get into a holy war of whether it's a zine

38:05

or zine. The zine is a much

38:07

more so you imagine a magazine is super glossy.

38:10

It's professional. It's got like, you know, a team

38:12

of 20 people or so working on it. Zine

38:14

is a much more small scale,

38:16

homespun version of that. It's often

38:19

people who are artists that

38:21

are maybe trying to you know, show a

38:23

story or something and they're drawing it out

38:25

themselves or you know, way back in the

38:27

day, some people would like cut out magazine

38:29

things, glue stick them on paper and then Xerox

38:31

and send it off to people. And

38:34

they also have some roots in

38:36

exchanging, you know, really ambitious

38:38

ideas, stuff that maybe wouldn't get published in

38:40

mainstream publications. And they have a really fascinating

38:42

history to them where I think they date

38:44

back like as early as the 1940s. And

38:48

they provide a picture for people that do study

38:50

history of what life is like in different communities,

38:52

because this was the way that they communicated was

38:54

maybe to the circulation of zines.

38:57

And so, yeah, they're everything

38:59

from like, you know, art

39:02

projects to political statements to

39:04

just sharing a love of a particular niche

39:07

interest like gardening, it can be so many

39:09

things. So honestly, if people

39:11

wanted like just a sense of just how many

39:13

there are in the world, go to like XZ

39:15

zine category, because there's so many different things out

39:18

there. And that's like just touching the surface. So

39:20

the 418 is a zine about tech

39:23

and adjacent areas? Yeah,

39:26

so I guess our slogan on is like

39:28

thoughts on tea and tech, although we

39:30

don't focus too much on tea. But our general

39:33

theme is what are the things that we would

39:35

talk about with our friends over tea? What

39:37

would make us excited? What would we have

39:39

fun doing with our friends? And that

39:42

could be, you know, talking

39:44

about this new recipe we're trying

39:46

or working on a puzzle together, which I

39:48

think that might be a very Canadian thing.

39:50

I don't know. There's like this trope of

39:52

people who I don't have a cottage, but

39:54

for people who do have cottages, they go

39:56

up in the summer and they have this

39:58

big newspaper crossroads that everyone works on over

40:00

the course of the weekend. Yeah,

40:03

so I don't want to spoil too much of what we've

40:05

got in there, but it's meant to be

40:07

things that you would do with friends and

40:09

exchanging ideas that we get really excited about

40:11

with tech, that like, that keeps us excited

40:13

about all the things that are happening in

40:15

the industry. Because it's not necessarily

40:17

the newest framework, but it could be how

40:19

tech is being applied in a particular area

40:22

of our lives. Well, that

40:25

might have invalidated my next and last area of

40:27

question, but I want to talk to you a little bit about that,

40:29

what's coming next in tech area. You've looked

40:32

at and worked with a few different areas,

40:34

more recently, Netlify, Edge, Private Integrations, and we've

40:36

talked a bit about how things are making

40:38

it easier for folks to develop. What excites

40:40

you about the next five to 10 years

40:43

in tech? And where do you see your

40:45

personal areas going with that? Oh,

40:47

that's a hard question. I sometimes don't even

40:49

know what I'm doing next year, sometimes in

40:51

tech, because it changes so quickly. I

40:54

think at least, I can't speak

40:56

to 10 years, but at least for the next five

40:59

years, I am

41:01

really excited to see the focus

41:05

on the impact of software that we're starting to see.

41:08

And there's just like with

41:10

AI and things being able to run much

41:13

closer to people, a much more

41:15

powerful hardware. I imagine, I

41:17

can't even imagine the different

41:20

things that are gonna come out as a result

41:22

of all that power basically being available to us.

41:26

At least for me, I'd love to continue

41:28

working with developers and

41:31

chase my newfound passion to like figuring out

41:33

how to maybe push green

41:35

tech forward, because I think

41:37

it's super important, especially right now. And

41:40

yeah, I hope I get the chance to make an impact

41:42

there over the coming years. Well, that's

41:44

an excellent note to close out on. Erica, this

41:46

has been fun. Is there anything else you would

41:48

want to cover or mention before we hang up?

41:51

No, I think that's it. Thank you so much again

41:53

for having me on the show. It's been a

41:55

pleasure chatting with you. Cool. Well,

41:57

with that, this is Josh with Software Engineering Daily. Thanks.

42:00

and benefit

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features