Amazon Web Services for Developers For Dummies 9781119371847, 9781119371892, 1490652000, 0123456789, 1119371848

Modern businesses rely on Infrastructure-as-a-Service (IaaS), a setup where someone else foots the bill to create applic

1,003 130 17MB

English Pages 384 pages Year 2017

Report DMCA / Copyright

DOWNLOAD FILE

Amazon Web Services for Developers For Dummies
 9781119371847, 9781119371892, 1490652000, 0123456789, 1119371848

Table of contents :
Introduction 1About This Book 1Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 5Part 1: Discovering the AWS Development Environment 7Chapter 1: Starting Your AWS Adventure 9Defining the AWS Cloud 10Understanding service-driven application architectures 10Understanding process- and function-driven work flows 12Discovering IaaS 14Defining IaaS 15Comparing IaaS to SaaS 16Comparing IaaS to PaaS 17Determining Why You Should Use AWS 18Comparing AWS to other cloud services 18Defining target areas where AWS works best 19Considering the app types that AWS supports best 20Considering the AWS-Supported Platforms 22Obtaining an overview of the supported platforms 23Choosing an appropriate platform for your needs 25Chapter 2: Obtaining Development Access to Amazon Web Services 27Discovering the Limits of Free Services 28Expiring services versus non-expiring services 29Considering the usage limits 31Considering the Hardware Requirements 32Hosting the services locally 32Hosting the services in the cloud 34Defining a good development environment 35Getting Signed Up 36Obtaining an account 37Getting access keys 42Testing Your Setup 47Chapter 3: Choosing the Right Services 51Getting a Quick Overview of Free-Tier Services 52Understanding the free services 53Working with the online labs 58Choosing a free services path 59Considering the eventual need for paid services 60Matching AWS Services to Your Application 65Working with services during the free period 65Interacting with services after the free period 66Considering AWS Security Issues 67Getting the Amazon view of security 67Getting the expert view of security 68Discovering the reality of Amazon security 69Employing AWS security best practices 69Using the IAM Policy Simulator to check access 69Part 2: Starting the Development Process 73Chapter 4: Considering AWS Communication Strategies 75Defining the Major Communication Standards 76Transporting the data 76Obtaining an API method listing 78Making a request 78Understanding How REST Works 80Defining REST resources 80Working with requests and responses 81Overcoming those really annoying signature issues 83Chapter 5: Creating a Development Environment 87Choosing a Platform 88Considering the AWS-supported options 88Using JavaScript for browser examples 90Using Python for local examples 91Obtaining and Installing Python 91Obtaining Continuum Analytics Anaconda version 4.3.1 92Installing Python on Linux 93Installing Python on MacOS 94Installing Python on Windows 95Using Jupyter Notebook 98Defining the code repository 100Working with the Identity and Access Management Console 106Configuring root access 107Signing into a user account 111Installing the Command Line Interface Software 112Getting started with CLI 112Obtaining additional information and help 113Configuring S3 Using CLI 114Creating the aws utility configuration file 115Obtaining S3 information 116Configuring S3 Using Node.js 117Installing Node.js 117Configuring Node.js 118Dealing with credentials 119Dealing with Cross Origin Resource Sharing (CORS) 119Making a call 122Configuring S3 Using a Desktop Application 123Installing boto 124Listing S3 buckets 124Chapter 6: Creating a Virtual Server Using EC2 125Getting to Know the Elastic Compute Cloud (EC2) 126Understanding basic EC2 configuration 126Defining the security setup 128Using the standard storage options 130Working with Elastic Block Store (EBS) Volumes 130Knowing the EBS volume types 130Creating an EBS volume 131Discovering Images and Instances 137Generating security keys 138Creating an instance 138Connecting to the instance 143Part 3: Performing Basic Development Tasks 145Chapter 7: Understanding AWS Input/Output 147Considering the Input/Output Options 148Working with JSON 149Working with XML 150Working with Amazon API Gateway 151Defining the uses for the API Gateway 151Defining the security requirements 151Understanding models 153Mapping templates 153Creating an API Gateway using the console 154Accessing an API Gateway using the CLI 161Chapter 8: Developing Web Apps Using Elastic Beanstalk 165Considering Elastic Beanstalk (EB) Features 166Deploying an EB Application 168Creating the application entry 168Testing the application deployment 178Setting application security 178Configuring the application 181Working with application environments 182Updating an EB Application 183Getting the sample code and making a change 184Uploading the modified application 184Switching application versions 186Removing Unneeded Applications 188Monitoring Your Application Using Amazon CloudWatch 188Chapter 9: Developing Batch Processes and Scripts 191Considering the Batch-Processing and Script Options 192Defining the difference between batch processing and scripting 192Understanding the batch-processing options 193Understanding the scripting options 196Performing Batch Processing Locally 198Developing Scripts 199Using Scripts Locally 201Interacting with aws-shell 202Considering aws-shell features 202Getting aws-shell 203Performing simple tasks 204Obtaining help 206Editing your commands 206Chapter 10: Responding to Events with Lambda 209Considering the Lambda Features 210Working with a server 210Working in a serverless environment 211Starting the Lambda Console 212Creating a Basic Lambda Application 214Selecting a Lambda blueprint 214Configuring a function 216Using ensembles for functions 222Creating the test setup 223Testing the function 223Fixing test function errors 226Checking the function metrics 226Modifying the function code 227Deleting the function 229Interacting with Simple Queue Services (SQS) 229Creating a queue using the console 230Working with the CLI to configure SQS 232Writing a program in Python 233Using Lambda to create entries 234Part 4: Interacting with Databases 239Chapter 11: Getting Basic DBMS Using RDS 241Considering the Relational Database Service (RDS) Features 242Choosing a database engine 242Understanding the need to scale efficiently 245Defining data replication 246Cloning your database 247Managing RDS 248Accessing the RDS Management Console 249Using the CLI alternative 254Performing management tasks programmatically 256Creating a Database Server 257Installing a database access product 258Accessing the instance 258Adding tables 260Working with other features 260Adding Support to Applications 265Considering the access requirements 265Configuring the MySQL setup 267Interacting with the database 267Configuring Load Balancing and Scaling 269Defining the purpose of load balancing 269Working with Elastic Load Balancing 270Defining the purpose of scaling 274Working with Auto Scaling 275Chapter 12: Programming Techniques for AWS and MySQL 279Interacting with RDS 280Interacting with option groups using the console 281Using the CLI to work with events 288Employing programming techniques to read and write parameter groups 293Working with MySQL Code 300Enabling stored procedures, functions, and triggers 300Using stored procedures 301Working with the MySQL/RDS Tables 302Performing Data Uploads 305Performing Data Downloads 307Chapter 13: Gaining NoSQL Access Using DynamoDB 309Considering the DynamoDB Features 310Getting a quick overview of NoSQL 310NoSQL Limitations 311Differentiating between NoSQL and relational databases 312Defining typical uses for DynamoDB 314Downloading a Local Copy of DynamoDB 314Performing the installation 314Starting DynamoDB locally 315Overcoming the Windows OSError issue 316Testing your DynamoDB installation 316Creating a Basic DynamoDB Setup 318Developing a Basic Database 321Configuring tables 322Adding items 327Modifying items 332Copying items 332Deleting items 333Deleting a table 333Performing Queries 333Using the console 333Querying the database programmatically 336Part 5: The Part of Tens 339Chapter 14: Ten Ways to Create AWS Applications Quickly 341Working at the Console 341Using Example Source Code 342Combining Trial-and-Error Techniques 343Watching the Videos 343Attending the Webinars 344Discovering Others Efforts 345Depending on Peer Support 345Working with Blogs 346Using Alternative Sources 347Going Back to Tutorials 347Chapter 15: Ten AWS Tools Every Developer Needs 349Obtaining Additional Amazon Offerings 350Enhancing ASW services directly 350Employing Tools for Amazon Web Services 350Wandering through Amazon Marketplace 351Getting Amazon-supported peer help 352Partnering with a Third Party 352Developing New Knowledge 353Getting an education 353Locating online blogs and note sources 354Rely on an information repository 354Using Bitnami Developer Tools- 355Relying on Device Emulators 355Index 357

Polecaj historie