簡易檢索 / 詳目顯示

研究生: 梁菡庭
Liang, Han-Ting
論文名稱: 多雲環境下微服務應用程式的工作擺放與計算管理策略方法
A Multi-Cloud Task Placement and Management Strategy for Microservices Applications
指導教授: 周志遠
Chou, Jerry
口試委員: 李哲榮
Lee, Che-Rung
鍾武君
Chung, Wu-Chun
賴冠州
Lai, Kuan-Chou
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2023
畢業學年度: 111
語文別: 中文
論文頁數: 43
中文關鍵詞: 微服務演算法多重雲
外文關鍵詞: Microservice, Algorithm, Multi-Cloud
相關次數: 點閱:50下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著企業對快速部署、彈性擴展和高可管理性的需求不斷增加,微服務架構 逐漸成為開發和操作複雜應用程式的主流方式。微服務架構將應用程式分 解為多個小型服務,這些服務彼此相互獨立並透過明確定義的 API 進行通 信。然而,這種架構也引入了一個重要問題,即服務的部署位置如何影響 通信成本和微服務的性能。尤其在企業越來越多採用多雲解決方案的情況 下,這個微服務部署問題的規模和影響也顯著增加。為了解決這個問題,我 們在公共雲 (AWS) 上進行了實驗,以分析部署決策對於微服務性能的影響, 並基於這些結果提出了兩種解決方案。首先,我們設計了” 階層式部署演算 法 (HPA)”,它結合了遺傳演算法和譜聚類演算法,提供在多雲環境中實現 快速且最佳的部署決策。我們的實驗結果顯示,HPA 能夠將服務請求的回 應時間減少多達 44.66%,僅比由整數線性規法獲得的最優解慢 16%。其次, 我們提出” 優先級鏡像收集策略” (PIC),旨在在緩存空間不足時回收微服務 初始化成本較小的鏡像。我們的實驗結果顯示微服務請求的回應時間減少多 達 42.4%。


    Microservices have become a popular way to develop and operate complex (mostly web-based) applications by decomposing software into small loosely coupled services communicating over well-defined APIs. It offers several benefits, including manageability, flexibility and scalability to name a few. However, the orchestration of microservices also becomes more complex and challenging. One of the critical problems is the placement of services which can greatly affect the communication cost and application performance. Especially, with the growing trend of multi-cloud adaptation for enterprise companies, the scale and impact of the placement problem also grows significantly. To tackle the problem, we conduct experiments on public cloud (AWS) to analyze and model the performance impact of placement decision. Then we use these to these to motivate and design two features. Firstly, we propose a Hierarchical Placement algorithm (HPA), combining genetic algorithm and spectral clustering technique, to achieve fast and accurate placement decision in multi-cloud. Our evaluation results reveal that HPA reduces the service request turn-around time of random placement by up to 44.66%, and only 16% slower than the optimal solution obtained by an ILP solver. Secondly, we propose a Priority Image Collection policy (PIC), recycling images with smaller initialization cost when the cache becomes full. Our evaluation conducted on a real-world cloud environment shows that optimizing cache utility reduces the service request turn-around time by up to 42.4%.

    Introduction . . . . . . . . . . . . . . 1 2 Background . . . . . . . . . . . . . . 6 2.1 Microservice Deployment in Multi-Cloud . . . . . . . . . . . . . . 6 2.2 Challenges and Design Highlights . . . . . . . . . . . . . . . . . . 9 2.2.1 Impact of Data Dependencies on Placement Decisions . . . 9 2.2.2 Impact of Data Dependencies on Management Decisions . . 12 3 System Model and Problem Formulation 18 3.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1 Hierarchical Placement Algorithm . . . . . . . . . . . . . . 22 3.2.2 Priority Image Collection policy . . . . . . . . . . . . . . . 26 4 Experimental Results . . . . . . . . . . . . . . 28 5 Related Work . . . . . . . . . . . . . . 38 6 Conclusions . . . . . . . . . . . . . . 40 References . . . . . . . . . . . . . .41

    [1] Sock shop : A microservice demo application. [online]. Available: https:
    //github.com/microservices-demo/microservices-demo.
    [2] Intma: Dynamic interaction-aware resource allocation for containerized mi-
    croservices in cloud environments. Journal of Systems Architecture 111 (2020), 101785.
    [3] Netflix. [online]. Available: https://www.netflix.com/, 2022.
    [4] Production-grade container orchestration. [online]. Available: https://
    kubernetes.io/, 2022.
    [5] Agarwal, S., Rodriguez, M., and Buyya, R. A reinforcement learning approach
    to reduce serverless function cold start frequency. In CCGrid (2021), pp. 797–803.
    [6] Balalaie, A., Heydarnoori, A., and Jamshidi, P. Migrating to cloud-native ar-
    chitectures using microservices: An experience report.
    [7] Bao, L., Wu, C., Bu, X., Ren, N., and Shen, M. Performance modeling
    and workflow scheduling of microservice-based applications in clouds. IEEE
    TPDS 30, 09 (2019), 2114–2129.
    [8] Benchara, F. Z., and Youssfi, M. A new scalable distributed k-means algo-
    rithm based on cloud micro-services for high-performance computing. Paral-
    lel Computing 101 (2021), 102736.
    [9] Convolbo, M. W., and Chou, J. Cost-aware dag scheduling algorithms for
    minimizing execution cost on cloud resources. J. Supercomput. 72, 3 (2016),
    985–1012.
    [10] Copik, M., Kwasniewski, G., Besta, M., Podstawski, M., and Hoefler, T. Sebs:
    A serverless benchmark suite for function-as-a-service computing. In Middle-
    ware Conference (2021), pp. 64–78.
    [11] Cruz Coulson, N., Sotiriadis, S., and Bessis, N. Adaptive microservice scaling
    for elastic applications. IEEE Internet of Things Journal 7, 5 (2020), 4195–4202.
    [12] et .al, S. Practical service placement approach for microservices architecture.
    In CCGRID (2017), IEEE, pp. 401–410.
    [13] Fu, K., Zhang, W., Chen, Q., Zeng, D., and Guo, M. Adaptive resource ef-
    ficient microservice deployment in cloud-edge continuum. IEEE TPDS 33, 8(2022), 1825–1840.
    [14] Gu, L., Zeng, D., Hu, J., Li, B., and Jin, H. Layer aware microservice place-
    ment and request scheduling at the edge. In IEEE INFOCOM (2021), pp. 1–9.
    [15] Hu, Y., Laat, C., and Zhao, Z. Optimizing service placement for microservice
    architecture in clouds. Applied Sciences 9 (2019), 4663.
    [16] Li, Y., Zhang, H., Tian, W., and Ma, H. Joint optimization of auto-scaling and
    adaptive service placement in edge computing. In IEEE 27th International
    Conference on Parallel and Distributed Systems (ICPADS) (2021), pp. 923–930.
    [17] Li, Z., Chen, Q., Xue, S., Ma, T., Yang, Y., Song, Z., and Guo, M. Amoeba:
    Qos-awareness and reduced resource usage of microservices with serverless
    computing. In IPDPS (2020), pp. 399–408.
    [18] Lin, M., Xi, J., Bai, W., and Wu, J. Ant colony algorithm for multi-objective
    optimization of container-based microservice scheduling in cloud. IEEE Ac-
    cess 7 (2019), 83088–83100.
    [19] Mohan, A., Sane, H., Doshi, K., Edupuganti, S., Nayak, N., and Sukhomlinov,
    V. Agile cold starts for scalable serverless. In USENIX Workshop on Hot Topics
    in Cloud Computing (2019).
    [20] Niu, Y., Liu, F., and Li, Z. Load balancing across microservices. In IEEE
    INFOCOM (2018), IEEE, pp. 198–206.
    [21] Noordhuis, P., Heijkoop, M., and Lazovik, A. Mining twitter in the cloud: A
    case study. In IEEE International Conference on Cloud Computing (2010),
    pp. 107–114.
    [22] Qiu, H., Banerjee, S. S., Jha, S., Kalbarczyk, Z. T., and Iyer, R. K. FIRM: An
    intelligent fine-grained resource management framework for SLO-Oriented
    microservices. In OSDI (2020), pp. 805–825.
    [23] Rausch, T., Rashed, A., and Dustdar, S. Optimized container scheduling for
    data-intensive serverless edge computing. Future Generation Computer Sys-
    tems 114 (2021), 259–271.
    [24] Sampaio, A., Rubin, J., Beschastnikh, I., and Rosa, N. Improving
    microservice-based applications with runtime placement adaptation. Journal
    of Internet Services and Applications (2019).
    [25] Sbarski, P., and Kroonenburg, S. Serverless architectures on AWS: with ex-
    amples using Aws Lambda. Simon and Schuster, 2017.
    [26] et al., D. Microservices: Yesterday, today, and tomorrow. In Present and Ulte-
    rior Software Engineering (2017), Springer International Publishing, pp. 195–216.
    [27] et al., H. Toposch: Latency-aware scheduling based on critical path analysis
    on shared yarn clusters. In IEEE CLOUD (2020), pp. 619–627.
    [28] von Luxburg, U. A tutorial on spectral clustering. CoRR abs/0711.0189 (2007).
    [29] Wang, S., Ding, Z., and Jiang, C. Elastic scheduling for microservice applica-
    tions in clouds. IEEE TPDS 32, 01 (2021), 98–115.
    [30] Yi, C., Zhang, X., and Cao, W. Dynamic weight based load balancing for
    microservice cluster. CSAE ’18.
    [31] Zhang, Y., Hua, W., Zhou, Z., Suh, G., and Delimitrou, C. Sinan: Ml-based
    and qos-aware resource management for cloud microservices. In ACM Inter-
    national Conference on Architectural Support for Programming Languages and Operating Systems (2021), p. 167–181.

    QR CODE