|
Published:
August 14, 2017

AWS For Developers For Dummies

Overview

Everything you need to get running with IaaS for Amazon Web Services

Modern businesses rely on Infrastructure-as-a-Service (IaaS)—a setup in which someone else foots the bill to create application environments—and developers are expected to know how to write both platform-specific and IaaS-supported applications. If you're a developer who writes desktop and web applications but have little-to-no experience with cloud development, this book is an essential tool in getting started in the IaaS environment with Amazon Web Services.

In Amazon Web Services For Developers For Dummies, you'll quickly and easily get up to speed on which language or platform will work best to meet a specific need, how

to work with management consoles, ways you'll interact with services at the command line, how to create applications with the AWS API, and so much more.

  • Assess development options to produce the kind of result that's actually needed
  • Use the simplest approach to accomplish any given task
  • Automate tasks using something as simple as the batch processing features offered by most platforms
  • Create example applications using JavaScript, Python, and R
  • Discover how to use the XML files that appear in the management console to fine tune your configuration

Making sense of Amazon Web Services doesn't have to be as difficult as it seems—and this book shows you how.

Read More

About The Author

John Mueller is an author and technical editor who has written 103 books. Some of his current works include Python development books. He has also written AWS For Admins For Dummies, which provides administrators a great place to start with Amazon Web Services (AWS). John has had an interest in AWS since its inception. In fact, he wrote Mining Amazon Web Services based on that humble beginning. Be sure to read John's blog at http://blog.johnmuellerbooks.com/.

Sample Chapters

aws for developers for dummies

CHEAT SHEET

Developers have amazing opportunities today to create applications that span the entire planet. Use this cheat sheet to help you get the job done faster and easier when using AWS as your cloud-based solution of choice.

HAVE THIS BOOK?

Articles from
the book

