The Amazon Web Services Platform
I've been working with Amazon Web Services as part of a new job, and I was surprised to see how many rich services Amazon is offering under the AWS banner now. Â
Â
I made a point of looking at every one of them (as of October 2017) and reading enough about it to get what it's for. The scope of these services is incredible, and I get what the "serverless" trend is about now. Â You can build and deploy complete application back ends in AWS, start to finish. No surprise to many, I'm sure, but last time I looked at AWS it was mostly storage and VMs.
Â
Here's my cheat sheet.
Â
Code Hosting
VMs in the cloud. |
|
Docker containers in the cloud. |
|
Cheap, simple VMs in the cloud. Backed by EC2. Check out this StackOverflow post for some details. |
|
App hosting. You supply the your application code (Java, PHP, .NET, Node, Tomcat, Ruby, etc), and they run it on a managed server. |
|
Function hosting. You write backend logic code in JS, C#, Java or Python, and it hooks up to an endpoint that you can call or trigger from other AWS activity. "Serverless". |
|
Manages running large jobs in parallel Docker containers across many EC2 instances. |
File Storage
Simple file storage with an HTTP API. Pay for the amount of storage and transfer you use. |
|
Provides filesystem semantics on top of S3. |
|
Slow, low-cost storage, for backups and archiving. |
|
Software you run that acts as a local cache for your EFS data. Mount as iSCSI or as a share on your network. |
Database
Hosted SQL databases (hosting MySQL, PostgreSQL, or a number of others). |
|
Amazon's own MongoDB style noSQL database. |
|
Hosted redis / memcached compatible in-memory caching. |
|
"a fast, fully managed, petabyte-scale data warehouse solution" |
Â
Artificial Intelligence
Speech recognition and natural language understanding. Build a smart Slack bot. |
|
Text to speech. |
|
Imagine analysis and object detection. |
|
Machine learning. Upload models, run them on data. |
Â
Messaging
Message queueing service. Create queues, add messages to them, and have various things pull messages and act on them. |
|
Send and receive email. SMTP gateway or API. |
|
Pub/Sub messaging, for delivering notifications to different parts of your application, and SMS notification service. (Those two don't seem that similar to me). |
Â
Developer Tools
Sort of a New Project wizard for creating projects that use Amazon services, in a large number of languages. Generates a Git repository and the provisions the services your project type needs. |
|
Amazon does GitHub. |
|
Amazon does continuous integration. |
|
Automated deployment of built applications to EC2 instances. |
|
Visual workflow tool for orchestrating builds and deployments. |
|
Log and trace collection and analysis for distributed applications. |
Â
Migration
Move your MySQL data into Amazon's Aurora SQL database. |
|
Move your physical PC into an EC2 VM. |
|
Move your local data into and out of Amazon by copying it to physical devices and shipping them around. |
Â
That's the core stuff. I'm not going to list every other service, just the ones that I think might be of interest to app developers.
Â
CDN. Make your content available quickly worldwide. |
|
Amazon sells domains? |
|
Monitoring for your AWS services. |
|
Create templates for sets of services that you typically deploy together, with a visual editor for adding services and relationships. |
|
Audit trail for things that happen across your AWS services. |
|
Watches your AWS services and makes security, cost and other recommendations. |
|
Automated security analysis of your services. |
|
Free SSL certificates for your AWS-hosted services. |
|
User account management services for your apps. Good blog post here. |
|
Web application firewall. |
|
Collect, process and analyze streaming data. |
|
Online game server hosting, with game engine integration. |
|
Helps you provision AWS services and integrate them into your mobile app. Not really a service itself. |
|
Deploy your app to real physical devices for testing. "AWS Device Farm tests are run on real, non-rooted devices" |
|
Spam your users with push notifications. I'm sorry, I mean "Engage Your Audience with Messaging Campaigns". Also includes app usage analytics. |
|
High-level service that lets you create workflows by stringing together Lambda functions. |
|
Another workflow service, which on the surface seems pretty similar to Step Functions. |
|
Stream desktop applications to a web browser. |
|
Video format conversion. |
|
Define your own external API to give to your developers as a front end for the services you've built in AWS. |
Â
There are also services under the AWS banner, like WorkDocs, WorkMail, WorkSpaces and Chime, that seem more like Office365 type user services than developer services.