AWS for Developers For Dummies. Mueller John Paul
Читать онлайн книгу.significantly better in many ways. Here are the service categories that AWS offers:
❯❯ Compute
❯❯ Storage and content delivery
❯❯ Database
❯❯ Networking
❯❯ Analytics
❯❯ Enterprise applications
❯❯ Mobile services
❯❯ IoT
❯❯ Developer tools
❯❯ Management tools
❯❯ Security and identity
❯❯ Application services
Theoretically, you could create just about any kind of application imaginable using AWS. The difference isn’t in what tasks the application would execute or how the application would manage data – these issues are the same as when working at the desktop. What you need to consider is where the application would execute, which means understanding the capabilities of the underlying cloud environment in order to determine which applications that environment will support. You can divide AWS application types into these areas:
❯❯ End-user applications that the user accesses directly using a browser.
❯❯ End-user applications that currently execute within a browser but are augmented by background calls to AWS.
❯❯ End-user applications that currently execute on the desktop but are augmented by background calls to AWS.
❯❯ Management applications that interact directly with AWS.
❯❯ Web-service applications that react to calls from a remote application.
❯❯ Web-service applications that use a polled publish/subscribe model.
❯❯ Web-service applications that use a push publish/subscribe model.
You can come up with other application types. This list gives you an idea of what’s possible. The main point is that you still need to know something about the underlying environment. For example, if you want to create browser-based applications, you might rely on the Elastic Beanstalk service, which provides support for these default platforms:
❯❯ Apache Tomcat for Java applications
❯❯ Apache HTTP Server for PHP applications
❯❯ Apache HTTP Server for Python applications
❯❯ Nginx or Apache HTTP Server for Node.js applications
❯❯ Passenger or Puma for Ruby applications
❯❯ Microsoft IIS 7.5, 8.0, and 8.5 for .NET applications
❯❯ Java SE
❯❯ Docker
❯❯ Go
❯❯ Determining which service meets your app needs best directly out of the package.
❯❯ Defining which service features you need to make the app run as well as, if not better than, the same app when run locally.
❯❯ Expanding the service as needed to meet custom requirements.
❯❯ Obtaining third-party package support as needed to allow data and other resources access.
❯❯ Considering the need to modify application functionality to ensure full service in the cloud environment.
Considering the AWS-Supported Platforms
If you haven’t dealt with 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. The development platform is specific, too. You use a particular language with a predefined set of libraries to code application in just one way. The cloud doesn’t work this way. When working with the cloud, you have an array of operating systems that can support any of a number of DBMSs and has access to a wide assortment of end-user resource products.
With all these caveats and differences in mind, the question becomes one of determining the best way to use particular services rather than what functionality you have available. The following sections give you a quick overview of how to obtain more information about AWS support for specific platform features, given a particular service.
AWS is all about the services. You can see these services divided into categories at https://aws.amazon.com/. A category exists for every need. In just looking at the broad assortment of categories shown in Figure 1-1, you could get overwhelmed quite quickly.
FIGURE 1-1: AWS Services break down into individual categories.
The problem becomes even more obvious when you open one of the categories. For example, Figure 1-2 shows the Compute category, which is the first place you should go to discover what you can access in the way of development platforms.
FIGURE 1-2: Each category has a listing of services that it supports.
To perform most tasks, you create an EC2 virtual server. Drilling down into the EC2 virtual server information,