Kurzfassung | Cloud computing has become increasingly important in the last decade and has manifested itself as a go-to for many application scenarios and industries. They appreciate flexibility in pricing, wide choice of offerings and vendors, and other features such as scalability, resilience, load balancing, high availability, etc. As a result, an increasing number of companies, organizations, and developers want to run their applications or workloads in the cloud. However, the cloud computing landscape cannot be maneuvered straightforward, especially by newcomers. Numerous providers offer a constantly growing number of different offerings. In some cases, the offerings of individual providers differ only in small details, where it is hardly clear to an inexperienced user what this means for his use case. A user must obtain up-to-date information from the individual providers if they would rather not select just one offer, but want to gather details about all the offers for their use case in advance of comparing them objectively. Nevertheless, this is easier said than done if you only have experience with certain software and certain platforms. It is often not immediately obvious which edge case works and which does not. Regardless, a user may not even care about finding the best provider and the best offer before deploying to the cloud, as that requires time and money. It would therefore be advantageous if this task could be removed from the user’s hands, ideally through automation. This could save time, money and employees, as applications that have already been developed can simply be mapped to an equivalent in the cloud. Employees would thus not need to be cloud computing experts or experts in a specific cloud computing domain, they simply need to know exactly what they require for their application. Some attempts to simplify the entry into cloud computing have already been made. For example, several providers offer “all-in-one†solutions where the user has to pay less attention to the individual details of an offering and is granted access to many types of resources. There are also various standards for describing a cloud computing deployment. However, flexibility or extensive applicability often suffer in the process. An inexperienced user typically finds it difficult to get to understand a standard and does not want to spend this effort for a single deployment. This thesis deals with the simplification of the creation of cloud computing deployment models. A method for the graphical creation and modification of deployment models in the Topology and Orchestration Specification for Cloud Applications (TOSCA) language standard is developed. It is designed to present the user only with the information that is relevant for the creation. Everything else is handled transparently in the background. Automation strategies are used to map abstract, vague and sometimes incomplete components onto a functional deployment stack. The main target group are inexperienced users who have had little to no exposure to cloud computing and the TOSCA standard. Nevertheless, the approach is also suitable for more experienced users by not limiting the expression possibilities. After introducing the method, an intuitive User Interface (UI) is designed, presented and discussed. Finally, the implementation of a prototype is discussed, which verifies the practical applicability of the newly introduced techniques and methods. This prototype also implements the UI concept.
|