ebook img

Application of Amazon Web Services in software development PDF

106 Pages·2017·1.64 MB·English
by  
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Application of Amazon Web Services in software development

DEGREE PROJECT IN TECHNOLOGY, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2018 Application of Amazon Web Services in software development EMELIE THAM MARCUS WERLINDER KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Abstract Duringtheselastrecentyearscloudcomputingandcloudservices have started to gain traction, which has been most notable among companies. Amazon have proven to be one of the powerhouses on providing scalable and flexible cloud computing services. However, cloud computing is still a relatively new area. From an outsider’s point of view, the overwhelming information and available services might prove to be difficult to familiarize with. The aim of this the- sis is to explore how Amazon Web Services can be applied during softwaredevelopmentandobservinghowdifficultitmightbetouse theseservices. Three test applications that utilized different Amazon Web Ser- viceswereimplementedtogetaninsightintohowAmazonWebSer- vicescanbeappliedfromacloudcomputingbeginner’spointofview. These applications were developed in an iterative manner, where a case study was performed on each application. At the start of each new iteration a literature study was conducted, where sources were reviewed to see if it provided essential information. In total, nine differentAmazonWebServiceswereusedtoimplementandtestthe three respective test applications. Results of the case study were in- terpretedandevaluatedwithregardstothelearnabilityandappliance of Amazon Web Services. Issues that were identified during the de- velopmentprocessshowedthatAmazonWebServiceswerenotuser- friendlyforusersthathavelittletonoexperiencewithcloudcomput- ingservices. Further research on other Amazon Web Services, such as Elastic Cloud Computing, as well as other cloud computing platforms like Google or IBM, may provide a deeper and more accurate insight on theappliancesofcloudcomputing. Keywords: Cloud computing; Amazon Alexa; Learnability; Amazon Web Services;Software;Cloudcomputingservices Abstrakt Underdemsenasteårensåharmolntjänsterblivitettalltmerpop- ulärtområde,specielltinomföretag.Ettavdemstörstautgivareinom molntjänst branschen är Amazon som erbjuder skalbara och flexibla molntjänster. Molntjänster är dock ett relativt nytt område, vilket innebär att någon som inte är insatt i ämnet kan finna all tillgäng- lig information överväldigande och svår att bekanta sig med. Målet meddethärtesenärattutforskaolikaAmazonWebServicesomkan användasinommjukvaruutvecklingochobserveraproblemsomkan uppståmeddessatjänster. Tre testapplikationer som använde sig av Amazon Web Services var skapade för att få en fördjupad kunskap om hur dessa tjänster fungerarochvadförmöjligheterdehar. Dessaapplikationerutveck- lades iterativt och en fallstudie utfördes för varje applikation. I bör- janavvarjenyiterationgenomfördesenlitteraturstudie,därkällorna varkritisktgranskadeförattseifalldeminnehöllväsentliginforma- tion för tesen. Sammanlagt användes nio olika Amazon Web Ser- vices för att implementera och testa de tre olika testapplikationerna. Resultatenfrånfallstudientolkadesochutvärderadesmedavseende påAmazonWebServiceslärbarhetochtillämpningsbarhet. Problem som samlades ihop under utvecklingsprocessen visade att Amazons Web Services inte var särskilt användarvänligt för utvecklare med litenelleringenerfarenhetinomAmazonWebServices. YtterligareforskninginomandraAmazonWebServicessomElas- ticCloudComputingochforskningsomundersökerandramolntjänst plattformar som Google Cloud, skulle kunna bidra med en djupare förståelseochmerexaktinblickkringtillämpningavmolntjänster. Nyckelord: Cloudcomputing; AmazonAlexa; Learnability; AmazonWeb Services;Molntjänster Acknowledgements We would like to thank our advisors at KTH Royal Institute of Technology, Anders Sjögren and Fadil Galjic, for providing us with their valuable insights and feedback throughout the course of this wholethesiswork. Contents 1 Introduction 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Methodology/Methods . . . . . . . . . . . . . . . . . . . . . 3 1.6 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.7 Disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 TheoreticalBackground 5 2.1 CloudComputing . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 AmazonWebServices . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 AWSCloudcomputinginfrastructure . . . . . . . . . 6 2.2.2 AWSLambda . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.3 Alexa&AlexaSkill . . . . . . . . . . . . . . . . . . . . 8 2.2.4 AWSIdentityandAccessManagement . . . . . . . . 9 2.2.5 AWSRelationalDatabaseService . . . . . . . . . . . . 11 2.2.6 AWSVirtualPrivateCloud . . . . . . . . . . . . . . . 12 2.2.7 AWSElasticComputeCloud . . . . . . . . . . . . . . 13 2.2.8 AWSSimpleStorageService . . . . . . . . . . . . . . 13 2.2.9 AWSCloudWatch. . . . . . . . . . . . . . . . . . . . . 13 2.2.10 AWSSimpleQueueService . . . . . . . . . . . . . . . 14 2.2.11 AWSTranscribe . . . . . . . . . . . . . . . . . . . . . . 15 2.2.12 AWSComprehend . . . . . . . . . . . . . . . . . . . . 15 2.3 AmazonWebServicesToolsandLibraries . . . . . . . . . . . 15 2.3.1 AmazonWebServicesSoftwareDevelopmentKit . . 16 2.3.2 Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.3 NodePackageManager . . . . . . . . . . . . . . . . . 16 2.3.4 JSONObjects . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.5 AmazonWebServicesCommandLineInterface . . . 17 2.3.6 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.7 AlexaSkillsKitSoftwareDevelopmentKit . . . . . . 17 2.3.8 AlexaSkillKitCommandLineInterface . . . . . . . . 17 2.4 DefinitionandMetricsofSoftwareLearnability . . . . . . . . 18 2.4.1 TaskMetrics: Metricsbasedontaskperformance . . 19 2.4.2 CommandMetrics: Metricsbasedoncommandusage 20 2.4.3 MentalMetrics: Metricsbasedoncognitiveprocesses 20 2.4.4 SubjectiveMetrics: Metricsbasedonuserfeedback . 21 2.4.5 DocumentationMetrics: Metricsbasedondocumen- tationusage . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.6 UsabilityMetrics: Metricsbasedonchangeinusability 21 2.4.7 RuleMetrics: Metricsbasedonspecificrules . . . . . 22 2.5 RelatedWorks . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5.1 ReportsonCloudServices . . . . . . . . . . . . . . . . 22 2.5.2 ProjectsusingAmazonWebServices . . . . . . . . . 22 3 Method 25 3.1 ResearchMethodologies . . . . . . . . . . . . . . . . . . . . . 25 3.1.1 Inductive&DeductiveApproach . . . . . . . . . . . 25 3.1.2 Quantitative&QualitativeResearch . . . . . . . . . . 25 3.1.3 CaseStudy. . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.4 Bunge’smethod . . . . . . . . . . . . . . . . . . . . . . 26 3.1.5 AppliedResearchMethodology . . . . . . . . . . . . 26 3.2 Sub-questionsoftheresearchquestion . . . . . . . . . . . . . 27 3.3 ResearchMethod . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1 Understanding . . . . . . . . . . . . . . . . . . . . . . 28 3.3.2 Research . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.3 DevelopingandTesting . . . . . . . . . . . . . . . . . 29 3.3.4 Evaluation,DiscussionandConclusion . . . . . . . . 29 3.4 Evaluationmethod . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5 DevelopmentTools . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.1 DevelopmentEnvironments . . . . . . . . . . . . . . 31 3.5.2 ProgrammingLanguages . . . . . . . . . . . . . . . . 31 3.5.3 TestingandDebuggingTools . . . . . . . . . . . . . . 31 3.5.4 ProjectModel . . . . . . . . . . . . . . . . . . . . . . . 31 3.6 DocumentationModel . . . . . . . . . . . . . . . . . . . . . . 32 4 PrerequisitesforapplyingAWSServicesandTools 33 4.1 PrerequisitesofapplyingAWSServices . . . . . . . . . . . . 33 4.1.1 LambdaPrerequisites . . . . . . . . . . . . . . . . . . 33 4.1.2 IAMPrerequisites . . . . . . . . . . . . . . . . . . . . 35 4.1.3 S3Prerequisites . . . . . . . . . . . . . . . . . . . . . . 36 4.1.4 RDSPrerequisites . . . . . . . . . . . . . . . . . . . . . 36 4.1.5 SQSPrerequisites . . . . . . . . . . . . . . . . . . . . . 38 4.1.6 AmazonTranscribeandComprehendPrerequisites . 38 4.2 PrerequisitesofapplyingAWSTools . . . . . . . . . . . . . . 39 4.2.1 ASKCLIPrerequisites . . . . . . . . . . . . . . . . . . 39 4.2.2 AWSSDKPrerequisites . . . . . . . . . . . . . . . . . 40 4.2.3 AWSCLIPrerequisites . . . . . . . . . . . . . . . . . . 40 5 CaseStudy: CreatingTestapplicationswithAWS 43 5.1 CaseStudy: FirstTestApplication . . . . . . . . . . . . . . . 43 5.1.1 StructureoftheFirstTestApplication . . . . . . . . . 43 5.1.2 Creating an Alexa Skill and integrating it with AWS Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.1.3 IntegratingtheskillwithiCal . . . . . . . . . . . . . . 45 5.1.4 IntegratingtheAlexaSkillwithAWSRDS . . . . . . 46 5.1.5 TestingandRunningtheApplication . . . . . . . . . 47 5.2 CaseStudy: SecondTestApplication . . . . . . . . . . . . . . 49 5.2.1 StructureoftheSecondTestApplication . . . . . . . 49 5.2.2 ImplementationandConfigurationofAmazonS3Buck- ets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2.3 DeploymentPackageofAWSLambdaFunction . . . 51 5.2.4 ImplementationandConfigurationofIAMExecution Role. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.2.5 TestingandInvokingtheApplication . . . . . . . . . 56 5.2.6 ConfigurationofAmazonS3toPublishEvents . . . . 57 5.3 CaseStudy: ThirdTestApplication . . . . . . . . . . . . . . . 58 5.3.1 StructureoftheThirdApplication . . . . . . . . . . . 58 5.3.2 UploadingtoS3andsendingmessagestoSQS . . . . 59 5.3.3 Retrieve message from SQS and execute Transcribe andComprehend . . . . . . . . . . . . . . . . . . . . . 59 6 CaseStudy: ObservationsandMeasures 61 6.1 FeedbackandThoughts . . . . . . . . . . . . . . . . . . . . . 61 6.1.1 FeedbackandThoughts: FirstTestApplication . . . . 61 6.1.2 FeedbackandThoughts: ThesecondTestApplication 63 6.1.3 FeedbackandThoughts: ThethirdTestApplication . 66 6.2 LinesofCode . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.3 WorkHours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.4 Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7 AnsweringResearchQuestions 73 7.1 TheprerequisitesneededtouseAmazonWebServices . . . 73 7.2 The Amazon Web Services that were applied and how they wereused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3 Issuesthatoccurredduringdevelopment . . . . . . . . . . . 75 7.4 TheCostofusingAmazonWebServices . . . . . . . . . . . . 76 7.5 SummaryofResults. . . . . . . . . . . . . . . . . . . . . . . . 77 8 Discussion 79 8.1 ValidityandReliabilityoftheResearchMethod. . . . . . . . 79 8.2 Lookingbackattheresults . . . . . . . . . . . . . . . . . . . . 80 8.3 Benefits,EthicsandSustainability. . . . . . . . . . . . . . . . 81 9 Summary 83 9.1 FutureResearch . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Description:
ing services. Further research on other Amazon Web Services, such as Elastic . 2.3.7 Alexa Skills Kit Software Development Kit 17 .. range of already available slots, such as date, places, celebrities and much more. All NPM packages contain a JSON file, which keeps track of all the different
See more

The list of books you might like

book image

As Good as Dead

Holly Jackson
·2021
·6.41 MB

book image

Better Than the Movies

Lynn Painter
·2021
·1.51 MB

book image

Mind Management, Not Time Management

David Kadavy
·2020
·0.58 MB

book image

Atomic Habits James Clear

JAMES CLEAR
·6.4 MB

book image

Bülten No 32 - Ocak 2014

116 Pages
·2014
·5.67 MB

book image

Not a problem? girls and school exclusion

Osler, Audrey
·77 Pages
·2002
·0.248 MB

book image

Nature’s Crossroads: The Twin Cities and Greater Minnesota

George Vrtis, Chris Wells
·410 Pages
·2023
·7.451 MB

book image

Afroasiatic

Carlton T. Hodge
·133 Pages
·7.779 MB

book image

Star Trek and the Politics of Globalism

George A. Gonzalez
·156 Pages
·2018
·1.592 MB

book image

Greek Government Gazette: Part 2, 2006 no. 364

The Government of the Hellenic Republic
·2006
·0.28 MB

book image

THE WORKS OF GEORG EBERS

2254 Pages
·2021
·21.41 MB

book image

The Cossacks 1799-1815 Warrior 067

63 Pages
·2020
·20.86 MB