簡易檢索 / 詳目顯示

研究生: Dwi Hartati Izaldi
Dwi Hartati Izaldi
論文名稱: 用於部署自動化的應用程序合成器及其 測試場景
Application Synthesizer for Deployment Automation and Testing Scenario
指導教授: 鄭瑞光
Ray-Guang Cheng
口試委員: 鄭瑞光
Ray-Guang Cheng
許獻聰
Shiann-Tsong Sheu
黃琴雅
Chin-Ya Huang
王瑞堂
Ruei-Tang Wang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2019
畢業學年度: 107
語文別: 英文
論文頁數: 58
中文關鍵詞: 自動部署自頂向下方法應用程序Ansible描述符文件測試場景彈性堆疊
外文關鍵詞: automated deployment, top-down approach, application, Ansible, descriptor file, testing scenario, Elastic stack
相關次數: 點閱:161下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

IT營運中的自動部署和配置變得越来越重要,部分原因在於重複的手動步驟,要考慮的多種環境以及個別化和動態要求。以前的工作已經通過詳细說明配置管理工具(即Ansible)提出了他們的方法,但未能滿足配置機器,缺乏實際關係生命周期和多個命令配置的需要。本文提供了應用程序合成器作為自動部署和提供,以及測試場景。本文著重於通過提出自頂向下的方法來開發自動部署。此方法的目的是最小化配置虛擬機(VM)的手動工作。我們在頂層提供描述符文件,包含用戶輸入的VM的所有要求,這些要求與内核虛擬機完全兼容。另一個目的是通過為用戶提供從頂層定義IP地址和實現兩種通信類型的靈活性來考慮現實生活中的關係生命周期:基於套接字和基於消息佇列。最後,我們為異常事件觸發器提出了動態測試場景,確保了部署的成功,並概述了應用程序。通過Elastic模型證明,我們的自頂向下方法根據描述符文件中的初始输入生成输出。事實證明,我們在配置機器和部署應用程序方面節省了時間。


Automated deployment and provision in IT operations have become increasingly important. It is partly due to repetitive manual steps, multi environments to be considered, and the individual and dynamic requirements. Previous works have proposed their method by elaborating configuration management tools, i.e. Ansible, but failed to meet the needs of provisioning the machines, lack of actual relationship lifecycle, and multiple commands configuration. This thesis provides application synthesizer as the automated deployment and provision, and testing scenario. This thesis focuses on developing the automated deployment and provision by proposing a top-down approach. This approach aims to minimize the manual effort in configuring virtual machines (VMs). We provide descriptor file at the top level, containing all the requirements for VMs inputted by users, which are fully compatible with kernel virtual machine. Another aim is to consider the real-life relationship lifecycle by providing flexibility for users to define the IP address from the top level and implementing the two communication types: socket-based and message queue-based. Lastly, we proposed dynamic testing scenarios for the anomaly event triggers, ensuring the success of the deployment, and give an overview of the application. Proven by Elastic module, our top-down approach produces the output in accordance with initial input in the descriptor file. We have proven to minimize the processing time in terms of provisioning machines and deploying the application.

Recommendation Form ii Qualification Form iii 論文摘要 iv Abstract vi Acknowledgement vii Table of Contents viii List of Figures xi List of Tables xiii I. Introduction 1 1.1. Background 1 1.2. Related Works 2 1.3. Motivation 3 II. System Model 6 III. Proposed Method 8 3.1. Top-down Approach 8 3.2. Flowchart 9 3.3. Types of Application Considered 10 3.3.1. Socket-Based Application 11 3.3.2. Message Queue-Based Application 12 3.4. Ansible Module 14 3.4.1. First Ansible Role: Creating New Network 15 3.4.2. Second Ansible Role: Cloning Components 16 3.4.3. Third Ansible Role: Booting Components 17 3.4.4. Fourth Ansible Role: Running Service 18 3.5. Dynamic Control and Load Generator 18 3.5.1. Delay Stressing 20 3.5.2. Resource stressing 20 3.5.3. Load Balancer Control 21 3.5.4. Network Traffic Control 22 3.6. Elastic Stack 23 IV. Simulation and Evaluation 25 4.1. Simulation 25 4.1.1. Socket-based Application 25 4.1.2. Message Queue-based Application 26 4.1.3. Delay Stressing 28 4.1.4. Resource Stressing 29 4.1.5. Dynamic Load Balancer Control 31 4.1.6. Dynamic Network Traffic Control 32 4.2. Evaluation 34 4.2.1. Total Deployment Execution Time 34 4.2.2. Component’s Attributes 36 4.2.3. Component’s Specifications 38 V. Conclusion 42 VI. References 43

