Darren Broemmer
👤 PersonAppearances Over Time
Podcast Appearances
So those kind of non-functional concerns are... prime candidates as well. They're easy to separate out from the rest of your application. That's where you get into the nitty gritty of the business logic or workflow where it becomes a little bit harder to do it.
So those kind of non-functional concerns are... prime candidates as well. They're easy to separate out from the rest of your application. That's where you get into the nitty gritty of the business logic or workflow where it becomes a little bit harder to do it.
I will say though, to try to tie some of these threads together, you mentioned earlier, Dave, that Netflix has thousands of these and really AWS does too. So one thing I realized that when I was there was One of the best things that Amazon does is they make each team be essentially like its own startup company so that that team can innovate as fast as they can and deliver value to customers.
I will say though, to try to tie some of these threads together, you mentioned earlier, Dave, that Netflix has thousands of these and really AWS does too. So one thing I realized that when I was there was One of the best things that Amazon does is they make each team be essentially like its own startup company so that that team can innovate as fast as they can and deliver value to customers.
And then I also say the worst thing that they do is that very same thing because you have all of these teams not always marching to the same beat and kind of repeating some things or not always going in the same direction. But
And then I also say the worst thing that they do is that very same thing because you have all of these teams not always marching to the same beat and kind of repeating some things or not always going in the same direction. But
All of these different web services are not, it's not really, customers think about it as one infrastructure or platform that they're using, but it's really 150 different services. I think the number is actually higher probably now. And so when you're building one of those, you're using easily 10 or 12 other ones in order to compose your application. I worked on a security service.
All of these different web services are not, it's not really, customers think about it as one infrastructure or platform that they're using, but it's really 150 different services. I think the number is actually higher probably now. And so when you're building one of those, you're using easily 10 or 12 other ones in order to compose your application. I worked on a security service.
I helped build Resource Access Manager. In terms of monitoring and other things, obviously, we didn't build our own monitoring service. We use CloudWatch, for example. Authorization, of course, we used IAM, Identity Access Manager. So it's really... Those are good examples of large sets of services. You can think of them as microservices. Some are more coarse-grained.
I helped build Resource Access Manager. In terms of monitoring and other things, obviously, we didn't build our own monitoring service. We use CloudWatch, for example. Authorization, of course, we used IAM, Identity Access Manager. So it's really... Those are good examples of large sets of services. You can think of them as microservices. Some are more coarse-grained.
But in order to build up these really large, really large platforms that can do amazing things that run a majority of the internet when you think about it. And so there's a lot of capability there. Again, it comes with the caveat like we talked about before. Those type of companies have... armies of engineers who can work on all of these things.
But in order to build up these really large, really large platforms that can do amazing things that run a majority of the internet when you think about it. And so there's a lot of capability there. Again, it comes with the caveat like we talked about before. Those type of companies have... armies of engineers who can work on all of these things.
Most of us are not in a position where we have that many other teammates and teams to help us do this. So you kind of have to right-size these design principles for the scenario you're working on. But yeah, there is no one right answer. You always want to apply it to your situation.
Most of us are not in a position where we have that many other teammates and teams to help us do this. So you kind of have to right-size these design principles for the scenario you're working on. But yeah, there is no one right answer. You always want to apply it to your situation.
Yeah, I would... So here's where we get into... I would evaluate the deployment or sorry, the operational aspect of it and see what you can get there. So if it's a sidekick job, you're going to have a little less, you'll have to make sure you build in the metrics and the visibility to see how that is behaving.
Yeah, I would... So here's where we get into... I would evaluate the deployment or sorry, the operational aspect of it and see what you can get there. So if it's a sidekick job, you're going to have a little less, you'll have to make sure you build in the metrics and the visibility to see how that is behaving.
If it's its own microservice, which you can, let's say it's in a container, I can observe that independently very easily. I can scale it separate from everything else. So if you, let's say you have your web app and a sidekick process. So you're taking orders on the front end and sidekick is doing some fulfillment on the back end. Right.
If it's its own microservice, which you can, let's say it's in a container, I can observe that independently very easily. I can scale it separate from everything else. So if you, let's say you have your web app and a sidekick process. So you're taking orders on the front end and sidekick is doing some fulfillment on the back end. Right.
So if you make a change and let's say that the CPU spikes or you identify a memory leak or some other problem, you know, it's not going to be immediately obvious. Well, was that one of the changes that went into the web app or was it the asynchronous job? And then what's the impact of that? The impact is much different, right?
So if you make a change and let's say that the CPU spikes or you identify a memory leak or some other problem, you know, it's not going to be immediately obvious. Well, was that one of the changes that went into the web app or was it the asynchronous job? And then what's the impact of that? The impact is much different, right?