Microstacks or megadependencies over at Webdevcon 2025

tl;dr: A meandering talk that reminds us of the risks of shipping unknown build time dependencies (as from npm), and also highlights how many services now have runtime third party service dependencies. These are very serious choices about the future of a project, and we can wonder how well we are making these choices. Is anyone thinking about the long term costs and impact? The talk then covers “microstacks”, whereby a project relies in a minimal number of build dependencies, and no runtime service dependencies. Interspersed, there is discussion of what this means now that geopolitics has become so exciting, and that it can also be pretty hard to find people that can deliver services based on (virtual) servers & containers. The talk ends up describing one specific microstack based project, and recommends that people consider ‘mesostack’ deployments that have modest dependencies on third party dependencies and services.

This is a lightly edited transcript of the recording of the presentation. It has been cleaned up a little bit, and some mistakes in the original presentation have been fixed. But this is not a blog post, and some parts of the text are a bit rough. Sorry. But it might beat the alternative of watching 41 minutes of video. I want to thank the organizers of the Webdevcon conference for inviting me to talk to such a relevant audience. I hope to be back again in 2026!

The actual talk

So I’m very happy to be here! I was invited last year to do a talk here, which is, for me a bit weird because I don’t consider myself a front end or a web person.

But when I was here, I learned many things. I learned how capable HTML had become and that I don’t need to use JavaScript for many things.

And in the JavaScript talks, I learned how capable JavaScript had become.

So it was a very fruitful meeting for me!

While there, I thought about the, from my perspective, incredibly terrible state of your world. Specifically I spoke about if you run NPM and you get 1600 dependencies and that you don’t know what you’re shipping, and we’ll get back to that a little bit.

I’m very happy to talk here again. And I want to start with this happy message. You and me, developers, we have never been as powerful as we are today.

And it might not feel that way when you sit behind your computer and you think, well, I don’t feel particularly powerful right now. So I want to go back to the really old days.

I don’t wanna show this to show just how old I am. I spent 22 years developing PowerDNS.

And when we started, we had four servers, Tinky Winky, Lala, Dipsy and Po. So we had four and everything had to fit on those four servers.

And the developers had no choice in picking the servers. The developers could not spend any money. There was no way for a developer to order up a database or any kind of service. It was just Tinky Winky, Lala, Dipsy, and Po that had to do all the work.

And if the programmers wanted something else, sorry,

This changed tremendously. You are now, as developers, very much in charge of what services get used.

And if you need more database, you get more database. If the database is not fast enough, you can say, Hey, the database is not fast enough.

Whereas a long time ago, if the database was not fast enough, well, you also ran the database, so apparently that was your fault.

So in the 22 years, I’ve seen many different things.

I’ve worked for the Dutch Intelligence Agency, I did DNA research, I was even one of the regulators of the intelligence services, and I stopped doing all that.

So now I’m back to developing stuff. But this has given me a bit of a broad overview.

A year ago I spoke here about NPM and 1600 dependencies and shipping 5 million lines of code and not knowing what was in there. And that eventually led to a talk to for the Dutch Electoral Board, where I also work a little bit on long-term software development.

And I asked my Mastodon friends, I say, Hey, if I have a software project and it’s gonna last 10 years, uh, what would you tell me? What would your advice be to keep the software alive for 10 years? And they came up with many very interesting things,

I can recommend this blog post. One of the things we really identified was that we originally talked about dependencies that you can select at build time, which is already sort of 1600 of them.

But now we also have runtime dependencies that we build a project and we say, well, the project does not just rely on my code and these libraries, but it also relies on these third party services.

So this is me also talking in Dutch Parliament, which is nice. But recently someone asked, Bert, are you technical? That nearly kills me. I mean, people now assume that if you can sit like this and talk in parliament, that apparently you’re not a nerd.

And I want to reassure you, I definitely am a nerd, but I don’t just show this to brag, but you have a lot of talks from people that are not developing that much and are talking even more, or talks by people that are not actually providing services to people, and don’t know what that feels like.

But I do develop, and I do offer services.

This is a site that we will be talking about, openTK.nl, which is for the Dutch second chamber of parliament. And this is a website that shows you everything that happens in Parliament and, and I think it is better than the Real Parliament site.

At least that’s what people tell me. And people rely on this stuff. So if this is broken, I get a lot of (friendly) complaints, which gives me the lived and current experience of how is it to provide services.

