A Study of the Effectiveness of Cloud Infrastructure
Total Page:16
File Type:pdf, Size:1020Kb
A STUDY OF THE EFFECTIVENESS OF CLOUD INFRASTRUCTURE CONFIGURATION A Thesis Presented to the Faculty of California State Polytechnic University, Pomona In Partial Fulfillment Of the Requirements for the Degree Master of Science In Computer Science By Bonnie Ngu 2020 SIGNATURE PAGE THESIS: A STUDY OF THE EFFECTIVENESS OF CLOUD INFRASTRUCTURE CONFIGURATION AUTHOR: Bonnie Ngu DATE SUBMITTED: Spring 2020 Department of Computer Science Dr. Gilbert S. Young _______________________________________ Thesis Committee Chair Computer Science Yu Sun, Ph.D _______________________________________ Computer Science Dominick A. Atanasio _______________________________________ Professor Computer Science ii ACKNOWLEDGEMENTS First and foremost, I would like to thank my parents for blessing me with the opportunity to choose my own path. I would also like to thank Dr. Young for all the encouragement throughout my years at Cal Poly Pomona. It was through his excitement and passion for teaching that I found my passion in computer science. Dr. Sun and Professor Atanasio for taking the time to understand my thesis and providing valuable input. Lastly, I would like to thank my other half for always seeing the positive side of things and finding the silver lining. It has been an incredible chapter in my life, and I could not have done it without all the love and moral support from everyone. iii ABSTRACT As cloud providers continuously strive to strengthen their cloud solutions, companies, big and small, are lured by this appealing prospect. Cloud providers aim to take away the trouble of the brick and mortar of physical equipment. Utilizing the cloud can help companies increase efficiency and improve cash flow. Many companies have adopted cloud solutions in their operations in the past few years. Large amounts of money are spent developing and installing software to improve their competitive advantage. Cloud computing enables businesses to utilize software on the internet as a service. The proposed project will examine and explore multiple ways to configuring cloud infrastructure in Amazon Web Services. Infrastructure as code has been an emerging trend. Each with different strengths and weaknesses. The choices and adaptability of code as infrastructure has grown tremendously along with cloud services. As the popularity of cloud services grow, the demand of infrastructure as code has grown with it. iv TABLE OF CONTENTS SIGNATURE PAGE ......................................................................................................... ii AKNOWLEDGEMENTS ................................................................................................. iii ABSTRACT ...................................................................................................................... iv LIST OF TABLES ........................................................................................................... vii LIST OF FIGURES ........................................................................................................ viii CHAPTER 1: INTRODUCTION........................................................................................1 CHAPTER 2: RELATED WORK ......................................................................................3 2.1 Model Driven Infrastructure.......................................................................................3 2.2 Self-provisioning Network Infrastructure .................................................................3 2.3 Quality of Infrastructure Code ..................................................................................4 CHAPTER 3: DEVELOPMENT OPERATIONS...............................................................5 3.1 Infrastructure as Code (IaC) ......................................................................................6 CHAPTER 4: BATTLE OF THE CLOUDS ......................................................................8 4.1 General specifications ................................................................................................8 4.2 Pricing ........................................................................................................................8 4.3 Compute Services.......................................................................................................9 4.4 Storage Services .........................................................................................................9 4.5 Database Services.....................................................................................................10 4.6 Overall......................................................................................................................10 v CHAPTER 5: AMAZON WEB SERVICES.....................................................................11 5.1 Configuration Manager Options...............................................................................12 5.2 PowerShell Desired Configuration (DSC) ...............................................................14 5.3 AWS AppConfig ......................................................................................................20 CHAPTER 6: RESEARCH GOAL ..................................................................................25 CHAPTER 7: METHODOLOGY .....................................................................................26 7.1 Initial Configuration ................................................................................................26 7.2 Configuration Update ..............................................................................................26 7.3 Tapered Configuration ............................................................................................26 7.4 Timeline ...................................................................................................................27 7.4.1 Round 1 ............................................................................................................27 7.4.2 Round 2 ............................................................................................................27 7.4.3 Round 3 ............................................................................................................27 7.4.4 Round 4 ............................................................................................................27 7.4.5 Round 5 ............................................................................................................28 CHAPTER 8: RESEARCH FINDINGS ...........................................................................29 8.1 Challenged Encountered...........................................................................................29 8.2 Evaluation of Results and Analysis .........................................................................29 CHAPTER 9: CONCLUSION AND FUTURE WORKS ................................................43 REFERENCES ..................................................................................................................45 vi LIST OF TABLES Table 1 Results of Round 1: Initial Configuration ……………………………… 34 Table 2 Results of Round 2: Configuration update – installation …………….… 35 Table 3 Results of Round 3: Configuration change – upload file ………………. 36 Table 4 Results of Round 4: Configuration change – script used to pull file …... 37 Table 5 Results of Round 5: Configuration tampering …………………………. 38 vii LIST OF FIGURES Figure 1 Cost of AWS vs Azure Resources ……………………………………..... 9 Figure 2 Common AWS Architecture for Web Applications …………………… 13 Figure 3 DSC Configuration for Web Application servers ……………………… 17 Figure 4 DSC Output Log ……………………………………………………….. 18 Figure 5 Using All Nodes in DSC ……………………………………………….. 19 Figure 6 Implementing All Node Functionality …………………………………. 20 Figure 7 Service Quotas for AppConfig …………………………………………. 24 Figure 8 Results of Test 1 Initial Configuration of DSC vs AppConfig ……….... 30 Figure 9 Average Time for all Test Rounds with DSC vs AppConfig .................. 31 Figure 10 Median Time for all Test Rounds with DSC vs AppConfig …...…...…. 31 Figure 11 Maximum Time for all Test Rounds with DSC vs AppConfig ………... 32 Figure 12 Minimum Time for all Test Rounds with DSC vs AppConfig …………33 Figure 13 Overall Performance Metrics of Round 1 (DSC vs AppConfig) ………. 34 Figure 14 Overall Performance Metrics of Round 2 (DSC vs AppConfig) ………. 35 Figure 15 Overall Performance Metrics of Round 3 (DSC vs AppConfig) ………. 35 Figure 16 Overall Performance Metrics of Round 4 (DSC vs AppConfig) ………. 36 Figure 17 Overall Performance Metrics of Round 5 (DSC vs AppConfig) ………. 36 viii CHAPTER 1 INTRODUCTION Technology has become a necessity of today’s generation. The demand for the advancement of technology has pushed companies to release more often to stay competitive. Many companies face challenges in scaling because they simply do not have the required resources and time to do it properly. Those issues are the reasons cloud providers were born. Companies has turned to cloud service providers to maintain their competitive advantage. A cloud service provider is a third-party company offering cloud-based platform, infrastructure, application, and or storage services. A way to visualize the role of a cloud provider would be a homeowner would pay for utilities such as electricity or water and would only pay usage consumption each month. Similarly, companies pay cloud providers for the usage. Cloud providers are based on the pay-per-used model. Companies can grow without worrying about