Darren Broemmer
👤 PersonAppearances Over Time
Podcast Appearances
Yeah, that's a great question. And you're poking at why you want to obviously think through these things carefully. But yeah, no, it's a great question. So what does your data architecture look like? If you're starting out with the beautiful monolith, you do likely have that single transactional database.
Yeah, that's a great question. And you're poking at why you want to obviously think through these things carefully. But yeah, no, it's a great question. So what does your data architecture look like? If you're starting out with the beautiful monolith, you do likely have that single transactional database.
So to the extent that you can segregate out by which objects, which models or tables are being used by sets of services, You're better off segregating those and making those their own deployable units. You're still going to have some potential level of contention because you've got different apps talking to the same database. And so one could certainly impact the other.
So to the extent that you can segregate out by which objects, which models or tables are being used by sets of services, You're better off segregating those and making those their own deployable units. You're still going to have some potential level of contention because you've got different apps talking to the same database. And so one could certainly impact the other.
You can still have a noisy neighbor situation there. But as you migrate over time, if you can decompose your larger architecture into those discrete topic areas where you can have different databases, then you get a cleaner isolation. And that typically takes folks a lot longer to do. And you can also end up in the spot where I need data from both places.
You can still have a noisy neighbor situation there. But as you migrate over time, if you can decompose your larger architecture into those discrete topic areas where you can have different databases, then you get a cleaner isolation. And that typically takes folks a lot longer to do. And you can also end up in the spot where I need data from both places.
And you can end up getting into performance issues because you get... pretty chatty between these services. So it's not a panacea for sure, but I think to the extent that teams can start thinking in that direction and trying to find those, what are the good isolation boundaries to use? And again, it's not a black and white topic, but there's no crystal clear answer there.
And you can end up getting into performance issues because you get... pretty chatty between these services. So it's not a panacea for sure, but I think to the extent that teams can start thinking in that direction and trying to find those, what are the good isolation boundaries to use? And again, it's not a black and white topic, but there's no crystal clear answer there.
But I think there's overall, if you look at how do I make changes, right? Because in today's economy, you know, with the pandemic and people being at home, like we were already essentially a digital economy. It's almost entirely that way now. So, you know, we're all forced to innovate so much faster, you know, deploy faster.
But I think there's overall, if you look at how do I make changes, right? Because in today's economy, you know, with the pandemic and people being at home, like we were already essentially a digital economy. It's almost entirely that way now. So, you know, we're all forced to innovate so much faster, you know, deploy faster.
We were already deploying continuously, and now we want to do it even more so. If we don't do it fast enough, someone else is going to copy our business model. We're going to lose customers we could have. So there's so much pressure to get features out there faster. And so, again, you can't optimize for everything, but it's thinking about, well, what is going to benefit me now?
We were already deploying continuously, and now we want to do it even more so. If we don't do it fast enough, someone else is going to copy our business model. We're going to lose customers we could have. So there's so much pressure to get features out there faster. And so, again, you can't optimize for everything, but it's thinking about, well, what is going to benefit me now?
to isolate where I may want to be able to innovate faster, move separate from the other aspects of the code. One problem that, and even at Amazon, our teams ran into this, especially some of the bigger services where you really want to get a bug fix out or some feature out.
to isolate where I may want to be able to innovate faster, move separate from the other aspects of the code. One problem that, and even at Amazon, our teams ran into this, especially some of the bigger services where you really want to get a bug fix out or some feature out.
But if it's all in the same kit and caboodle and you've got an issue that pops up with one of the other changes, you got to roll that whole thing back. Because at the end of the day, you can't have ongoing impact to your customers.
But if it's all in the same kit and caboodle and you've got an issue that pops up with one of the other changes, you got to roll that whole thing back. Because at the end of the day, you can't have ongoing impact to your customers.
And so that is something that I think really hurts teams, their velocity, when you've got to make sure that these 12 or 20 or however many features are all working perfectly in order to get all of them out the door. So rather than an all or nothing, microservices really... help you there.
And so that is something that I think really hurts teams, their velocity, when you've got to make sure that these 12 or 20 or however many features are all working perfectly in order to get all of them out the door. So rather than an all or nothing, microservices really... help you there.
So you wouldn't isolate everything, but the areas where you know you're going to have a focus on or you can predict or you already know that are important to your customers, that's where you may want to think about it.
So you wouldn't isolate everything, but the areas where you know you're going to have a focus on or you can predict or you already know that are important to your customers, that's where you may want to think about it.