This is my other big project, Galileo, GPS, GLONASS and Baidu satellite navigation system monitoring stuff. And people actually rely on this stuff, which is rather scary because you think that these satellite projects could have some money to build their own monitoring

The world is getting (far too) interesting

The reason why this talk is extra interesting is because the world is getting more complicated. It used to be a no brainer to say, I’m gonna transfer all the Dutch healthcare data to Amazon.

That used to be completely normal. It was already illegal, by the way, this was never legal (if you take into account article 9 of the GDPR, and the Dutch government cloud policies).

But strangely enough, we just did it because, yeah, well, you gotta do something. And this is now changing. Now all of a sudden, if you decide to put your data in another country, people are gonna ask questions, are you sure about that? Can we rely on that country or not?

Might we in the future have an issue that this, a year ago, this would not have been an item. But now it’s becoming an item.

In the US they do not factually have privacy, they have no GDPR or anything like that (nationally). but they built an extra privacy court, especially for the EU, which is nice, nice of them. And this photo is president Donald saying, we’re gonna find out how to stop with that special privacy board.

Which technically speaking already makes it sort of foreseeably illegal to put your hospital data on Amazon already.

We are sort of pretending that this picture didn’t happen because it’s, it’s, well, it’s sort of sad news. If someone said, look, you gotta stop using Azure and Microsoft and Google that’s would be distressing for many people.

But anyway, this picture does exist.

I want to talk a little bit about dependencies. You can have a dependency where you say, Hey, I have a copy of this file and it does some things for me, and it’s gonna be with you forever. It’s just, it’s in your source code. No one’s ever gonna take it away from you. So that’s with you forever.

You’re still depending on it because you’re hoping that the people that made that code will update it for the new versions. They’ll do security releases and stuff. But if they don’t do that, you still have the code

In the middle of the slide is the dynamic stuff. So let’s say NPM or node or that ecosystem goes away, can you still build your product or you cannot?

There are many people that know this because they have to build from airgapped environments. if you try to build anything really serious, you try to do that from a non-internet connected environment, these people have pain because they cannot do NPM install.

So that was in my talk last year, the dynamic dependencies.

The third line is what I wanna talk today, out today, the runtime service dependencies.

So it’s very common now to say, Hey, we’re using S3, we’re using DynamoDB or RDS or Route53 or other things, which means that the thing you run is not complete without the services from someone else.

It’s just good to recognize these, these three layers of dependency.

(…)

Now I want to do a little experiment because I’m like super interested in your experience. So first let me explain what I mean by this, because I’m gonna ask you a question later: if you had your own choice, so you’re not representing your employer or anything, it’s just your own personal preference, how would you deploy your project?

I’ve invented a few categories, Google, Amazon, Azure, where you use lots of services where you say, I’m like deep in the ecosystem, I’m really benefiting from S3 or DynamoDB or AWS Cognito or whatever.

Or do you prefer deploying to some kind of Kubernetes setup or to a virtual machine or, and that on the right, many of you may never have seen one, that’s an actual server.

So I’m gonna ask you, so show of hands, who loves, who prefers to deploy on Google with lots of services? (not many hands) That’s bad news for Google.

AWS (more hands) They’re doing better.

Azure (NO hands), I get the impression that the only people that want to use Azure are like really corporate places that already have a deal in place with Microsoft.

Who likes deploying to Kubernetes (more hands)? That’s good stuff. Virtual machines. Yeah. Bare metal (quite some hands). Wow, you’re a good audience!

Thank you. That gives me some hope.

I’ve been in other places where it is news that anything beyond AWS exists even? So this is good news.

Because you have to realize if you check out the menu of options at a modern cloud provider, AWS or Google or, or Azure, it’s like a candy store. They have everything:

I mean, Amazon has a satellite ground station module. I’m not sure what it does, but you can can order it. Maybe one day I should do that and see what happens.

And I can truly understand that if you want to build something, you’re like, Hey, I’m gonna take a trip to the cloud candy store and see what they have. And like I said at the beginning, you have this enormous power right now as developers, if you have this cloud ability, you can go to the candy store and pick whatever you want.

And many things are free initially at least, so yeah, I can, I can see how that influences people. Like I said, developers have never been this powerful, so congratulations.

I sometimes think back to Tink Winky, Lala, Dipsy and Po, who had more power than I did.
And again, congrats. But with great power also comes great responsibility.

Yeah, sorry, it’s not free.

Is there nothing but big cloud?

