As you can see, a distributed system has certain attributes and needs. Recognizing the asynchronous nature of a distributed system can help ensure it is designed properly and operating in a way that is most efficient and effective. A system that's constantly compensating for, or fighting, its asynchronous nature is hard to maintain and usually hard to use.
Try to analyze your system to see if it actually is a distributed system. If you already know you have a distributed system, see if you are fully recognizing its asynchronous nature. If you are not already performing automated health monitoring, do yourself a favor and look into it. Look into how products such as Microsoft System Center Operations Manager, or WhatsUp Gold, will help detect errors and failures quickly. Also, look into how you can use these tools to prevent errors and failures.
In the next chapter, we will discuss web services. We'll get into practices with WCF services, ASMX services, implementing services, consuming...