145: Distributed Computing: Four Reasons.
Take Up Code - A podcast by Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes
Categories:
Dividing work between multiple computers is sometimes the best way to solve a problem. We do this all the time in real life and so much that we don’t even think about it. When you get a job or when you need to hire somebody, you’re distributing the work. When a store opens in a new location, it’s distributing the work. And even if you buy a spare part for your car that’s not needed yet but will be ready if the time comes, then you’re distributing the work. This concept can be seen in designs of products too. Notice how large trucks have multiple wheels to spread the weight? And how they’ll have two wheels side-by-side in case one goes flat? Houses usually have a front door and a back door. This is more for convenience than anything else but it still helps distribute the work. Large passenger jets usually have multiple engines and the plane can continue to fly even if it loses one. If all the engines stop working at the same time, sometimes a good pilot in the right conditions can still land the plane. All of these examples can be found in computer software. That’s because the same problems and desires we face in the real world exist in software. The only difference is that software needs more abstract thought and planning because it’s harder to imagine something that you can’t touch directly. There’s several common reasons for distributed computing. One is convenience. Two is speed. Three is reliability. Four is feasibility. Listen to the episode as I describe these four common reasons and give example of each. Or you can read the full transcript below. Transcript We do this all the time in real life and so much that we don’t even think about it. When you get a job or when you need to hire somebody, you’re distributing the work. When a store opens in a new location, it’s distributing the work. And even if you buy a spare part for your car that’s not needed yet but will be ready if the time comes, then you’re distributing the work. This concept can be seen in designs of products too. Notice how large trucks have multiple wheels to spread the weight? And how they’ll have two wheels side-by-side in case one goes flat? Houses usually have a front door and a back door. This is more for convenience than anything else but it still helps distribute the work. Large passenger jets usually have multiple engines and the plane can continue to fly even if it loses one. If all the engines stop working at the same time, sometimes a good pilot in the right conditions can still land the plane. All of these examples can be found in computer software. That’s because the same problems and desires we face in the real world exist in software. The only difference is that software needs more abstract thought and planning because it’s harder to imagine something that you can’t touch directly. There’s several common reasons for distributed computing. ◦ One is convenience. ◦ Two is speed. ◦ Three is reliability. ◦ Four is feasibility. Let’s take these one at a time. This episode will be more of an overview of each of these reasons because some of these are large enough for their own episodes or even multiple episodes. Convenience is usually for the benefit of the user. We don’t normally think of making something easy for a computer. But that can be helpful. Other easily overlooked aspects of this are conveniences for system administrators or developers or testers. Sometimes one design might be easier to explain than another and is more convenient. There’s a lot of things that can help make something convenient and for different consumers. Medium and large size companies often need a directory to manage the identity of employees logging onto company computers. This directory can be distributed across multiple computers called domain controllers. Sometimes, changes need to be made to the directory information and it