Join David Linthicum for an in-depth discussion in this video Purpose built vs. general use, part of Cloud Architecture: Advanced Concepts.
- [Instructor] So let's talk about another advanced concept in the world of cloud computing architecture. So there are solutions that you have built for a specific purpose. Or purpose-built solutions and they are solutions that you have built for general use. For perhaps in unforeseeable use. In other words, general utilities, things like that that are going to be leveraged in a number of different ways. That you may not have thought of as you built the utility. And so these are two very distinct patterns. And they require different kinds of approaches in terms of how you build and deploy these solutions.
Let's talk about it a bit. So, purpose-built is typically around component, function, typically for single use. So, things that I may build that are purpose-built, or some sort of an IOT based system that communicates with a specific device using a specific API. Obviously that's not going to be a generally used thing it's only for purpose-built for the particular pattern of use that I'm enabling it for. Communicating with this device so that it's a single use.
Typically going to be a small function. Typically going to be a component. So, if you look at the difference between purpose-built and general use purpose-built systems are typically going to be smaller services or functions. And so something we can write within a day, for example. Not very complex, there's a very specific thing. Very specific use case. General use is all about reuse and repurpose. And so, even though it could be and there's no reason it can't be a service. In other words, a function, serverless function, or a web service that we write.
This is about the ability to build something that's going to be used by many different users. Many different systems, things like that. So we're able to reuse it and repurpose it. Now, obviously, what we want to do is to write things that are typically going to be for general use. Because we like reuse because we're able to write something once and use it many times. We're able to repurpose it, means we're able to take it, and actually perhaps, configure it or reconfigure it or refactor it, which means rewriting portions of it for another use in a general use engagement.
First is purpose built, which are really around a specific use case that we're putting into the cloud, or putting into our cloud based systems. And, that obviously, is not as valuable because we can only use it one time for the single use kind of system. It's a typical function, it's only going to have very limited use within the environment. So keep these two things in mind they are reasons to write systems that are purpose-built. And there's certainly some downsides to doing that, as well. And there's reasons to write systems that are general use.
Which means, they're going to have more wide use and more people are going to leverage them. So it's good to understand the differences.
- Microservices and containers
- Complex, disturbed, serverless, and composite architectures
- DevOps integration
- High-performance solutions