簡易檢索 / 詳目顯示

研究生: 蔡昀廷
Yun-Ting Cai
論文名稱: 建立傳統應用程式轉型雲端流程 — 以離散元素法分析程式為例
Establishing a workflow for cloud computing transformation of traditional applications — a case study on an analysis program based on discrete element method.
指導教授: 謝佑明
Yo-Ming Hsieh
口試委員: 謝佑明
Yo-Ming Hsieh
陳鴻銘
Hung-Ming Chen
周建成
Chien-Cheng Chou
學位類別: 碩士
Master
系所名稱: 工程學院 - 營建工程系
Department of Civil and Construction Engineering
論文出版年: 2023
畢業學年度: 112
語文別: 中文
論文頁數: 90
中文關鍵詞: 轉型雲端雲端運算容器化Kubernetes私有雲
外文關鍵詞: Cloud Transformation, Cloud Compute, Containerization, K8s, Private Cloud
相關次數: 點閱:34下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 傳統應用程式往往安裝於本地端電腦或是特定平台,在使用上會受限於個別環境,抑或需要為傳統應用程式安裝其他所需之工具。程式開發人員也需要隨著作業系統更新而需要開發更多版本應用程式,以及因應不同作業系統開發與維護應用程式。為了不受限於個別環境,可將桌面應用程式轉型網頁化,再將網頁應用程式轉型雲端化。網頁化為將原本運行在本地端電腦或特定平台上的應用程式轉化為能在網頁瀏覽器中提送需求並交給網頁伺服器運行的應用程式;雲端化是指將應用程式、資料、服務或基礎設施佈署和運行在雲端運算平台上的過程。而轉型雲端化可以透過容器化技術將應用程式封裝於容器中,並利用容器管理平台Kubernetes(K8s)實現容器應用程式的自動佈署、擴充和管理。
    本研究的目標是建立傳統應用程式雲端轉型流程,將傳統應用程式雲端轉型流程分兩步,首先分析傳統應用程式轉型網頁流程,再來建立網頁應用程式轉型雲端流程。本研究以離散元素分析模擬視覺化展示系統為例,在分析傳統應用程式轉型網頁流程後,以該網頁系統實作網頁應用程式轉型雲端流程。
    本研究所轉型雲端之實例提供利用容器可以配置資源之特性,透過上傳時配置離散元素分析模型計算所需之資源條件,在叢集中尋找符合條件之節點運行容器應用程式。另外,該實例提供多種錯誤提示,協助使用者調整檔案內容抑或是資源配置調整。最後,測試系統轉型雲端實例所提升之服務,並檢核轉型雲端實例較原應用程式提升之優點。系統服務測試展示轉型雲端後更動及新增之服務,講述網頁應用程式結合K8s資源物件配置之實作成果。轉型雲端提升之優點以隔離性和安全性、可擴展性、可管理性、持續可用性以及錯誤應對策略,說明驗證本研究系統關注之功能。


    Traditional applications are often installed on local computers or specific platforms, which can limit their usage to individual environments or require the installation of additional tools. Programmers also need to develop multiple versions of applications as operating systems evolve and maintain them for different operating systems. To avoid limitations imposed by individual environments, desktop applications can be transformed into web applications and further transitioned into cloud-based solutions. Webification involves converting applications originally running on local computers or specific platforms into ones that can process requests in web browsers and run on web servers. Cloudification refers to the process of deploying and running applications, data, services, or infrastructure on cloud computing platforms. Transitioning to the cloud can be achieved through containerization, where applications are packaged into containers, and Kubernetes (K8s) is utilized as a container management platform to enable automated deployment, scaling, and management of containerized applications.
    The objective of this research is to establish a cloud transformation process for traditional applications. This process consists of two steps: analyzing the transition of traditional applications to web-based platforms and then establishing a process for transitioning web applications to the cloud. Using a Discrete Element Analysis simulation visualization system as an example, this study first analyzes the process of transitioning traditional applications to web-based platforms and then implements the process of transitioning web applications to the cloud using the same system.
    The cloud transformation example provided in this research leverages the configurability of containers. It allows users to upload configurations for resource conditions required for computing Discrete Element Analysis models and identifies nodes within the cluster that meet these conditions to run containerized applications. Additionally, the example provides various error prompts to assist users in adjusting file contents or resource configurations. Finally, the system's services post-cloud transformation are tested to demonstrate improvements and advantages over the original application. Service testing showcases modifications and additions made after transitioning to the cloud, emphasizing the implementation results of web applications combined with Kubernetes resource object configurations. The advantages of cloud transformation include isolation and security, scalability, manageability, continuous availability, and error handling strategies, illustrating the functionalities validated by this research system.

    摘要 I ABSTRACT II 目錄 V 圖目錄 VIII 表目錄 XI 第一章 緒論 1 第二章 文獻回顧 6 第三章 研究工具與雲端環境建置 16 第四章 轉型流程與實作 34 第五章 系統測試與功能實證 57 第六章 結論 78 附錄一 80 建立K8S系統之流程 80 參考文獻 86

    [1] M. Albanese, A. De Benedictis, D. D. de Macedo, and F. Messina, "Security and trust in cloud application life-cycle management," vol. 111, ed: Elsevier, 2020, pp. 934-936.
    [2] 龔正、吳治輝、王偉、崔秀龍、閆健勇、崔曉甯、劉曉, IT進階修煉:從Docker到Kubernetes 實作指南. 佳魁資訊股份有限公司.
    [3] "Kubernetes." https://kubernetes.io/ (accessed Nov. 5, 2023).
    [4] 洪銘輝, "離散元素分析模擬之雲端運算與視覺化展示," 碩士, 營建工程系, 國立臺灣科技大學, 台北市, 2021. [Online]. Available: https://hdl.handle.net/11296/hqk3cj
    [5] A. R. bin Abdullah and D. Evans, "A weighted group explicit method for the diffusion equation," Computer methods in applied mechanics and engineering, vol. 55, no. 3, pp. 221-238, 1986, doi: 10.1016/0045-7825(86)90054-X.
    [6] H. M. Chen and G. C. Archer, "A distributed object-oriented finite-element analysis program architecture," (in English), Comput.-Aided Civil Infrastruct. Eng., Article vol. 16, no. 5, pp. 326-336, Sep 2001, doi: 10.1111/0885-9507.00236.
    [7] D. Dinh-Cong, T. Nguyen-Thoi, and D. T. Nguyen, "A FE model updating technique based on SAP2000-OAPI and enhanced SOS algorithm for damage assessment of full-scale structures," (in English), Appl. Soft. Comput., Article vol. 89, p. 12, Apr 2020, Art no. 106100, doi: 10.1016/j.asoc.2020.106100.
    [8] B. Atmaca, R. Ghafoori, T. Dede, and Ş. Ateş, "The effect of post-tensioning force and different cable arrangements on the behavior of cable-stayed bridge," in Structures, 2022, vol. 44: Elsevier, pp. 1824-1843, doi: 10.1016/j.istruc.2022.08.105.
    [9] D. Raja and N. Rani, "Analysis of progressive collapse of building using ETABS," Materials Today: Proceedings, 2023, doi: 10.1016/j.matpr.2023.07.257.
    [10] Y. K. Dong, D. Wang, and M. F. Randolphl, "A GPU parallel computing strategy for the material point method," (in English), Comput. Geotech., Article vol. 66, pp. 31-38, May 2015, doi: 10.1016/j.compgeo.2015.01.009.
    [11] M. Hazeghian and A. Soroush, "DEM simulation of reverse faulting through sands with the aid of GPU computing," (in English), Comput. Geotech., Article vol. 66, pp. 253-263, May 2015, doi: 10.1016/j.compgeo.2015.01.019.
    [12] P. S. Wulandari and D. Tjandra, "Analysis of geotextile reinforced road embankment using PLAXIS 2D," Procedia engineering, vol. 125, pp. 358-362, 2015, doi: 10.1016/j.proeng.2015.11.075.
    [13] X. Wang and M. Cai, "FLAC/SPECFEM2D coupled numerical simulation of wavefields near excavation boundaries in underground mines," Computers & Geosciences, vol. 96, pp. 147-158, 2016, doi: 10.1016/j.cageo.2016.08.010.
    [14] G. M. Abdullah, "Using Plaxis 2D finite element modeling to assess bearing capacity of Sultana’s soil in Najran Region, Kingdom of Saudi Arabia," Materials Today: Proceedings, vol. 49, pp. 2679-2687, 2022, doi: 10.1016/j.matpr.2021.09.051.
    [15] N. Chadwick, A. Pickles, and E. Sekulski, "Data transfer and the practical application of geotechnical databases," in GeoCongress 2006: Geotechnical Engineering in the Information Technology Age, 2006, pp. 1-6.
    [16] H. Odugu and A. Achuthan, "Impact of prefabrication technology on profitability using Primavera p6," Materials Today: Proceedings, vol. 33, pp. 345-352, 2020, doi: 10.1016/j.matpr.2020.04.129.
    [17] J. Hwang, J. Kim, S. Chi, and J. Seo, "Development of training image database using web crawling for vision-based site monitoring," (in English), Autom. Constr., Article vol. 135, p. 11, Mar 2022, Art no. 104141, doi: 10.1016/j.autcon.2022.104141.
    [18] C. Aravindhan, R. Santhoshkumar, K. Bonny, K. Vidhya, S. Manishankar, and P. Dhamodharam, "Delay analysis in construction project using Primavera & SPSS," Materials Today: Proceedings, vol. 80, pp. 3171-3177, 2023, doi: 10.1016/j.matpr.2021.07.186.
    [19] Y. D. Zheng, Y. Zhang, and J. R. Lin, "BIM-based time-varying system reliability analysis for buildings and infrastructures," (in English), J. Build. Eng., Article vol. 76, p. 27, Oct 2023, Art no. 106958, doi: 10.1016/j.jobe.2023.106958.
    [20] C. S. Han, J. C. Kunz, and K. H. Law, "Building design services in a distributed architecture," Journal of Computing in Civil Engineering, vol. 13, no. 1, pp. 12-22, 1999, doi: 10.1061/(ASCE)0887-3801(1999)13:1(12).
    [21] J. Peng, D. Liu, and K. H. Law, "An engineering data access system for a finite element program," (in English), Adv. Eng. Softw., Article vol. 34, no. 3, pp. 163-181, Mar 2003, Art no. Pii s0965-9978(02)00129-1, doi: 10.1016/s0965-9978(02)00129-1.
    [22] J. Peng and K. H. Law, "A prototype software framework for internet-enabled collaborative development of a structural analysis program," Engineering with Computers, vol. 18, pp. 38-49, 2002, doi: 10.1007/s003660200003.
    [23] H.-M. Chen, Y.-C. Lin, and Y.-F. Chao, "Application of web services for structural engineering systems," Journal of computing in civil engineering, vol. 20, no. 3, pp. 154-164, 2006, doi: 10.1061/(ASCE)0887-3801(2006)20:3(154).
    [24] 曹瑋桓, "使用RESTful雲端服務建置無線感測網路資料平台," 碩士, 土木工程系所, 國立交通大學, 新竹市, 2016. [Online]. Available: https://hdl.handle.net/11296/gm86cm
    [25] A. Abdelgawad and K. Yelamarthi, "Internet of Things (IoT) Platform for Structure Health Monitoring," (in English), Wirel. Commun. Mob. Comput., Article p. 10, 2017, Art no. 6560797, doi: 10.1155/2017/6560797.
    [26] A. Scianna, G. F. Gaglio, and M. La Guardia, "Structure monitoring with BIM and IoT: The case study of a bridge beam model," ISPRS International Journal of Geo-Information, vol. 11, no. 3, p. 173, 2022, doi: 10.3390/ijgi11030173.
    [27] M. Sakr and A. Sadhu, "Visualization of structural health monitoring information using Internet-of-Things integrated with building information modeling," Journal of Infrastructure Intelligence and Resilience, vol. 2, no. 3, p. 100053, 2023, doi: 10.1016/j.iintel.2023.100053.
    [28] Z. S. Morris and S. P. Farrington, "An IT Architecture for Web-Based Geotechnical Monitoring," in GeoCongress 2006: Geotechnical Engineering in the Information Technology Age, 2006, pp. 1-4.
    [29] D. E. Kosnik, "Internet-enabled geotechnical data exchange," in 7th FMGM 2007: Field Measurements in Geomechanics, 2007, pp. 1-9.
    [30] F. Rackwitz, S. A. Savidis, and J. Rickriem, "Web-based data and monitoring platform for complex geotechnical engineering projects," Geotechnical and Geological Engineering, vol. 31, pp. 927-939, 2013, doi: 10.1007/s10706-012-9592-4.
    [31] R. Siebenmann, H.-T. Yu, and R. Bachus, "UCIMS: Advances in geotechnical construction and performance monitoring," Journal of Rock Mechanics and Geotechnical Engineering, vol. 7, no. 2, pp. 207-212, 2015, doi: 10.1016/j.jrmge.2015.03.002.
    [32] J. Cheng, K. H. Law, and B. Kumar, "Integrating project management applications as web services," in submitted to the 2nd International Conference on Innovation in Architecture, Engineering and Construction, Loughborough University, UK, 2003.
    [33] J. Peng, D. Liu, J. Cheng, C. S. Han, and K. H. Law, "Emergence of Distributed Engineering Web Services," in Towards a Vision for Information Technology in Civil Engineering, 2004, pp. 1-13.
    [34] R. Kebede, A. Moscati, H. Tan, and P. Johansson, "Integration of manufacturers' product data in BIM platforms using semantic web technologies," Autom. Constr., vol. 144, p. 104630, 2022, doi: 10.1016/j.autcon.2022.104630.
    [35] T. Laszewski and P. Nauduri, Migrating to the cloud: Oracle client/server modernization. Elsevier, 2011.
    [36] "PaaS vs. IaaS vs. SaaS vs. CaaS: How are they different?" https://cloud.google.com/learn/paas-vs-iaas-vs-saas. (accessed Dec. 12, 2023).
    [37] Z. Chen, J. Chen, F. Shen, and Y. Lee, "Collaborative mobile-cloud computing for civil infrastructure condition inspection," Journal of Computing in Civil Engineering, vol. 29, no. 5, p. 04014066, 2015, doi: 10.1061/(ASCE)CP.1943-5487.0000377.
    [38] M. Gardner, J. Kolb, and N. Sitar, "Parallel and scalable block system generation," Comput. Geotech., vol. 89, pp. 168-178, 2017, doi: 10.1016/j.compgeo.2017.05.008.
    [39] J. Doherty et al., "A novel web based application for storing, managing and sharing geotechnical data, illustrated using the national soft soil field testing facility in Ballina, Australia," Comput. Geotech., vol. 93, pp. 3-8, 2018, doi: 10.1016/j.compgeo.2017.05.001.
    [40] P. Nitithamyong and M. J. Skibniewski, "Web-based construction project management systems: how to make them successful?," Autom. Constr., vol. 13, no. 4, pp. 491-506, 2004, doi: 10.1016/j.autcon.2004.02.003.
    [41] J. Zhang, Q. Liu, F. Yu, Z. Hu, and W. Zhao, "A framework of cloud-computing-based BIM service for building lifecycle," in Computing in Civil and Building Engineering (2014), 2014, pp. 1514-1521.
    [42] J. Du, R. Liu, and R. R. Issa, "BIM cloud score: Benchmarking BIM performance," Journal of Construction Engineering and Management, vol. 140, no. 11, p. 04014054, 2014, doi: 10.1061/(ASCE)CO.1943-7862.00008.
    [43] E. Alreshidi, M. Mourshed, and Y. Rezgui, "Cloud-based BIM governance platform requirements and specifications: Software engineering approach using BPMN and UML," Journal of Computing in Civil Engineering, vol. 30, no. 4, p. 04015063, 2016, doi: 10.1061/(ASCE)CP.1943-5487.0000539.
    [44] M. K. M. Shapi, N. A. Ramli, and L. J. Awalin, "Energy consumption prediction by using machine learning for smart building: Case study in Malaysia," Developments in the Built Environment, vol. 5, p. 100037, 2021, doi: 10.1016/j.dibe.2020.100037.
    [45] "Linux.org." https://www.linux.org/ (accessed Nov. 5, 2023).
    [46] "Ubuntu." https://ubuntu.com/server/docs (accessed Dec. 12, 2023).
    [47] "Docker Docs." https://docs.docker.com/ (accessed 03/15, 2023).
    [48] "containerd." https://containerd.io/ (accessed Nov. 5, 2023).
    [49] "Kubernetes Documentation > Getting started > Production environment > Container Runtimes." https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd (accessed Dec. 12, 2023).
    [50] "Container Networking Interface 入門簡介." https://medium.com/@john.lin/container-networking-interface-%E5%85%A5%E9%96%80%E7%B0%A1%E4%BB%8B-f48cfd818259 (accessed Nov. 5, 2023).
    [51] "About Calico." https://docs.tigera.io/calico/latest/about/ (accessed Nov. 5, 2023).
    [52] "學習該如何開發 Web > Web 入門 > HTML 基礎." https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/HTML_basics (accessed Dec. 12, 2023).
    [53] "HTML架構圖." https://html.com/wp-content/uploads/html-homepage-layout-demo.webp (accessed Dec. 12, 2023).
    [54] "首頁 » CSS 教學:認識語法規則與基本功." https://tw.alphacamp.co/blog/css-guide-box-model (accessed Nov. 5, 2023).
    [55] "JavaScript." https://www.javascript.com/ (accessed Nov. 5, 2023).
    [56] 狩野祐東, JavaScript 網頁程式設計超入門. 旗標出版社.
    [57] "jQuery." https://jquery.com/ (accessed Nov. 5, 2023).
    [58] "Bootstrap " https://bootstrap5.hexschool.com/ (accessed Dec. 12, 2023).
    [59] "Node.js 和 NPM 是什麼?跟 JavaScript 有什麼關係." https://tw.alphacamp.co/blog/node-js-and-javascript (accessed Nov. 5, 2023).
    [60] "學習該如何開發 Web > 伺服端網站程式設計 > Express web framework (Node.js/JavaScript) > Express/Node introduction." https://developer.mozilla.org/zh-TW/docs/Learn/Server-side/Express_Nodejs/Introduction#%E4%BB%80%E9%BA%BC%E6%98%AF_express_%E5%92%8C_node (accessed Dec. 12, 2023).
    [61] "Oracle 台灣 » 資料庫» 什麼是資料庫?." https://www.oracle.com/tw/database/what-is-database/ (accessed Nov. 5, 2023).
    [62] "MySQL 教學 : 你應該知道的資料庫知識." https://www.mysql.tw/2023/08/mysql-tutorial.html (accessed Dec. 12, 2023).
    [63] 吳騏宇, "超高速離散元素分析引擎之研發," 碩士, 營建工程系, 國立臺灣科技大學, 台北市, 2018. [Online]. Available: https://hdl.handle.net/11296/56zhu8
    [64] 黃竟鎧, "多圖形處理器之高速離散元素模擬引擎," 碩士, 營建工程系, 國立臺灣科技大學, 台北市, 2020. [Online]. Available: https://hdl.handle.net/11296/c797p6
    [65] "Apache JMeter." https://jmeter.apache.org/ (accessed 01/16, 2024).
    [66] "NFS分享目錄與 Client掛載示意圖." https://linux.vbird.org/linux_server/centos6/0330nfs.php (accessed Dec. 12, 2023).
    [67] "What is Unified Modeling Language (UML)?" https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/ (accessed NOV.16, 2023).
    [68] "[UML]學習筆記-佈署圖型(Deployment Diagrams)-7." https://terryjryeh.blogspot.com/2019/03/uml-deployment-diagrams-7.html (accessed NOV. 16, 2023).
    [69] "公有雲、私有雲的定義、比較、優缺點完整介紹." https://www.metaage.com.tw/news/technology/206 (accessed 01/17, 2024).
    [70] "Kubernetes 1.28: Beta support for using swap on Linux." https://kubernetes.io/blog/2023/08/24/swap-linux-beta/ (accessed Dec. 12, 2023).

    QR CODE