博碩士論文 110525009 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:83 、訪客IP:3.138.114.140
姓名 雷幃程(Wei-Cheng Lei)  查詢紙本館藏   畢業系所 軟體工程研究所
論文名稱 基於 Sidecar 的異質函數鏈無伺服器平台
(Sidecar Based Serverless Platform For Heterogeneity Function Chain)
相關論文
★ 基於SVM之訊務分類機制及其於SDN網路之應用★ SD-WAN中一維卷積自編碼之流量分類與強化學習之服務導向多路徑路由
★ 無特徵圖神經網路分類模型以偵測Android惡意軟體為例★ 無線行動隨意網路上穩定品質服務路由機制之研究
★ 應用多重移動式代理人之網路管理系統★ 應用移動式代理人之網路協同防衛系統
★ 鏈路狀態資訊不確定下QoS路由之研究★ 以訊務觀察法改善光突發交換技術之路徑建立效能
★ 感測網路與競局理論應用於舒適性空調之研究★ 以搜尋樹為基礎之無線感測網路繞徑演算法
★ 基於無線感測網路之行動裝置輕型定位系統★ 多媒體導覽玩具車
★ 以Smart Floor為基礎之導覽玩具車★ 行動社群網路服務管理系統-應用於發展遲緩兒家庭
★ 具位置感知之穿戴式行動廣告系統★ 調適性車載廣播
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 ( 永不開放)
摘要(中) 近年來,隨著雲端運算的普及,Serverless 架構因其高效、彈性的特性被越來越多公司所接納和廣泛採用。Serverless 通常會跟 Function as a Service (FaaS) 劃上等號,開發者只要專注在以函數 (Function) 為單位的業務邏輯開發而不用花費多餘的心力管理底層的伺服器,很多網路公司嘗試在自己的私有雲中架設 Serverless 平台,以往 Serverless 平台的架構都是以雲端供應商的角度設計,在自架的 Serverless 平台中有著諸多的限制,包含 Master side schedule pattern 問題,以及多數 Serverless 平台為了降低延遲預設平台內部的流量都透過未加密的 TCP 協定進行傳輸。如何改善現有的 Serverless 架構讓其更適合私有雲的場景是一個很重要的議題。
本論文為了改善 Serverless 平台的安全性以及 Gateway 的性能,導入 Sidecar based Function Instance 作為執行函數的運算實體,並且透過基於 Mutual TLS (mTLS) 加密的 gRPC 協定實現 Function Instance 之間的直接通訊,改善了 Master side schedule pattern 每個 Function invocation 都必須經過 Gateway 的缺陷。本研究基於 sidecar 架構開發的 Serverless 平台在默認加密的基礎上可以在多數場景比原先僅使用 TCP 傳輸的 Serverless 平台獲得更好的性能。本論文規劃了多個場景,將相同的函數部屬在本論文開發的 Serverless 平台以及目前最受歡迎的開源 Serverless 平台 - OpenFaaS,在不同的場景分析延遲,記憶體使用率等指標。實驗結果顯示本論文基於 sidecar 架構的 Serverless 平台開發的 API Gateway 相較於 OpenFaaS Gateway 能降低 100 % 的額外記憶體消耗,並使 API Gateway 的處理請求效率達到 OpenFaaS Gateway 的 2.688 倍。在延遲部份相較 OpenFaaS 平台,本論文開發的 Serverless 平台在函數鏈長度為 4 的測試中降低了 47.75 % 的延遲,並且 QPS=10000 的壓力測試中降低了 64.95% 的平均延遲。
摘要(英) In recent years, with the popularity of cloud computing, the Serverless architecture has been increasingly adopted and widely used by many companies due to its efficiency and flexibility. Serverless is often equated with Function as a Service (FaaS), where developers can focus on developing business logic in the form of functions without the need to manage underlying servers. Many software companies want to adopt the FaaS development model but do not want to be restricted to a specific cloud provider. Therefore, they choose to develop their own Serverless platforms.

