Luc van Donkersgoed: Handling Billions of Events at PostNL, The 12 AWS Cert Club, and Becoming an AWS Hero
Luc joins Adam to discuss his recent talk on event-driven architecture at PostNL where they're handling billions of events each month, what earning all twelve AWS certifications takes, and his recent recognition as an AWS Hero.
Luc is a geek at heart, solutions architect, software developer, and entrepreneur. He is fascinated by bleeding edge technology. When he is not designing and building powerful applications on AWS, you can probably find him sharing knowledge in blogs, articles, videos, conferences, training sessions, and Twitter.
Luc is currently employed as a lead engineer at PostNL, the Dutch national postal service. There he designs and builds serverless architectures which process millions of parcels and billions of events each month.
Adam: Hey everyone. Welcome to AWS FM, a live audio show with guests from around the AWS community. I'm your host, Adam Elmore, and today, I'm joined by Luc van Donkersgoed. Hi Luc.
Luc: Hey Adam, thanks for having me.
Adam: Yeah, thanks for joining. So I want to start, I've started most episodes like this, just with your story, mostly getting into the cloud. If you could just talk about your background and how you came into AWS.
Luc: Yeah, sure. So I studied technical computer sciences because I've always been into computers. But I also really wanted to know how that works from the inside, right? And technical computer sciences is, well, as much on the inside as you can get. And it was actually a part of electrical engineering in my school. So I was really onto processor design and software developing in assembly, and in C and and up to Java.
Luc: But I always felt during my studies that, well, it might be a bit of a boring area as in the kind of people, the kind of businesses that you end up working with. So even during my studies, I started my own company building iPhone apps. And we did a lot of sporting apps. So we did live sports for cycling, and field hockey, and the Olympic games. And that actually needed a lot of data. So this is like 2009 or so.
Luc: And there wasn't a lot of cloud yet. So in that time, when you had web services, you just bought those servers at Dell or whatever, then you put them in a rack, you have to do the cabling and the routing and everything yourself. So I did that for quite a while for some big apps as well. And then at some point that company got acquired and I got into a new job and I switched to a AWS consulting company where I actually didn't have much AWS experience yet, but I had a lot of experience in software development and the physical hosting, the private cloud.
Luc: And it really just, it all fell into place when I first got introduced to AWS because now I got all these resources that I can programmatically define.
Luc: And that I can scale up and scale out, and I can do my networking virtually and so on. [crosstalk 00:02:36].
Adam: And It's not out of your closet.
Luc: Exactly. And I don't have to drive to the data center in the middle of the night.
Luc: So it's really been the perfect crossover between software development and hosting for me. And those were my two passions. So that's how I got into to AWS.
Adam: Yeah. Wow. So there's like four different places I want to jump off there, but I'm going to have to hold back. I guess, first, I actually in college, I got into computers because I decided I needed to figure out what I was going to do. And I was set on being one of the people that worked at Intel because of those commercials where they're like in the full surgical suit where they work on the processors. I thought that looked so cool. That's how I got into computers. So the electrical engineering thing was going to be my major. I ended up doing computer science, what we call computer science here in the US. I don't know if technical computer science is something different, but just have some common ground there.
Adam: I also did a thing with sports. So yeah, I feel like we have... And I started my career in 2009. Did you start your career in 2009? Is that what you said?
Luc: Yeah, I did. Yeah.
Adam: So we're the same person is what I'm trying to say. So I actually first learned of you on Twitter, started following you after I saw your tweet that you achieved all 12 AWS certifications. The other thing we share in common. And I guess I want to start there kind of questions I've gotten asked a lot through that. Just kind of get your answers to these. So I guess the first, why? Why did you achieve all 12 certifications?
Luc: Okay. So the first one that got me started was I joined this consulting company, and they also did managed services on AWS. And they said, if you're going to touch production systems of our clients, you need to be at least associate certified. So it was simply a requirement. So that got me in to the first. And then I didn't do any certifications for half a year because while new job, you're just getting used to everything, there's not much time for learning. Or not that kind of learning anyway.
Luc: And well, I actually grew into that job pretty quickly. So first I was a engineer. Then I was senior engineer. At some point there was team lead. And my thing has always been to educate others. So I'm really enthusiastic about the cloud, right?
Luc: And I really want to explain to others why they should be too. And I think the best way to learn myself is to teach others. And if I'm going to tell you how to do databases, what's going to help me a lot too do we have the database [inaudible 00:05:22], right?
Adam: Yeah. Yeah, yeah.
Luc: Because I got all the contacts. So that's been my main drive.
Adam: So sort of like the forced learning kind of aspects of it, it pushes you down paths that you wanted to learn and you wanted to teach. That makes sense. What about the hardest? That's one of the most common questions I get was which one was the hardest?
Luc: Well, it's definitely the machine learning one, machine learning specialty. It's just so different from the others.
Adam: Yeah. And it's not a topic I had any experience with, so that, definitely the studying for that was all new stuff. I guess I've not said though. I've generally said the advanced networking, just because to me that one was the next level. Once I started with that one, I felt like I wasn't sure if I wanted to keep going.
Luc: [crosstalk 00:06:11] definitely to talk to. Yeah.
Adam: Yeah. And then I guess, what was your favorite to prepare for, and why was it the Alexa specialty?
Luc: Okay. So between you and I, the Alexa specialty, I absolutely agree that they discontinued that one. It's just...
Adam: Yeah, same.
Luc: It's a bullshit exam.
Adam: It's just not... It's like one of these things is not like the others.
Luc: No, you're doing all this hardcore studying, and then there's this, I don't know, Peppa Pig kind of [crosstalk 00:06:47]. It's really weird.
Adam: Yeah. I mean, Alexa skills, that's a whole separate thing that's great. I just don't think it sort of is that related to AWS. I mean, there are aspects of, I guess you get into Lambda functions and stuff, but...
Luc: It's more like a no-code environment, right? Everything's done for you in the end. And all the other certifications are really deep into the technological part.
Adam: Yep. So I think I asked you, do you have opinions on the most important? I get that question a lot too. What's the most important if I were going to take one?
Luc: Well, if you don't have any, then the solutions architect associate. If you would choose from the entire range, it's solutions architect professional.
Adam: Yeah, that's generally what I've said. I feel like I've seen more posts out there about the weight of the solutions architect professional in terms of industry weight. But that's my next question, I guess. What's your view on just IT certifications in general? Their sort of place, the value that they bring?
Luc: Yeah. So I have two perspectives on this. So I worked in a consulting company for four years, and I think there it's really important because it's just an easy way to show this is what I can do, and this is what I know, and this is the level I'm at. If you're a 12 time certified, or if you're a professional certified, that just automatically sets you apart from the associates certified people.
Luc: Well, that allows, in my case, my company to ask a bit more for me. And I guess as a freelancer it's about the same. So in consulting, I think they have a lot of value just as a measurement of skill or experience. But now I'm at an AWS customer and we do everything serverless. And there's no requirements to get certifications at all because why would we learn about RDS, or EC2, or Kubernetes if we're not using it?
Adam: Yeah, that is the dichotomy. In preparing for all those exams, my real-world experience with AWS had very little bearing because mostly I'm working with API gateway and AppSync and building out full stack stuff on AWS. So I'm not using most of the stuff in those tests. I thought it was pretty surprising actually that there's not really much on the serverless front in any of the certs. I don't think I had a single AppSync question, which is one of my favorites here.
Luc: No, of course there's Lambda, there's S3 and DynamoDB also in the newer versions of the solutions architect. But I would really like to have a serverless specialty in there. And that's one that I would also promote within my company now.
Adam: Yeah, absolutely. I'd love to be encouraging people to learn and get something out of it with serv... The path right now learning serverless, you don't have that certification path that kind of forces the learning and gives you like a framework. It'd be nice. So maybe that comes. I think they just... Did they just announce a new one? The SAP?
Adam: Did you see that?
Luc: Yeah. So I'm actually not going to get that one.
Adam: Yeah. That was my next question. Are you going to keep renewing with having all 12? Do you think you'll keep those renewed?
Luc: No, I think I'll renew the solution architect and the professional ones, or both of the professional ones, maybe the security specialty. But for the other ones, I think I've proven my point by getting all 12, right? Nobody's going to ask, hey, are you really sure about AWS?
Adam: It was more parlor trick for me, I think. It was like I got the badge of honor and now I'm done. But a very important question. So I saw somebody yesterday tweet that they were now 12 times certified. They just got their 12th. I don't know if it was the SAP or what because maybe they had the Alexa. Anyway. There's like a small club of people that have these and I've never been invited to the discord, I don't know where I can send my dues.
Luc: You haven't?
Adam: Like, is your community... No, are you a part of something? Because I feel like I'm missing out.
Luc: You don't know about this? You don't know about the 12 Cert Club?
Adam: Oh my word, is there a really one?
Luc: No, no there isn't.
Adam: Okay. Because I really felt like there must be some place you people are hanging out, but.
Luc: There used to be this website where you can fill in your certifications and you'd get into, well, the list or the groups. But I think that that discontinued quite a while ago. Or not everybody's using it. It's optional, right?
Adam: Okay. Okay. So I'm not missing out.
Luc: No, not as far as I'm aware.
Adam: So you're currently lead engineer at PostNL, which is the Dutch postal service, and that's a pretty new role for you. Could you just kind of explain your role there?
Luc: Yeah, sure. So I joined there three years, sorry, three months ago. And I actually, I moved to PostNL because I wanted to move to a AWS customer. I've been with an AWS partner for four years, and that's a different ecosystem because AWS has many requirements for partners, and you really have to play their game. And you get audited all the time. And it's a pretty strict environment. Well as an AWS customer, you can just do whatever you like and AWS will support you, right? Because you're where the money comes from.
Adam: Yeah, sure.
Luc: So I really wanted to move there because I just saw more opportunities. And also I've been working with more classic infrastructure for a while. So first it was AC2 and RDS, then became Containers, Kubernetes, and so on. Well, with the 12th cert, you just know there's more, right? There's more to do. There's more modern environments, modern technology. And I really wanted to go a full on serverless. And PostNL, I got into talks with them and they told me we have a servers control policy here, so a IM policy that restricts certain actions in your environment. And the surface control policy says you cannot deploy a VPC. It's just not possible.
Adam: Steady does the same thing. I had a couple of the Steady guys on early on. They've got like STPs locking. You can't spin up an EC2 instance or whatever. That's awesome. I love it.
Luc: And I really think that speaks to that they really believe in the innovation and the technology. And there's no exceptions. This is just the way we're going. And that's really cool.
Adam: It's so cool. And your postal service is like, I don't know, 20 years ahead of the United States' postal service. I'm so jealous of... I mean, to think that you're just so forward-thinking. And I guess you guys just launched, I saw this, a tweet, maybe, that there's a joint learning venture. So you're getting to do that teaching that you enjoy alongside the serverless stuff. It's a dream job.
Luc: It is. It actually. So I came into the recruitment talks. I said there's three things I want to do. I want to do solutions architecture on serverless. I want to get my hands dirty and build with the team, and not be in my ivory tower telling other people what to do. And I want to continue that community building and learning and development that I've been doing. And the people I was talking to said, well, there's about three things that we're looking for in our people. And they're the same thing. So it was a perfect match.
Adam: And you just gave a talk at AWS Community Day, right before Jeff Barr, which I'd love to hear your thoughts on that later. But you spoke about some of the work you guys are doing at PostNL, and that you process billions of events each month through EventBridge. So first question, is that a lot? I think that's a lot.
Luc: That is a lot. It translates to... Well, what we're designing for is 20,000 events per second.
Adam: And is that hard? That sounds like a dumb question, but does AWS do most of the heavy lifting, or are there... What are the sort of challenges that you've run into as you've handled that many events?
Luc: Well, it's cost and performance. So for example, we have a Lambda function in that system. It's in the talk as well. And it has some responsibilities. So if that Lambda function is a millisecond slower or faster, that's 14 billion events, that's 14 billion milliseconds that you're paying for, right? So every millisecond counts.
Adam: Oh wow, yeah. So the millisecond billing, that was huge for companies like that, or organizations like that.
Luc: Yeah. Well, we started building this way after that was introduced. So it's always been in the design. But then you also have to think, okay, we have API Gateway, which has some responsibilities. API Gateway is actually pretty expensive at $3, 50 per million events. Well, do that times 14 billion and...
Adam: It's a lot.
Luc: [crosstalk 00:16:05] hundred. But still, it's a lot. And we would rather use the HTTP API, which is a lot cheaper, but it doesn't have the functionality that we need. So then you're going to have to make those architecture decisions. Are we going to move responsibility to the Lambda? How much slower is that going to make the Lambda function? And what's going to be the cost effects? And we're going to ask to maintain that code as well. But it might save us tens of thousands of dollars per month, right? So it might be worth it.
Adam: Yeah. Yeah. I saw one of your tweets that CloudFront has this awful API, and if anything should have a version two, it should be CloudFront. But I hate the API Gateway split. I hate the versioning. There's so many features that are only in one or the other, and I've had the hardest time with clients where, oh, you need, VPC private APIs, and a VPC. So you have to use the old thing. But you need this, and that's... I hate it. So I get what you're saying. I just, I don't really like... I don't know if I want any service to have that. If it looks like that, if going to a version two looks like that.
Luc: Yeah. It's the trade-off of the two pizza teams, right? So they can go really fast. And I heard somebody say a while ago in the developer's podcast by David, David Isbitski and Emily Freeman. I think they had Jeff Barr on there as well. And he said something like, we'd rather have two teams building the exact same thing and at least be moving forward, than try to organize between all those teams seeing if there's any duplicate work and then not getting any work done.
Adam: Yeah. No, that makes sense. I can't fault AWS and how they've rolled stuff out because they do move at a crazy pace. What was it like to open for Jeff Barr? I feel like that would be a little intense.
Luc: Well, I've met Jeff a few times now on multiple events, and he's just so easy going and such a nice guy that he makes that easy, I guess. And also it was a pretty big event for me to do the presentation on EventBridge. It was my first in-person talk in a year and a half, and one of the bigger audiences as well. So I was really focused on my own talk.
Adam: Yeah. Yeah. That makes sense. Jeff Barr wasn't your concern at the moment.
Adam: So you were recently named a serverless hero, just very recently. Could you talk a bit about that process?
Luc: Actually, I'm a dev ops hero.
Adam: Oh, I'm sorry.
Luc: That's okay.
Adam: I should've double check my notes.
Luc: Yeah. I'd actually rather be a serverless hero, but, well, it's how I got into the program through the dev ops community.
Adam: Yeah, I didn't mean to pick at wounds there. I'm so sorry. [crosstalk 00:19:00] But what is that process like? I mean, what was the feeling? You found out you're going to be a hero, could you walk us through just that process and what that felt like?
Luc: Yeah. So the first step was to be invited to the AWS Community Builders Program. And actually, that tweet that you referenced with the 12th certs, that also got the attention of the leaders in the community building program. So that's why they invited me. And the bar of joining the community builders is a bit lower, right? So more people can join. It's just, if you're an active part of the community and you have the blog posts or YouTube videos to show for it, you're in.
Luc: And that's really good because we actually have a slack there. So I really liked being part of that community, and talking to everybody, and sharing the knowledge, and seeing what everybody's doing. But then from there, I think the program lead for the dev tools [inaudible 00:20:08] reached out to me and said, hey, we've got you on a shortlist for AWS heroes, but you need to go through the, let's say, verification process.
Luc: So I had to provide a list of all the things that I built and all the things that I wrote, and all my public works. And then they actually review everything in there for technical accuracy because you can write a thousand blog posts, but if there's bullshit in there...
Luc: So they really did an in-depth dive. And as far as I understood it, there's like a committee and you get... I wasn't in there, I wasn't in a meeting or anything, but your name gets dropped and they discuss whether you should be allowed. Then they go through all your work and somebody pitches you. And actually I got rejected once. And then the second time around I got in.
Adam: So that was, I guess, a pretty exciting moment when you found out, especially if you went through it before. Could you walk us through just like somebody sends you a message... Is it like one of those big envelopes on Harry Potter? Like big wax seal?
Luc: Well, it's an email. It's an email that says, hey, Luc, congratulations, you got in.
Adam: Congratulations, you did it.
Luc: But I was actually having dinner with my girlfriend and the kids at the time, and I have this apple watch, right? Everybody does. So I'm one of those people that doesn't mute it. And then it's really well... Anyway, even that family time, I get an email, I look at my wrist and it just says the first line, right? And it says, congratulations, you're an AWS hero. And I just started screaming, and the kids were like, what's happening? I did not expect this. I was totally [inaudible 00:21:58].
Adam: That's awesome. Yeah. Do you get a cap?e in seriousness, is there swag? Did you get a box of stuff? I know the community builders you get... Oh, he's got it right here.
Luc: So we're on camera as well. One second.
Adam: I get to see. Everyone else can see it later.
Luc: I actually have the cape.
Adam: Oh my word, there really is a cape. I was just being stupid.
Luc: There's an actual cape.
Adam: Oh wow.
Luc: Well, it's a blanket, kind of. [crosstalk 00:22:26] fuzzy, and it says AWS Heroes.
Adam: I am so glad I asked because I did not expect there to actually be a cape. And I guess, I had Ben Bridts on yesterday, and he had something that he wanted me to mention to you. But he mentioned sort of having more access to product teams, and kind of knowing more what's coming. Do you have all the secrets now? Do you hold like the launch codes, so to speak?
Luc: Yeah. Yeah, I have Jeff Barr's personal number. I can call him any hour. And he calls me as well when there's something new. So that's pretty cool.
Adam: Yeah, yeah, yeah. Just fills you in before he posts anything on the internet. Just like, hey, Luc, I want to run this by you.
Luc: Yeah. No, but Ben is right. We have webinars on a very frequent basis on different topics going into the roadmap, going into new products, sometimes announcing what will be on re:Invent as well, or what might be on re:Invent just to prepare us and allow us to line up the blog posts and the trainings that we want to do in [inaudible 00:23:30].
Adam: Yeah. And I just looked, and it looks like Ben is on the space. So hi, Ben.
Luc: Hi, Ben.
Adam: Ben wanted me to ask you, or wanted me to tell you that CDK testing is not one of the benefits of the CDK. That it's actually a drawback. I don't know if you have a reaction to that for Ben.
Luc: So actually I'll be giving a training at Personnel this Tuesday on CloudFormation, and then how to use CloudFormation and CDK. And I've been working on testing the last few weeks. So in a CDK project, we do unit testing, synthesis testing, which is, well, testing the results of the CDK, and then integration testing. And so the argument here is we use CDK to dynamically build environments. So we use external inputs from an API, or from DynamoDB, or whatever, use that as input for the CDK, and then generate new environments.
Luc: For that use case, unit testing the CDK is essential, and maybe not so easy. So I'll give you that, Ben. If we would not be dynamically generating CloudFormation, then, of course, I guess native CloudFormation makes more sense. Although it also has to do with your skill level and...
Adam: Yeah. Tolerance.
Luc: [crosstalk 00:25:03] CloudFormation. CloudFormation is just another language to learn while CDK is generally the language that you're already using.
Adam: Yeah, I'm generally a big CDK fan. Ben did help me think about things a little differently yesterday. That's what I love about this, doing podcasts. I don't know where I missed the memo that if you want to learn stuff, just start a podcast and ask people stuff. I've learned more just through this than I think going through the cert process. So you're going to re:Invent? Did I see that?
Luc: Yeah, I am. So you still have to open up the borders, so if you can make a call then that'd be nice.
Adam: Oh jeez. It's not open to the Netherlands?
Luc: No. Not to the EU. They announced it for early November, but no specific date yet. So. But we booked the tickets, and the hotels, and so on.
Adam: So I, yeah, that's interesting. I never thought about, if there are those border restrictions, I guess the airlines still let you book everything. There's no, nobody getting in the way. Cool.
Luc: No, exactly.
Adam: So now that you're a hero, maybe you can't answer this. Ben had a hard time with it, but do you have any predictions? I saw you predicted the graviton thing. That was cool. Do you have anything that you can predict that you don't already know about re:Invent?
Luc: Yeah. So now that I'm an AWS hero, that this is a really sensitive topic, right? Because I don't actually know how I know things or why I think of certain things. And I saw...
Adam: If you put on the cape, will that help? Or will that make it harder?
Luc: It will make it harder, I think. But I think Corey Quinn once said, I don't do predictions because if they come true, somebody's always going to assume I broke some NDA somewhere.
Adam: Yeah, yeah, yeah. No, that makes sense. That's fair.
Luc: I think that's a pretty safe approach.
Adam: Yeah. No, that makes sense. What about hot takes? Do you have any hot takes for me, Luc? Like stuff that... Generally when I ask this question, I'm hoping to get a little bite to put on social media. And so anything inflammatory you could say about technology, some language or something would be perfect. You don't have to have any too. If you don't have any, that's fine.
Luc: Don't have one right now. I'll think about.
Adam: Okay. So this is a random personal question, but I saw you're into kayaking. Is this a new thing?
Luc: Yeah. So that's a funny thing. I live by the water, and a few months ago I was sitting in my living room looking outside and there's this pink canoe or kayak or whatever, I'm actually not sure. And it just came first and by over the water, just floating. So my mom was over, actually, I was talking to my mom. I said, hold on, hold on. And I just went outside and I grabbed the canoe, took it out. And my mom was like, what are you doing?
Luc: I said, well, there's a canoe here. So I put it in the garden, and I put it on all these lost and found sites, like I found this pink canoe. Does it belong to anyone? Actually, it also had a postal code engraved in it. And I sent a picture of the canoe to the postal code. Like, hey, I found this, let me know. And then I didn't hear anything for... I gave him a deadline of four weeks. Didn't hear anything. So then I considered it mine. So I bought a paddle, and I'm canoeing a few times a week.
Adam: Oh man. I don't know. That's so funny to me. I mean, one, you don't even know if it's a canoe or a kayak, and you're trusting your life. You're getting in the water in this. But two, that you just found it, it floated down the river. I love that so much. Oh my goodness.
Luc: And it's a great sport, really. You move all the body parts, and your back, and your belly.
Adam: Oh yeah. Rowing, it's a whole thing.
Luc: Yeah. It's great. And then, well, I went on a trip, a 10 mile trip just to the other side of the city [crosstalk 00:28:47].
Adam: Sounds exhausting.
Luc: It was. I had muscle aches for days, but it was great.
Adam: Oh man. When I saw you tweet some stuff about that, I didn't expect it to be that funny of a story. Luc, thank you so much. It's been so great to have you on. I say this to everybody, but I've looked forward to it.
Luc: Yeah, it was great being here. I really like how you produce the program and how you're leading the talk.
Adam: We will be back next week. We've got another great lineup. And I'll be tweeting about it, I'm sure, a couple of times a day. So you can catch those details on Twitter. And thanks again, Luc, for coming.
Luc: Thanks for having me.