When I speak to policy makers and politicians right now, they are often confused, their understanding right now is that you can only do internet with the big cloud. That it is impossible to do anything else. And in a sense, they are right? Because there is a generation of developers that actually cannot do anything else because that’s all they know.

So these are people that can actually not work with computers, they work with services. But that has now settled in as a sort of reality that for many people, it’s like computing begins and ends with a hyperscaler cloud.

And that’s a problem. I want to take a small step back. Who makes these choices? I said that you were very powerful, which is in a sense, true, but it’s actually not how it should be, because as developers, we make choices, but we do not have budget responsibility.

So we might pick a super expensive Amazon service that initially works rather well. And eventually we find that we are bankrupting the company because we, we picked a service that eventually becomes just unaffordable.

But when I ask around, how do you make these cost estimates? Who decides what we’re gonna use? People say, yeah, we just put it together and see what happens.

And that’s a bit scary because there are also long term consequences because if you integrate enough third party services into your thing, you’ve actually chosen Microsoft as your subcontractor. They’re actually your supplier from now on. And no one sat down and said, shall we choose to tie our future to Microsoft?

No, it just happened, and that is a bit of a problem because this leads to this map:

This is where we get our cloud from here in Europe. And I’m like really happy that in Europe, we’re good with cheese and handbags. We’re quite good at designing handbags also in Europe. Um, and we make the chip making machines. That may be good to realize that all these clouds come out of the chip making machines that we make here in Europe.

So that’s nice. But otherwise it’s not so nice that if you are a hospital right now and you say, Hey, I have these terabytes or petabytes of X-ray images and I want to store them somewhere, that people say, you can only do that with American (or Chinese!) companies. “You have no choice at all. There is no alternative”. And many people truly believe this too.

And on some level it is also true. That’s not a happy situation, even if we had like super friendly normal people in America. (laughter) So when, when we think about these third party choices, um, what does it all cost?

Well, we now have this thing called FinOps where you try to reverse engineer why it is costing so much. There’s this thing going on in very big serious corporations where they now want to know exactly the costs of everything cloud. So we’re gonna make ordering stuff from the cloud as difficult as it was as ordering a server in 1997. So there they are going to take your power away, sadly. Get used to the forms again!

Can we be held hostage by our suppliers?

Can we be held hostage? So we put all our customer data in this cloud thing. Can we meaningfully get that customer data out again? Or will we have to ask all our users to reset their passwords? Because we are so deep in the ecosystem that Amazon now knows our users passwords (hashes), but we do not.

That’s a thing. Could the provider make choices that we don’t like? Like, hey, we put AI in your thing. No one wanted the AI in the thing, but they said, yeah, we put AI in the thing.

Sanctions. It’s entirely possible now for a foreign government to say, we no longer like your thing and you’re no longer allowed to use this cloud. That’s a problem.

The reverse can also happen. It is entirely possible any day now that in Brussels they say, okay, the show is over. No more medical data to the clouds. It could happen tomorrow. I don’t think so, but it, it would be possible.

Is this cloud efficient actually?

And the last one I also want to touch is, is it all efficient? I mentioned this candy store where you can pick these million different features. Not everyone picks them wisely. So I want to share one anecdote. I built this parliamentary monitoring system and it needed to download all the parliamentary documents, like 180 gigabytes.

And sometimes the downloading would stop, which is like, sad. And then it turns out that the WHOLE SERVICE was down because of what I did, and I was just downloading PDFs. So there’s nothing exciting about downloading A PDF, but the designers of the site had built a sort of, they, they looked at the Azure menu of services and they’re like, we’re gonna use ALL of it. And so the actual downloading turned out to get the file from a database, put it in a queue, then it would go to another queue, and then there was a bit of JavaScript and that would actually trigger the download. And the thing is, it did all of this in memory, and some of these parliamentary documents are like hundreds of megabytes large.

So they then asked me, could you please not do this? They are very nice people at parliament by the way. They said, okay, it’s fine, but can you not do this on Friday?

So then I built special features to not download the large files.

So there are these risks that you build all this stuff in this cloud, which is supposedly efficient, but it might not actually end up being any more efficient.

So this is what I mentioned, US clouds could soon be illegal. There is this legal analysis where they say, well, actually the framework under which we can store our medical data in the US is actually bullshit right now.

The way it supposedly works is that there’s a special committee in the US where EU citizens could complain. And on day one, Trump fired all the Democrats on that committee, and it’s now no longer working.