When working with the aws command to perform CLI tasks, you often need to add options to ensure that the commands work as intended. The following table gives you an overview of these options so that you can gain access to them quickly. Option Input Description --debug boolean Turn debug logging on or off. --endpoint-url string Use a different URL from the standard URL.
When working with AWS cloud data, accessing the data requires an endpoint, just as it does for your local network or drive. Nothing really changes from a procedural perspective, except that you must now provide a different endpoint than normal.From a developer perspective, the endpoint that RDS provides for a database instance is nothing more than a URL, which means that you can use the same techniques that you use for any online data.
Developers have amazing opportunities today to create applications that span the entire planet. Use this cheat sheet to help you get the job done faster and easier when using AWS as your cloud-based solution of choice.
When working with Python to access AWS using Boto3, you must create an instance of a class to provide the proper access. The following table you an overview of the services and associated classes that Boto3 supports, along with a link for finding additional information. Service Classes ACM Client, Paginators
To use the aws command to affect a particular service, you must provide a service name. The following table lists the AWS services that you can use with CLI. acm apigateway application-autoscaling appstream autoscaling batch budgets clouddirectory cloudformation cloudfront cloudhsm cloudsearch cloudsearchdoma
No “right” or “wrong” platform exists to use for AWS development; you should use the one that’s best for your intended purpose, given your specific set of programming skills and the requirements of the application. The following information discusses some of the many options you have in creating a development environment.
AWS RDS supports a number of database engines. Of course, supporting a single RDBMS might at first seem to do the trick because they all essentially do the same thing. However, you must consider a number of factors when choosing a database engine. These factors include (in order of importance): The RDBMS currently used for most of your existing projects Coding needs, such as the capability to execute scripts in specific ways Interoperability needs, especially when working with other organizations Automation needs, such as the capability to execute scripts in response to events or at a specific time Security concerns that may override other needs for data storage Data storage size or type requirements Management requirements For developers, the overwhelming first priority in choosing an RDBMS is using the same database that the organization uses to ensure a smooth transition from the test to the production environment.
All web services have security issues, including AWS. The most secure computer in the world has no inputs whatsoever. Of course, this super-secure computer also has no real-world purpose because computers without inputs are useless.An individual-use computer, one without connections to any other computer, is the next most secure type.
If you haven’t dealt with AWS or the cloud yet, you might be tempted to think of platforms as a specific combination of items. For example, when viewing your own local setup, you have a server that runs a specific operating system and has a specific set of hardware resources.The system has a specific Database Management System (DBMS) installed and relies on certain kinds of other software to provide end-user resources.
EB enables you to easily upload, configure, and manage applications of all sorts with AWS. An application isn’t useful unless people can access it with ease and make it perform whatever tasks it’s designed to perform in the most seamless manner possible.Achieving these goals requires the hosting platform to support various programming methodologies on a variety of platforms so that developers can use the tools most suited to a particular need.
Consider the meaning of elastic in many of the AWS service names. When you see the word elastic, you should think of the ability to stretch and contract. All the AWS documentation alludes to this fact, but it often makes the whole process sound quite complicated when it really isn’t. Just think about a computer that can stretch when you need more resources and contract when you don’t.
No matter how many services AWS offers, you still require some amount of hardware to use the services. The amount of hardware you require when working with services in the cloud is minimal because the AWS hardware does all the heavy lifting. When working with services locally, you need additional hardware because AWS is no longer doing the heavy lifting for you.
You can certainly create an API using CLI, but using the GUI to create the API is probably a lot easier when working with AWS. However, you might still want to access the API through CLI to see how it works in this environment (and make things easier for yourself when you create applications).A common thread when working with API Gateway CLI commands is the need for a REST API ID and a resource ID.
As with every other part of AWS, you can use a special management console to work with RDS. The RDS Management Console enables you to choose an RDBMS, create a database, add tables and other objects to the database, and make the database accessible to an application. You also use the RDS Management Console to perform administrative tasks, such as to configure security.
After you have CLI installed on your system, you can begin using it to perform useful tasks for AWS. For a developer, that means being able to perform configuration, check status, and do other sorts of low-level tasks with the various AWS services. The information here helps you understand how you can use CLI to perform essential tasks with S3.
Even though many people consider the desktop dead, it still represents the most powerful and flexible method of interacting with AWS services. Using desktop applications also enable you to create environments in which local resources and cloud resources interact seamlessly under a level of control that isn’t possible using other approaches.
You have a number of ways to work with DynamoDB and AWS. For example, you can go with the local option. However, the local option is really only good for experimentation. If you want to start creating a production system, you need to get onto AWS and perform the required tasks in the cloud.Before you can do anything with DynamoDB, you must create an instance of it, just as you do for RDS.
You can create a simple API by using one of the Amazon examples. The idea is to help you get started using APIs with a minimum of fuss so that you can see the API workflow. Later examples will help you create custom APIs so that you can see all the ways in which you can modify API behavior. The following steps get you started.
When you first configure your EC2 instances, you won’t have any Elastic Load Balancers configured — so you must create one for AWS. The Elastic Load Balancer must appear in the same region as the EC2 instances that it serves. The following steps help you create an Elastic Load Balancer: Sign into AWS using your administrator account.
The console approach to creating an application entry offers the greatest level of AWS support, which makes creating basic, one-time application entries easy. However, using the console isn’t necessarily the fastest approach. Also, you can’t script it, and finding some of the details can be difficult. The following steps describe how to create the application entry using the console approach: Sign in to AWS using your user account.
The process for creating an EC2 instance when using AWS can become quite complex. You can manually create key pairs used to log in to the instance, for example, or create a special security group to help maintain EC2 security. In addition, you can use a custom AMI to configure your instance. The problem is that all these extra steps make what should be a relatively simple process for experimentation purposes quite difficult.
Before you can do much with SQS, you need a queue. It’s possible to create a queue using the AWS console, CLI, or programmatically. Using the console to create the queue simply to allow you to see how the console appears.. Sign into AWS using your user account. Navigate to the SQS Console.You see a Welcome page that contains interesting information about SQS and what it can do for you.
In contrast to many of the other AWS services, you can actually get a local copy of DynamoDB that you can work with offline. Using DynamoDB offline, on your local machine, means that you can try various tasks without incurring costs or worrying about potential connectivity issues.In addition, you can use DynamoDB in a test environment, in which you use a copy of your data to mimic real-world situations.
You use access keys with API calls to allow the call to proceed. Without an access key, AWS rejects any requests made. Access keys come in two parts: public and secret. To safeguard your setup, the private key must remain private. During the creation process, you download both keys. Make sure you keep them in a safe place.
In order to work with EB in AWS, you need an EB version of CLI. To obtain the needed software, open a command prompt or terminal window, type pip install --upgrade awsebcli, and press Enter. You see a relatively long list of messages followed by a success message.To test your setup, type eb --help and press Enter.
CLI is an essential part of working with AWS, especially for a developer. You can use CLI to perform quick setups, determine whether specific calls worked as intended, obtain status information, and so on. There isn’t anything new about CLI.After all, developers have used the command prompt or terminal window on desktop systems to perform various tasks for years.
Data uploads normally occur when you initially set up and configure an application with AWS. You likely already have data that you want to use on a local network. The upload process sends the data from your local network to the cloud. Of course, you might also have other reasons to perform data uploads. No matter what the reason, check out how to perform a data upload by using MySQL Workbench.
Any code you deploy using EB becomes immediately public at the URL provided in the URL field unless you change the security rules for AWS. This means that you really do need to verify that the page is safe to display before you deploy it. However, you can also make the page private by following these steps: Choose Services → EC2 from the menu at the top of the page.
At some point, you need to consider the fact that you’ll have to pay for the services you need to use AWS effectively. Yes, you can perform a considerable amount of careful testing before payment becomes necessary, but eventually you’ll have to pay for something. This means planning for the services that you must pay for in advance so that you don’t suddenly find yourself buried in debt during the discovery phase of your AWS adventure.
You’ll need to make sure your AWS applications are updated regularly. Applications don’t exist in a vacuum: organizational and other requirements change, environments evolve, user needs change, and so on. As the application functionality and operation changes, so must the application configuration and setup. The environmental needs change as well.
Finding data in AWS that you need can become problematic. A few records, or even a few hundred records, might not prove to be much of a problem. However, hundreds of thousands of records would be a nightmare to search individually, so you need to have some method of finding the data quickly. This assistance comes in the form of a query.
AWS application development requires long-term planning. Even though you deliver a product in increasingly shorter intervals, the goal is to create an application that is flexible enough and reliable enough to deal with organizational needs long term. With this in mind, check out the criteria you need to consider when matching AWS services to your application.
Monitoring with Amazon CloudWatch lets you determine whether the application environment is sufficient for your application. For example, you may decide that you require a different instance type because of the amount of traffic. To monitor your application, choose the Monitoring option in the Navigation pane.
Because of the way Amazon has set up its site, you can easily miss those special offerings that might make the difference between an easy project and a hair-pulling one. Enhancing ASW services directly Many of the AWS services give you the means to update their functionality directly. The update falls outside the range of AWS configuration.
It would be nice if everything worked precisely as planned when making your REST call to AWS. However, a number of issues can occur that result in an error message similar to the one you see here. Note that the image isn’t complete. The key values are blocked to maintain the usability of the access keys. Error messages can take various forms.
Localized batch processing, even when using AWS, uses the built-in capabilities of systems owned by an organization. You can use batch processing for a variety of tasks. Larger businesses will naturally want to use cloud-based batch processing for common needs, partly because their IT departments are large and complex.
Data downloads normally occur when you want to create a local copy of the data that you’ve worked with in the AWS cloud. There are all kinds of reasons to perform this task, with backup and application performance forming the two most common needs. Normally, the data download goes into a read-only database because you don’t want any local changes to the data.
Even though AWS has a lot to offer, you still need to consider how it answers your specific needs. This consideration goes beyond simply determining whether you really want to move to cloud-based services, but also takes into account other offerings that might serve your needs just as well (if not better). You should compare AWS with other cloud services.
To interact with AWS in any meaningful way, you must communicate with it. Communication occurs at several levels, which include: Transport: This is the underlying layer that actually transfers the data between parties. Discovery: To interact with AWS, you need to know which methods are available. The discovery level allows you to use a common URL to request the list of available methods for a particular service in either XML or JSON as a list of hyperlinks.
The capability of your application to scale depends on its access to resources. AWS provides consistent access to its resources by using autoscaling, which is a combination of automation and scaling. Monitors generate events that tell services when an application requires additional resources, such as servers, to maintain a constant level of output so that the user doesn’t see any difference between a light and a heavy load.
As a developer, you need to meet end-user demands with the least amount of effort and in the quickest time. Amazon Web Services (AWS) is a huge array of services that affects consumers, small to medium-sized businesses (SMB), and enterprises. Using AWS, you can do everything from creating applications for remote access to organization data to creating a full-fledged IT department in the cloud.
Autoscaling is a built-in feature that automatically adjusts how your AWS setup reacts to loads. Autoscaling is the service you use to make your RDS setup autoscale within limits that you specify.When you see the term autoscaling, think of the generic use of a feature (not necessarily a service) to make applications, services, and other AWS features add and remove resources as needed to make applications scale better and provide a consistent user experience.
The aws-shell utility comes with a host of interesting features. The interactivity alone makes it worth using, but you also get these additions as part of the package (make sure to also check out the blog that is available from within the preceding article link): Auto-completion: As you type commands, you see a list of available options to complete the next step.
https://cdn.prod.website-files.com/6630d85d73068bc09c7c436c/69195ee32d5c606051d9f433_4.%20All%20For%20You.mp3

Frequently Asked Questions

No items found.