If you’ve migrated your application to AWS, you’re aware of the benefits of cloud computing. Even after you’ve moved your code into an EC2 instance and your files into S3, there are more AWS services you could be taking advantage of, and more are added every day. Below are five useful services every non-AWS professional should know about to get the most out of their application in AWS.
Simple Email Service (SES)
What It Does
AWS’s Simple Email Service can replace your current email service to send and receive emails. Emails are sent through Amazon’s SMPT interface or the Amazon SES API to make integration with your application as simple as possible.
How It Can Improve Your Application
SES is cost-effective compared with other third-party email solutions (if you don’t send many emails, it won’t cost a thing) and scans outgoing messages to make delivery as reliable as possible. SES also offers reputation monitoring, which alerts you to bounce and complaint rates of emails you send – two metrics that ensure the right emails are to the right addresses.
What It Costs
Full pricing information is available here, but for an EC2 hosted application sending emails, the first 62,000 are free with each 1,000 after that costing $0.10, plus $0.12 per GB of attachments.
Simple Notification Service (SNS)
What It Does
Amazon’s Simple Notification Service allows you to send messages to a set of subscribers. This can range anywhere from sending tasks to the Simple Queue Service to sending push notifications or text messages to mobile phones.
How It Can Improve Your Application
SNS allows for “fanout” scenarios, in which an SNS message is replicated and pushed to multiple SQS queues or HTTP endpoints for processing. For example, an application could have one queue that handles processing or fulfillment of an order while a second queue runs analysis on the order.
SNS can also be useful for system alerts. Through the AWS console, different AWS services can be set up to send text messages or email alerts when certain events happen, such as a server failing a health check.
Finally, SNS can be used to send notifications to your site’s users. If your site offers delivery of a product, SNS can alert users through text messages, email, or mobile push notifications when the item has shipped and when it has been delivered.
What It Costs
Costs can vary depending on the notification type, and like SES, SNS includes a free tier. Keep in mind while looking at pricing that a request is 64KB, and if your requests are larger, they’ll count as multiple requests each. To find out how many requests a single request will count as, take the message size and divide by 64. For example, a 256KB request will count as four requests.
Auto Scaling
What It Does
Auto Scaling allows an application to scale in real-time to meet sudden demand spikes. Auto Scaling will monitor a server’s health to ensure the load on each server is below a certain threshold. When a server gets too busy, Auto Scaling adds more to handle the increased demand. Additionally, if a server fails a health check and can’t handle any requests, Auto Scaling will terminate the server and start up a new one.
How It Can Improve Your Application
Auto scaling is essential for any application that sees a wide range of traffic. When a site gets busy, it won’t slow down for the users. Or, if a server goes down without warning, an IT professional won’t need to be called in to fix it.
Auto Scaling also works in the other direction. If a site isn’t seeing as much traffic as usual, servers can be shut down to save on costs.
What It Costs
Auto Scaling is a free service and, as mentioned above, can save money with the right configuration. Just keep in mind not to scale too aggressively – you’re still charged for every running server.
Simple Queue Service (SQS)
What It Does
AWS’s Simple Queue Service takes in messages (from the Simple Notification Service, for example) and processes those messages. There are two kinds of queues: Standard and First-In First-Out (FIFO). Standard will process messages the fastest, but the messages may be completed out of order and more than once. FIFO operates like a line at the post office. Requests are handled in the order they arrived, and each one is processed only once. The downside is, FIFO is the slower option.
How It Can Improve Your Application
Any application that handles a lot of individual tasks can benefit from SQS. Let’s go back to the example from the SNS description. An application handles the processing and fulfillment of orders of a given product. Processing these orders immediately as they come in could take a lot of processing power, and could slow down the servers in the process. If the orders are sent to a queue instead, the processing of those orders are separated from the rest of your application, and the messages can be handled on whatever scale you determine.
What It Costs
SQS offers a free tier of 1 million requests each month, and many applications may be able to stay within that limit. After that, the cost is calculated per request plus data transfer charges, though data transferred from a server in the same region won’t be charged. Check out the pricing page for prices after that.
Cloud Front
What It Does
Cloud Front is a content delivery network (CDN) that speeds up distribution of your web content. This includes web pages, images, and videos. Normally, these files are stored in servers and are accessed when a user requests a site. With Cloud Front, the files are stored in data centers around the world called “edge locations.”
How It Can Improve Your Application
Applications with a worldwide user base can often experience slow loading pages or even timeouts. If the site contains a lot of video content and images, the problem only gets worse. Cloud Front brings the content closer to users and routes each request to the nearest edge location, drastically lowering latency and increasing data transfer rates. Your files are also more available and can be more reliably accessed since Cloud Front makes several copies of each file.
What It Costs
The free tier of Cloud Front allows for 50 GB and 2 million requests each month. After that, pricing is on demand and varies depending on the region. Check out the pricing page for more information.