So you have these cartoons where you see the roadrunner and the Roadrunner runs straight into the air and he’s about to fall down, but he doesn’t realize it yet. So he’s not falling yet. That only happens when he finds out. That’s where we are with the legal situation on sharing personal data with US clouds. It should be illegal, but they just haven’t signed the papers yet.

I would really suck when it happens though.

Now, I’m an old school nerd. I like to keep my stuff simple and I’m not into assembly. And I also don’t know how a soldering iron works. I cannot do that. So I’m not a full stack developer.

But I’m sort of a medium stack developer in the sense that I can still work with computers and I’m also just a bit weird because I like doing stuff myself.

The microstack

I want to introduce the concept of the microstack. But first I wanted to show you what I built. I already showed this page, the parliamentary monitoring system. This updates every minute. This is a live screen. Everything that happens in parliament, you can see it right now.

The key thing here that’s important to realize is I convert all these documents back to HTML. Dutch Parliament really loves PDFs, and so eventually anything they get, they turn it into a PDF. One of the things that web browsers, web users really hate are PDFs. So every document over there goes through like four stages, and in every stage I convert that back to HTML, so that you can just see that page inline.

This is an interesting side effect. There are a few blind people working for the Dutch government and I hear they’re like super happy with my site because their screen readers truly “get” HTML.

So I feel an extra responsibility to keep this working because I know that these people rely on it. There’s a search engine and I’m pretty happy with the search engine. So if you search for a friend Ivo here, it gets you the results in 5.6 milliseconds, which is nice. And now some statistics.

So we have 160 gigabytes of documents, of which a lot is just text. It’s terrible. I made statistics. Dutch parliament talks like a million words a week. It’s just no one can read that. But they do it and they have individual meetings where they decide on like 5 million words where they say, it’s all good. You wonder, well, did you read the 5 million words? Probably not.

So we have 800,000 documents, 3000 updates or changes a week. Many of these documents are actually PDFs because they love PDFs, and some of them are actually scanned PDFs of paper. And so I also OCR them again, which is again, super nice for the blind people and, and also for the search engine.

There are thousands of changes that happen every day, meetings that get planned or meeting notes get published.
The service has 8,000 weekly active users. It’s actually a sort of a guess because I’m into privacy, so I don’t really know how many users there are, but from statistical measures, I’m, I’m confident in saying there are between 4,000 and 16,000 active users.

There are 1700 configured monitors. So a monitor is where you say, I need to get a notification the moment a parliamentary document mentions the word Star Trek or whatever, which they actually do sometimes.

It’s like real fun because if you configure these monitors on just subjects that you care about where you live or whatever, you will just occasionally get a document or another hit.

And that was the original use case. The original use case for this site was that there was a law that got passed, which would allow the Dutch government to just block websites. And, and that was frightening because many people in the internet community found out about that law on Friday and it was going to pass on Tuesday.

And I thought, that can never happen again. We as internet community, we must get an alert early enough, like three months in advance, because then you can contact people and tell them, now, don’t do it like this, or if you do it, do it like that. Uh, so that was the original use case.

And it, and it turns out that this has actually worked already! Friend of mine is really into historical windmills, so he’s a member of the windmill cooperation and uh, and they found out three months in advance that some kind of rule was about to change, and they were able to act on that. So I’m very happy that that worked.

The site is 300 gigabytes of traffic per month. On the one hand, that is a lot. On the other hand is also not a lot. Key to that is also that the site is tiny, there is no two megabytes of JavaScript to download.

It’s up to date within a single minute. And I also measure the latency and the average latency is 16 milliseconds which is like, not a lot and it includes a very advanced full text search. I don’t know if you have that feeling sometimes that you have a search engine and you search for something and it doesn’t find it, and you’re like, but I’m sure that it’s there.

That is not this search engine. This search engine actually finds everything because I debug that a lot. So sometimes it doesn’t find something and I go like, why not? And then you find that the one document that has in there has like a weird unicode thing going on. And, and then I also fix that.

One of the interesting things that I learned here is that iPhones in search queries will, if you put a quote in there, the iPhone will turn that into a smart quote, which is nice because the search engine doesn’t know about that. It goes hunting for smart quotes. So it now also converts back smart quotes into dumb quotes again.

There are 2000 notifications a day based on 1700 monitors. And it’s maintenance free. I love to stress that part because I have no time to do maintenance. I cannot build something complicated because if it’s complicated, it’s fragile, and it leads to work.

