Evaluation and Improvement of Application Deployment in Hybrid Edge Cloud Environment

Evaluation and Improvement of Application Deployment in Hybrid Edge Cloud Environment

Evaluation and Improvement of Application Deployment in Hybrid Edge Cloud Environment Using OpenStack, Kubernetes, and Spinnaker Khaled Jendi KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE This degree project is supported by: Examinor (KTH): Mihhail Matskin Supervisor (KTH): Ahmad Al-Shishtawy Supervisor (Ericsson, EST): Christopher Price https://wiki.nordix.org/display/RE/Edge+Cloud+project Table of Contents Abstract .......................................................................................................... 1 List of Code Snippet ...................................................................................... 7 List of Abbreviations ...................................................................................... 8 Chapter 1 ....................................................................................................... 9 1 Introduction ............................................................................................. 9 1.1.1 Openstack .......................................................................................... 9 1.1.2 Kubernetes ........................................................................................ 10 1.1.3 System Deployment & Spinnaker ................................................... 10 1.2 Problem ................................................................................................... 10 1.3 Purpose .................................................................................................... 11 1.4 Goal ......................................................................................................... 11 1.4.1 Benefits, Ethics and Sustainability ................................................... 11 1.5 Methodology / Methods ........................................................................ 12 1.6 Delimitations ............................................................................................ 13 1.7 Outline (Disposition) ............................................................................... 13 Chapter 2 ..................................................................................................... 15 2 Edge Cloud Computing Background ................................................ 15 2.1 Traditional and Early Deployment Methods ......................................... 15 2.2 Edge Cloud Computing ......................................................................... 16 2.2.1 Cloud Computing Service Models ................................................ 18 2.3 OpenStack .............................................................................................. 25 2.3.1 History ................................................................................................ 25 2.3.2 OpenStack Architecture ................................................................. 26 2.4 Visualization Principles ........................................................................... 31 2.4.1 Virtual Machines .............................................................................. 31 2.4.2 Containers ........................................................................................ 31 2.5 Kubernetes .............................................................................................. 33 2.5.1 Kubernetes Architecture & Components ..................................... 34 2.6 Spinnaker ................................................................................................ 38 2.6.1 Spinnaker Architecture & Components ........................................ 39 2.7 Related Work ........................................................................................... 41 Chapter 3 ..................................................................................................... 42 3 Methodologies and Deployment Approaches ................................. 42 3.1 Research Approaches ........................................................................... 42 3.1.1 Applied Approach .......................................................................... 42 3.1.2 Qualitative Approach ..................................................................... 42 3.1.3 Empirical & Analytical Approaches ............................................... 42 3.2 Research Process ................................................................................... 43 3.2.1 Solution Overview ............................................................................ 44 3.2.2 Adopted Research Process ............................................................ 46 3.3 Project Management Objectives ......................................................... 49 3.3.1 Project Methods ............................................................................... 50 i 3.3.2 Triple Constraint Theory ................................................................... 52 3.4 Testing & Evaluation ................................................................................ 53 3.4.1 Deployment Using VCS ................................................................... 53 3.4.2 Zero Downtime Testing .................................................................... 53 3.4.3 Google Lighthouse Testing ............................................................. 53 3.5 Deployment Automation Analysis ........................................................ 54 3.6 Project Resources ................................................................................... 54 4 Application Deployment in The Hybrid Cloud .................................. 55 4.1 Cloud Environment Deployment ........................................................... 55 4.1.1 OpenStack Deployment ................................................................. 55 4.1.2 Kubernetes Deployment ................................................................. 59 4.1.3 Spinnaker Deployment .................................................................... 65 4.1.3.1 Deploying Spinnaker Locally ........................................................................................ 65 4.1.3.2 Deploying Distributed Spinnaker ................................................................................ 68 4.2 Test Study (Case Study) .......................................................................... 73 4.2.1 Dockerfile .......................................................................................... 73 4.2.1.1 NodePort and LoadBalancer ......................................................................................... 74 4.2.2 Enabling Git Artifact Provider ......................................................... 76 4.2.3 CHATi Deployment Pipeline ............................................................ 79 Chapter 5 ..................................................................................................... 87 5 Results, Discussions and Conclusions ................................................. 87 5.1 Performance Testing Clusters ................................................................ 87 5.2 Performance Testing Results .................................................................. 87 5.2.1 Downtime During Deployments ..................................................... 88 5.2.2 CPU Usage ........................................................................................ 89 5.2.3 Memory usage ................................................................................. 89 5.2.4 Message Delivery and Request Interruption ................................. 90 5.2.5 Request Duration ............................................................................. 91 5.2.6 Zero Downtime (Distributed Spinnaker) ......................................... 92 Chapter 6 ..................................................................................................... 93 6 Discussions and Conclusions .............................................................. 93 6.1 Descussion and Analysis ........................................................................ 93 6.2 Future Work ............................................................................................. 93 Appendix A .................................................................................................. 95 Appendix B .................................................................................................. 96 Appendix C .................................................................................................. 98 References ................................................................................................. 102 ii iii Abstract Traditional mechanisms of deployment of deferent applications can be costly in terms of time and resources, especially when the application requires a specific environment to run upon and has a different kind of dependencies so to set up such an application, it would need an expert to find out all required dependencies. In addition, it is difficult to deploy applications with efficient usage of resources available in the distributed environment of the cloud. Deploying different projects on the same resources is a challenge. To solve this problem, we evaluated different deployment mechanisms using heterogeneous infrastructure-as-a-service (IaaS) called OpenStack and Microsoft Azure. we also used platform-as-a-service called Kubernetes. Finally, to automate and auto integrate deployments, we used Spinnaker as the continuous delivery framework. The goal of this thesis work is to evaluate and improve

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    111 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us