Loading...
|
Please use this identifier to cite or link to this item:
https://nccur.lib.nccu.edu.tw/handle/140.119/140663
|
Title: | 以基礎設施即程式碼概念設計自動化邊緣伺服器維運機制 Edge Server Operations Management with an Infrastructure as Code Approach |
Authors: | 王韻淇 WANG, YUN-CHI |
Contributors: | 廖峻鋒 Liao, Chun-Feng 王韻淇 WANG, YUN-CHI |
Keywords: | 基礎設施即程式碼 Ansible 自動化維運 CWMP Infrastructure as Code Ansible Automated operation and maintenance CWMP |
Date: | 2022 |
Issue Date: | 2022-07-01 16:21:36 (UTC+8) |
Abstract: | 隨著軟硬體技術的快速發展下,促使物聯網技術變得更為成熟且相關應用更為廣泛。由於物聯網系統之邊緣伺服器設備數量眾多、部署分散且又位於使用者端,因此服務供應商會需要一個方法能夠遠端集中管理這些設備,而CPE WAN Management Protocol(CWMP)為目前遠端設備管理中最為通行的規範,在此規範中以Customer Premises Equipment(CPE)稱呼所有位於使用者端的網路終端裝置,其提出透過Auto-Configuration Server(ACS)來對CPE執行遠端維運工作。CWMP目前主要以SOAP over HTTP方法實作,CPE需要安裝複雜的SOAP server才能處理CPE的維運動作,SOAP server不但佔用了CPE資源,也讓ACS在執行CPE維運機制前,需先對其進行管理更新。目前ACS的維運流程也較為繁瑣,ACS的建置以及更新皆以手動方式進行,此方式不但耗費時間且容易會執行臨時的變更動作,又沒有文件記錄所有步驟的情況下,就容易產生配置錯誤或配置漂移。 DevOps是近年來興起的軟體開發流程,其在維運方面提出了許多相關的自動化技術,本研究將會藉由這些自動化技術改善目前CWMP維運實作的缺點。DevOps目標為讓開發與維運人員更快速、頻繁地建構、測試與部署軟體,其實作的兩大核心概念分別為自動化的引進與團隊間責任分配的改善,Infrastructure as Code (IaC) 為DevOps自動化實作的重要技術,其不但能實現持續整合與部署來提升整體開發流程的效率,還能以基礎設施程式碼記錄著所進行的維運動作,並以Git系統進行版本控制來記錄所有修改歷程,不但能避免配置漂移情況,還能在需要時進行配置代碼的回溯。因此將透過IaC概念藉著Jenkins與Ansible設計出適用CWMP規範的自動化維運機制,來加快ACS的維運速度、減少出廠時CPE的資源佔用以及減少對CPE中的維運代理伺服器之管理。 With the rapid development of computer software and hardware, Internet of Things technologies have been applied in many fields. Because there is a great consumer demand for the applications of IoT, it is necessary to streamline the software design and deployment. Meanwhile, DevOps, a set of promising software development concepts and guidelines, become popular in recent years. DevOps facilitates faster, frequent, and reliable software. Infrastructure as Code (IaC) is one of the widely adopted practices to implement the “Ops” part of DevOps. For example, IaC promotes using continuous integration and deployment to improve the efficiency of software component updates. The infrastructure code used for IaC can record all the operations, and it also can use with the version control system to record the modification history. These records not only avoid configuration drift but also enables rollback when needed. CWMP, proposed by Broadband Forum, is an important standard for managing edge servers such as the home gateways. CWMP is defined based on the SOAP over HTTP. To use CWMP, it is required to install a SOAP server in CPE, because all the operations to CPE need a SOAP server to handle. However, compared to alternative light-weight approach such as REST, a SOAP server takes up more system resources. The CWMP endpoints must be deployed in the server and in all managed IoT devices. This research proposes a light-weight mechanism based on the concept of IaC that does not need to deploy additional endpoint to the managed IoT devices. In this way, the precious computing resources on the IoT devices can be saved. This research shows the effectiveness of the proposed approach based on both qualitative (maintenance complexity) and quantitative approaches (performance). |
Reference: | 1. Bass, L., I. Weber, and L. Zhu, DevOps: A software architect`s perspective. 2015: Addison-Wesley Professional. 2. Liao, C.-F. and Y.-R. Chen. Resource-Oriented Architecture for Smart Home Operations Management Platforms. in 2018 International Conference on Platform Technology and Service (PlatCon). 2018. IEEE. 3. Jabbari, R., et al. What is DevOps? A systematic mapping study on definitions and practices. in Proceedings of the Scientific Workshop Proceedings of XP2016. 2016. 4. Ivanov, V. and K. Smolander. Implementation of a DevOps pipeline for serverless applications. in International conference on product-focused software process improvement. 2018. Springer. 5. Balaji, S. and M.S. Murugaiyan, Waterfall vs. V-Model vs. Agile: A comparative study on SDLC. International Journal of Information Technology and Business Management, 2012. 2(1): p. 26-30. 6. Gokarna, M. and R. Singh. DevOps: a historical review and future works. in 2021 International Conference on Computing, Communication, and Intelligent Systems (ICCCIS). 2021. IEEE. 7. Hemon, A., et al., From agile to DevOps: Smart skills and collaborations. Information Systems Frontiers, 2020. 22(4): p. 927-945. 8. Harvey, D.S.D.V.M.I.D.S.N., state of devops 2021. 2021. 9. Wiedemann, A., et al., Research for practice: the DevOps phenomenon. Communications of the ACM, 2019. 62(8): p. 44-49. 10. Leite, L., et al., A survey of DevOps concepts and challenges. ACM Computing Surveys (CSUR), 2019. 52(6): p. 1-35. 11. Humble, J. and J. Molesky, Why enterprises must adopt devops to enable continuous delivery. Cutter IT Journal, 2011. 24(8): p. 6. 12. Morris, K., Infrastructure as code. 2020: O`Reilly Media. 13. Red Hat Benefits of Agentless-WhitePaper. 2018. 14. Rahman, A., R. Mahdavi-Hezaveh, and L. Williams, A systematic mapping study of infrastructure as code research. Information and Software Technology, 2019. 108: p. 65-77. 15. Hayashi, K., et al. LiON: A L3 Protocol Agnostic Experimental Network Construction Tool Based on Infrastructure as Code. in 2019 Sixth International Conference on Software Defined Systems (SDS). 2019. IEEE. 16. Singh, N.K., et al. Automated provisioning of application in IAAS cloud using Ansible configuration management. in 2015 1st International Conference on Next Generation Computing Technologies (NGCT). 2015. IEEE. 17. Patni, J.C., S. Banerjee, and D. Tiwari. Infrastructure as a code (IaC) to software defined infrastructure using Azure Resource Manager (ARM). in 2020 International Conference on Computational Performance Evaluation (ComPE). 2020. IEEE. 18. Rahman, A., C. Parnin, and L. Williams. The seven sins: Security smells in infrastructure as code scripts. in 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). 2019. IEEE. 19. Yiran, W., Z. Tongyang, and G. Yidong. Design and implementation of continuous integration scheme based on Jenkins and Ansible. in 2018 International Conference on Artificial Intelligence and Big Data (ICAIBD). 2018. IEEE. 20. Mysari, S. and V. Bejgam. Continuous Integration and Continuous Deployment Pipeline Automation Using Jenkins Ansible. in 2020 International Conference on Emerging Trends in Information Technology and Engineering (ic-ETITE). 2020. IEEE. |
Description: | 碩士 國立政治大學 資訊科學系 109753135 |
Source URI: | http://thesis.lib.nccu.edu.tw/record/#G0109753135 |
Data Type: | thesis |
DOI: | 10.6814/NCCU202200605 |
Appears in Collections: | [資訊科學系] 學位論文
|
Files in This Item:
File |
Description |
Size | Format | |
313501.pdf | | 4245Kb | Adobe PDF2 | 198 | View/Open |
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|