Okay, enough bragging. Oh, some more bragging, some stats! So it does like five gigabytes a day except when we’re on tv, in which case it does a bit more.

This is the latency graph, and you can see that I keep making it somewhat better. So it’s now at 15 milliseconds. Actually I cheated a little bit. I installed 32 gigabytes additional ram here, and it cost me like a hundred euros. So that was a very good investment.

Here you see the latency graph. This is the big peak. And this, this color means that it’s still super snappy. This means that like this is unreasonably fast. So this is all nice.

So now is a good moment to ponder. You heard that the numbers of documents in there, like 180 gigabytes or 160 gigabytes of of text, 800,000 documents, full search.

How would you build this?

So this, this is not really an audience question, but it’s sort of an exercise for all of you. Would you use Elasticsearch or S3 buckets for all the documents?

How would you do the login for and sign-ons for users? And, and what do you think it would cost if you built this? And, and I think if you mentally go over this, you’ll already see a lot of options, but you will also realize, well, it could actually cost some real money, uh, to do this stuff and use some pretty heavy services because 180 gigabytes of documents, I mean, it’s not, it’s not the end of the world, but it’s still not nothing either.

Just ponder it a little bit.

Now I want to introduce you to the micro stack. How is this actually built?

And this is by the way, this is everything, and I mean really everything, so including the backups and the monitoring and the graphing, uh, and the failover equipment.

It’s basically SQLite and people have like strange ideas about SQLight that it’s not a real database or anything. I had some interesting discussions with some PostgreSQL people who build a real database for sure, they’re not looking down on SQLite. They’re like, Hey, they made their choices. We made our choices. We’re both serious databases.

And especially the SQLite search engine is just ridiculously good. And I’m not sure how that happened. It does snippets of your hits and is super fast, and it has these weird optimized modes. So for example, it can do a so-called Contentless index, which means that if you have your a hundred gigabytes of database here, then the index is actually far smaller than that. Like really it can do the whole index, like two gig gigabytes, which is amazing that they can do that.

But they do that by sort of not having the content in there. It only has pointers to the actual content. It’s like super magic the way they do that.

SQLite rsync is an interesting primitive. This allows you to sync a running database to another server, and you can continue working on it on the reading side and on the writing side (!).

So that means that if you want to have 10 servers, by all means do so. And it is super robust which I like because as I said I have no time for maintenance. And everyone knows database replication, it’s not always robust, lemme put it that way.

On the front end side, Alpine.js. I am not able to install Angular or React. Whenever I try, I go like, oh, too much bullshit (cheers from the audience).

But I know I’m missing out on some great things. There are some good things in there, but I really like the Alpine.js, is just enough magic.

So it synchronizes fields and spans and everything, so it’s pretty nice.

I don’t know CSS at all. So I found this file pico.css and you put that in your project and it looks pretty good.

Now I’m a C++ nerd and turns out we have, we also have Jinja in C++ It’s called Inja. I dunno where the J went.

You can connect it straight to SQLiteWriter, which is sort a small not quite ORM on top of SQLite.

The pugixml engine. The nice thing about pugixml is that everyone uses it, which means that if you use it you can also read everything because otherwise no one can read it.

This is also a wonderful open source product, OCRMyPDF. The name doesn’t look like an open source project, but it really is. And you can just give a horrible PDF to it and it’ll OCR it for you and make it nice. It super fun.

And, and actually it’s sort of sad that I have to do this because the Dutch government has these accessibility regulations where they say that all the PDFs must be accessible for screen readers. But apparently a few hundred per month aren’t.

Other interesting thing is, because it’s like a 24/7 service, you need to have it redundant in some way. So I have a KPN internet connection and a Ziggo internet connection, and I use a DNS trick.

I have a name server on both these connections. And if the KPN is down, then the KPN name server also goes down and no one gets the KPN IP address anymore, which is like a super simple hack. And on the Ziggo side, the nameserver only hands out the Ziggo address.

And the interesting thing of this is you could also have two of these servers in completely different places because the, the DNS trick continues to work even if you are far apart. So this is essentially the same as having two accessibility zones.

Grafana for the the graphing. Restic for the backups and Simplomon, which is my little monitoring thing. The nice thing about simplomon is it also monitors your TLS certificates and when they expire.

This is how the ORM works and it’s like really simple again, an but the nice thing I like is it has a straight path. You can, you just select star from sessions and uh, and, and that then goes straight on to alpine js.