[1] M. Etmajer, "Continous Delivery 101: Automated Deployments," Dynatrace, November 2018. [Online]. Available: https://www.dynatrace.com/news/blog/continuous-delivery-101-automated-deployments/. [Accessed 5 May 2019].
[2] M. Wurster, U. Breitenbucher, O. Kopp and F. Leymann, "Modeling and Automated Execution of Application Deployment Tests," in IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC), Stockholm, Sweden, 2018.
[3] "Chef Official Site," Chef Software, Inc., 2018. [Online]. Available: https://www.chef.sh/.
[4] "Puppet Offical Site," Puppet, 2018. [Online]. Available: https://www.saltstack.com/. [Accessed October 2018].
[5] "Ansible Official Site," Red Hat, Inc., 2019. [Online]. Available: https://www.ansible.com/.
[6] N. K. Singh, S. Thakur, H. Chaurasiya and H. Nagdev, "Automated Provisioning of Application in IAAS Cloud using Ansible Configuration Management," in 2015 1st International Conference on Next Generation Computing Technologies (NGCT), Dehdarun, 2015.
[7] S. N. Deshmukh and H. P. Khandagale, "A System for Application Deployment Automation on Cloud Environment," in International Conference on Innovations in Power and Advanced Computing Technologies (i-PACT), Vellore, 2017.
[8] J. Wettinger, V. Andrikopoulos, F. Leymann and S. Strauch, "Middleware-Oriented Deployment Automation for Cloud Applications," in IEEE Transactions on Cloud Computing, 2018.
[9] "Ubuntu Juju," Canonical Ltd., 2018. [Online]. Available: https://jujucharms.com. [Accessed 03 05 2019].
[10] "Juju constraints," Canonical Ltd., 2018. [Online]. Available: https://docs.jujucharms.com/2.5/en/reference-constraints. [Accessed 03 05 2019].
[11] M. Sebrechts, C. Johns and G. Van Seghbroeck, "Beyond Generic Lifecycles: Reusable Modeling of Custom-Fit Management Workflows for Cloud Applications," in IEEE 11th International Conference on Cloud Computing (CLOUD), San Fransisco, CA, USA, 2018.
[12] "Openair Interface," 27 April 2017. [Online]. Available: https://www.openairinterface.org/docs/workshop/3_OAI_Workshop_20170427/
CN_training_control.plane.pdf. [Accessed February 2019].
[13] F. Kaltenberger, "Openair Interface 5G Software Alliance," 27 April 2017. [Online]. Available: https://www.openairinterface.org/docs/workshop/3_OAI_Workshop_20170427/
training/OAI_basics_kaltenbe_2017.pdf. [Accessed February 2019].
[14] J. Zhang, "Python Celery & RabbitMQ Tutorial," April 2016. [Online]. Available: https://test4geeks.com/python-celery-rabbitmq-tutorial. [Accessed December 2018].
[15] Django Software Foundation, 2005. [Online]. Available: https://www.djangoproject.com. [Accessed May 2019].
[16] "High-level design," Wikipedia, July 2018. [Online]. Available: https://en.wikipedia.org/wiki/High-level_design. [Accessed May 2019].
[17] "Stress-ng package in Ubuntu," Canonical Ltd., [Online]. Available: https://launchpad.net/ubuntu/+source/stress-ng. [Accessed May 2019].
[18] "Kibana," Amazon Web Services, Inc., 2019. [Online]. Available: https://aws.amazon.com/elasticsearch-service/kibana/. [Accessed 24 04 2019].
[19]"Elasticsearch," Amazon Web Services, Inc., 2019. [Online]. Available: https://aws.amazon.com/elasticsearch-service/what-is-elasticsearch/. [Accessed 24 04 2019].
[20] "Beats The Elastic Stack," Elasticsearch B.V., 2019. [Online]. Available: https://www.elastic.co/products/beats. [Accessed 24 04 2019].
[21] "Metricbeat Beats," Elasticsearch B.V., 2019. [Online]. Available: https://www.elastic.co/products/beats/metricbeat. [Accessed 24 04 2019].
[22] "Libvirt: The Virtualization API," Red Hat, 2019. [Online]. Available: https://libvirt.org/formatdomain.html. [Accessed 26 03 2019].

無法下載圖示 全文公開日期 2024/08/13 (校內網路)
全文公開日期 2024/08/13 (校外網路)
全文公開日期 2024/08/13 (國家圖書館:臺灣博碩士論文系統)
QR CODE