透過您的圖書館登入
IP:3.17.6.75
  • 學位論文

以基礎設施即程式碼概念設計自動化邊緣伺服器維運機制

Edge Server Operations Management with an Infrastructure as Code Approach

指導教授 : 廖峻鋒

摘要


隨著軟硬體技術的快速發展下,促使物聯網技術變得更為成熟且相關應用更為廣泛。由於物聯網系統之邊緣伺服器設備數量眾多、部署分散且又位於使用者端,因此服務供應商會需要一個方法能夠遠端集中管理這些設備,而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).

參考文獻


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.

延伸閱讀