Traditional Serverless platforms have been designed from the perspective of cloud providers, and self-hosted Serverless platforms have various limitations. These limitations include issues such as the Master side schedule pattern and the default use of unencrypted TCP protocol for internal traffic to reduce latency. Improving the existing Serverless architecture to make it more suitable for private cloud scenarios is an important issue.This study aims to improve the security of the Serverless platform and the performance of the gateway by introducing Sidecar-based Function Instances as the computational entities for executing functions. It also implements direct communication between Function Instances using the gRPC protocol with Mutual TLS (mTLS) encryption. This approach addresses the limitations of the Master side schedule pattern, where every function invocation must pass through the gateway. The Serverless platform developed in this study based on the sidecar architecture achieves better performance in most scenarios compared to the previous Serverless platforms that solely use TCP transmission.
關鍵字(中) ★ 無伺服器運算
★ 微服務架構
★ Kubernetes
★ 雲端運算
★ 功能即服務
關鍵字(英) ★ Serverless Computing
★ microservices architecture
★ Kubernetes
★ cloud computing
★ Function as a Service(FaaS)
論文目次 摘要 i
Abstract ii
誌謝 iii
目錄 v
圖目錄 vii
表目錄 x
第一章 緒論 1
1.1 概要 1
1.2 研究動機 3
1.3 研究目的 5
1.4 章節架構 6
第二章 背景知識與相關研究 7
2.1 Master side schedule pattern 7
2.2 Sidecar 9
2.3 gRPC Remote Procedure Calls (gRPC) 10
2.4 相關研究 11
第三章 研究方法 17
3.1 系統架構與設計 17
3.2 系統運作流程與實作 20
3.2.1 CLI Tool 20
3.2.1.1 模板 (template) 概念與相關指令 21
3.2.1.2 new: 基於模板建立一個新的函數 24
3.2.1.3 build: 將編寫好的函數編譯成鏡像並且上傳 26
3.2.1.4 deploy: 向 API Gateway 傳送部署請求 27
3.2.1.5 template.yaml 配置與異質函數定義 30
3.2.2 API Gateway 33
3.2.2.1 Developer Traffic 處理流程 34
3.2.2.2 Invocation Traffic 處理流程 35
3.2.2.3 API Gateway 處理請求優化機制 36
3.2.3 Sidecar & Function Instance 39
3.2.3.1 函數調用流程 40
3.2.3.2 Proto Encoder 41
第四章 實驗與討論 43
4.1 系統環境 43
4.2 場景一 CLI Tool 的功能驗證 44
4.2.1 實驗一: 模板下載功能驗證 44
4.2.2 實驗二: 建立函數功能驗證 47
4.2.3 實驗三: 建立函數鏡像並且推送至遠端鏡像倉庫 49
4.2.4 實驗四: 部署函數 51
4.2.4.1 部署公有函數 51
4.2.4.2 部署私有函數 53
4.2.4.3 調用私有函數測試 55
4.3 場景二 API Gateway 性能測試 57
4.3.1 實驗五: API Gateway 與 OpenFaaS Gateway 基準測試 58
4.3.1.1 低流量下的基準測試 59
4.3.1.2 高流量下的基準測試 62
4.3.2 實驗六: API Gateway 與 OpenFaaS Gateway 負載測試 63
4.4 場景三 函數調用性能測試 69
4.4.1 實驗七: Image Resize Function 69
4.4.2 實驗八: 函數鏈性能測試 71
第五章 結論與未來研究方向 75
5.1 結論 75
5.2 研究限制 76
5.3 未來研究 77
參考文獻 79
參考文獻 [1]: Hellerstein, J. M., Faleiro, J., Gonzalez, J. E., Schleier-Smith, J., Sreekanti, V., Tumanov, A., & Wu, C. (2018). Serverless computing: One step forward, two steps back. arXiv preprint arXiv:1812.03651 [Online]. Available: https://arxiv.org/abs/1812.03651
[2]: Jonas, E., Schleier-Smith, J., Sreekanti, V., Tsai, C. C., Khandelwal, A., Pu, Q., ... & Patterson, D. A. (2019). Cloud programming simplified: A berkeley view on serverless computing. arXiv preprint arXiv:1902.03383 [Online]. Available: https://arxiv.org/abs/1902.03383
[3]: DATADOG THE STATE OF SERVERLESS 2021 [Online]. Available: https://www.datadoghq.com/state-of-serverless-2021/
[4]: Li, Z., Liu, Y., Guo, L., Chen, Q., Cheng, J., Zheng, W., & Guo, M. (2022, February). Faasflow: Enable efficient workflow execution for Function-as-a-service. In Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 782-796)
[5]: WANG, Liang, et al. Peeking behind the curtains of serverless platforms. In: 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 2018. p. 133-146.
[6]: Marin, E., Perino, D., & Di Pietro, R. (2022). Serverless computing: a security perspective. Journal of Cloud Computing 11(1), 1-12
[7]: Serverless Computing in Bytedance [Online]. Available: https://bytedance.feishu.cn/file/boxcn6YTVMb4d4vvZ0MSEAv8kTc
[8]: The Netflix Cosmos Platform [Online]. Available: https://netflixtechblog.com/the-netflix-cosmos-platform-35c14d9351ad
[9]: openfaas/faas [Online]. Available: https://github.com/openfaas/faas
[10]: fission [Online]. Available: https://github.com/fission/fission
[11]: nuclio [Online]. Available: https://github.com/nuclio/nuclio
[12] Esposito, C., Castiglione, A., & Choo, K. K. R. (2016). Challenges in delivering software in the cloud as microservices. IEEE Cloud Computing, 3(5), 10-14
[13]: Jiao, Q., Xu, B., & Fan, Y. (2021, October). Design of Cloud Native Application Architecture Based on Kubernetes. In 2021 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech) (pp. 494-499). IEEE
[14]: Burns, B., & Oppenheimer, D. (2016). Design patterns for container-based distributed systems. In 8th {USENIX} workshop on hot topics in cloud computing (HotCloud 16)
[15]: AWS. 2021. Data protection in Amazon EC2 - encryption in transit [Online]. Available:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit Accessed on 2023-05-19
[16]: Google. 2017. Encryption in Transit in Google Cloud. https://cloud.google.com/security/encryption-in-transit Accessed on 2023-05-19
[17]: Microsoft. 2021. Azure encryption overview. https://docs.microsoft.com/en-us/azure/security/fundamentals/encryption-overview
Accessed on 2023-05-19
[18]: Akkus, Istemi Ekin, et al. "{SAND}: Towards high-performance serverless computing." 2018 {Usenix} Annual Technical Conference ({USENIX}{ATC} 18). 2018
[19]: Apache Kafka [Online]. Available: https://kafka.apache.org/
[20]: Hou, K., Lin, S., Chen, Y., & Yegneswaran, V. (2022, November). QFaaS: accelerating and securing serverless cloud networks with QUIC. In Proceedings of the 13th Symposium on Cloud Computing (SoCC) (pp. 240-256)
[21]: Iyengar, J., & Thomson, M. (2021). RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport. Omtermet Emgomeeromg Task Force
[22]: Barcelona-Pons, D., Sánchez-Artigas, M., París, G., Sutra, P., & García-López, P. (2019, December). On the faas track: Building stateful distributed applications with serverless architectures. In Proceedings of the 20th international middleware conference (pp. 41-54)
[23] Klimovic, A., Wang, Y., Stuedi, P., Trivedi, A., Pfefferle, J., & Kozyrakis, C. (2018, October). Pocket: Elastic Ephemeral Storage for Serverless Analytics. In OSDI (pp. 427-444)
[24] Sreekanti, V., Wu, C., Lin, X. C., Schleier-Smith, J., Faleiro, J. M., Gonzalez, J. E., ... & Tumanov, A. (2020). Cloudburst: Stateful functions-as-a-service. arXiv preprint arXiv:2001.04592. [Online]. Available: https://arxiv.org/abs/2001.04592
[25]: Kotni, S., Nayak, A., Ganapathy, V., & Basu, A. (2021, July). Faastlane: Accelerating Function-as-a-Service Workflows. In USENIX Annual Technical Conference (UnixATX) (pp. 805-820)
[26]: golang-http-template [Online]. Available: https://github.com/davidleitw/golang-http-template
[26]: Function Handler in golang-http-template [Online]. Available: https://github.com/davidleitw/golang-http-template/blob/Master/function/handler.go
[27]: DockerHub https://hub.docker.com/ Accessed on 2023-05-25
[28]: HTTP Methods [Online]. Available: https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Methods Accessed on 2023-05-27
[29]: Fielding, R., & Reschke, J. (Eds.). (2014). RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): semantics and content
[30]: Dusseault, L., & Snell, J. (2010). Patch method for http (No. rfc5789)
[31]: Pezoa, F., Reutter, J. L., Suarez, F., Ugarte, M., & Vrgoč, D. (2016, April). Foundations of JSON schema. In Proceedings of the 25th international conference on World Wide Web (pp. 263-273)
[32]: Benchmark (computing) [Online]. Available: https://en.wikipedia.org/wiki/Benchmark_(computing) Accessed on 2023-06-03
[33] Vegeta HTTP load testing tool and library. It′s over 9000! [Online]. Available: https://github.com/tsenart/vegeta Accesses on 2023-06-05
[34] Kaffes, K., Yadwadkar, N. J., & Kozyrakis, C. (2019, November). Centralized core-granular scheduling for serverless functions. In Proceedings of the ACM symposium on cloud computing (pp. 158-164)
[35] Jia, Z., & Witchel, E. (2021, April). Nightcore: efficient and scalable serverless computing for latency-sensitive, interactive microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 152-166)
[36] Wang, A., Zhang, J., Ma, X., Anwar, A., Rupprecht, L., Skourtis, D., ... & Cheng, Y. (2020). Infinicache: Exploiting ephemeral serverless functions to build a cost-effective memory cache. arXiv preprint arXiv:2001.10483 [Online]. Available: https://arxiv.org/abs/2001.10483
[37] Romero, F., Chaudhry, G. I., Goiri, Í., Gopa, P., Batum, P., Yadwadkar, N. J., ... & Bianchini, R. (2021, November). Faa $ T: A transparent auto-scaling cache for serverless applications. In Proceedings of the ACM Symposium on Cloud Computing (pp. 122-137)
[38] Fuerst, A., & Sharma, P. (2021, April). FaasCache: keeping serverless computing alive with greedy-dual caching. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 386-400)
[39] A. Sabbioni, L. Rosa, A. Bujari, L. Foschini and A. Corradi, "A Shared Memory Approach for Function Chaining in Serverless Platforms," 2021 IEEE Symposium on Computers and Communications (ISCC), Athens, Greece, 2021, pp. 1-6, doi: 10.1109/ISCC53001.2021.9631385.
[40] YU, Minchen, et al. Following the data, not the function: Rethinking function orchestration in serverless computing. In: 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23). 2023. p. 1489-1504.
[41] JIA, Zhipeng; WITCHEL, Emmett. Boki: Stateful serverless computing with shared logs. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles. 2021. p. 691-707.
[42] MAHGOUB, Ashraf, et al. Wisefuse: Workload characterization and dag transformation for serverless workflows. Proceedings of the ACM on Measurement and Analysis of Computing Systems, 2022, 6.2: 1-28.
[43] RISTOV, Sasko; PEDRATSCHER, Stefan; FAHRINGER, Thomas. AFCL: An abstract function choreography language for serverless workflow specification. Future Generation Computer Systems, 2021, 114: 368-382.
[44] LÓPEZ, Pedro García, et al. Triggerflow: trigger-based orchestration of serverless workflows. In: Proceedings of the 14th ACM international conference on distributed and event-based systems. 2020. p. 3-14.
[45] LING, Wei, et al. Pigeon: A dynamic and efficient serverless and FaaS framework for private cloud. In: 2019 International Conference on Computational Science and Computational Intelligence (CSCI). IEEE, 2019. p. 1416-1421.
[46] DAS, Anirban, et al. Skedulix: Hybrid cloud scheduling for cost-efficient execution of serverless applications. In: 2020 IEEE 13th international conference on cloud computing (CLOUD). IEEE, 2020. p. 609-618.
指導教授 周立德(Li-Der Chou) 審核日期 2023-8-11
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   
網路書籤 Google bookmarks   del.icio.us   hemidemi   myshare   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡  - 隱私權政策聲明