So there’s no need to repeat yourself in any way. You can just, just straight from SQL into the JavaScript or into Inja/Jinja.

So this is what it runs on! (points to big screen). The server is smaller than this. It sits on my desk. It has six cores. And, and I estimate that if you are honest about what does this server cost me, it would be like 500 euros a year.

And, and that would be including that you have to replace it after a few years and that it also uses power and other stuff. I could also argue that it costs 250 euros a year. And I could also argue that it costs a thousand euros a year. Just put it in that ballpark.

This is the CPU load of the whole thing. It’s on average around 1% and it could go up to 600%. Um, so it has some headroom.

This is the cost graph. It starts off very small in the cloud. I mean, if you have no project, you can be in the free tier. But eventually you don’t yet know if the load on your site increases, you don’t yet know if you have this (low) cost curve or this (high) one, you will find out in production!

Whereas I have to spend a thousand euros on my server to get started. because otherwise I have nothing.

I know that my server will scale to like 20 times more traffic right now. So for now, I I have no worries.

But, but it is good to realize that this is sort of the difference between doing it in the cloud and doing it on your Lenovo server.

Now, does this scale and was, I (Bert) free? Yeah, for me, from my perspective, I was free.

But you might struggle to find developers that actually know how a computer works. And that could make it very expensive to do this kind of thing with your micro stack, including the redundancy thing. You would have to do a little bit more work on that to distribute to data to a different place so that if my house burns down that the data is still there.

The other thing that I went very crucial, I had to implement sign on. So you enter your email address, you get an email message. You have to respond, you have to confirm that you want to become a user.

And when I did that, I found that some government users could not log into my site, which is very interesting. It turns out that at some level, Microsoft 365 will actually click on all the links in your email and execute the JavaScript in there and will POST. Now we know that it’s a sort of crime to POST on behalf of someone, but by Microsoft they were like,let’s give it a try.

And I could solve that because I’m a big nerd.

However, stuff like AWS Cognito would also have solved this for you because they already know about this problem. So if you decide to do this stuff yourself, you run the risk that all of a sudden some users cannot log in anymore because you’re not aware of what Microsoft changed.

So it’s not all fun to do this yourself. You have to be have like this 25 year experience.

The other thing is, when you do the Googles or the Amazon stuff, they have all these certifications and now you and I know what these certifications mean, which is not that much.

But there’s also the other way around. If you just put it in the cloud, yeah, can I, could I be locked out of my own data? I have to watch the news all day long to figure out what Trump said.

I don’t want to watch the news all day long. I do not want to know about GDPR special category Article 9 regulations, which you will have to think about if you do anything with healthcare data in Us clouds.

Also, you have to start a finops department. Very sorry for that. And you might have accidentally married Microsoft for life without even realizing it.

It might just become too expensive to get out. This stuff is not theoretical. The international crime court were locked out of their Microsoft email for some employes.

The Dutch National Bank also said, yeah, banks should prepare for being locked out of their clouds. Because right now,all Dutch banks would come to an immediate halt when it happens.

This is not a situation you want to be in. So the stuff I told you about having to worry about Article 9 GDPR data, it is not so theoretical, even though you might want to ignore it.

And again, I want to repeat this. You are like super powerful, which means that you also have a role in this. Whenever you pick a new project, think.

You don’t need to go full microstack. So don’t all buy small innovo servers and put them on your desk. You really don’t need to do that.

But you can think ahead and say, okay, am I going to use these deep dependencies over at AWS or Microsoft and Google? The things that really get into the heart of my project, things that I will never get out again.

And it might be wise to not do that. That could also save you a lot of money, because eventually some of these things become very expensive.

And if you have no way to get out because you would have to redo your whole project, you’re just gonna have to pay the bill.

Again, you don’t need to go full micro stack. You could go Mesa-stack or Milli Stack, where you reduce your dependencies to a manageable level and know how to get out.

And the final thing I want to mention: think about who is thinking about this.

Do we have a dependency board? Do we have meetings about that? Or did we just pick something and it worked and we went live and now we find out what will happen?

So it might be good to add this to the standup or the whatever thing people do these days, and think that through.

If we are a bit smart, we can create a healthier and more resilient ecosystem for everyone. And also I can tell you, building a microstack is a lot of fun.

So you don’t need to rationalize it. You could just say, Hey, I love doing this stuff.

Thank you for your attention!