ABSTRACT

Cloud is a multi-tenant environment, in which multiple customers run their applications on a shared resource pool. Most public cloud services are multi-tenant services that are designed to provide generic functionalities to a wide range of customers. When cloud was first introduced to the public, it was presented primarily as a cheaper and faster way of running things. Cloud hosting environments are quite reliable in general. However, problems do occur, such as storage failures, network failures, and virtual machine host failures. In addition to improving reliability of individual components, several architecture techniques can improve overall system reliability even if individual components have reliability issues. Message-based integration is an effective way to avoid runtime coupling. With message-based integration, a messaging middleware is used as a message bus linking individual components. Message-based integration has been used in many large scale enterprise systems. And many effective design patterns have been developed to improve system reliability, scalability, and extensibility.