Apr 25, 2018 | 5 min read

5 Lesser-Known AWS Services That Can Benefit Your Application

By: Zachary Sersland

5 Lesser-Known AWS Services That Can Benefit Your Application

With so many services offered by AWS and more added all the time, it’s easy to overlook services that could benefit your application. Nearly every AWS-based website is going to use EC2 and S3, but there are a wide variety of services to expand your site in ways you may not have considered. Below are five lesser-known services every non-AWS professional should know about to take their application to the next level.

Amazon Kinesis

What It Does

AWS Kinesis is a way to ingest and analyze streams of data to gain real-time insights into what's happening with your application. There are four different variations of Kinesis - Video Streams, Data Streams, Data Firehose, and Data Analytics.

Video Streams takes video from sources like smartphones and stores and encrypts it. From there, you can perform all kinds of analysis on it, such as machine learning or face detection.

Data Streams takes in data from your application, stores it, and processes it using tools like Kinesis Data Analytics (described below), Apache Spark, or AWS Lambda. The data can then be presented using BI tools. Data Firehose is similar, but it loads and prepares data continuously rather than storing it.

Data Analytics takes input from Data Streams or Data Firehose and runs SQL queries against the streams. The output can then be passed on to analytics tools for easier analysis.

How It Can Improve Your Application

AWS Kineses can vastly improve your response time to data affecting you and your business. For example, say customers on your site can review products. Review information could feed into a Kinesis Data Stream, then get analyzed using Kinesis Data Analytics to process how negative a review is based on rating and keywords. The results of the analysis are then sent to another Data Stream that's being watched by an AWS Lambda function that triggers if a product gets three negative reviews in an hour, sending an email to stakeholders letting them know a product is defective. Or that same data can be sent to a database and presented as a graph indicating trends in a product's rating or as a list of poorly performing products.

What It Costs

You only pay for what you use with Amazon Kinesis, and the pricing considers three factors. The first is called a "shard hour," and no, it's not a plot device from The Dark Crystal. The number of shard hours you have indicates the maximum throughput your instance of Kineses can handle, and each shard allows for 1 MB/sec input and 2 MB/sec output. As the name suggests, you're charged by the hour for each shard. The second is PUT Payload Unit, which is the amount of data that is sent to the stream. Each unit is 25KB "chunks," so adding a 10KB record is one unit, a 25KB record is still one unit, and a 30 KB unit is two units. The final factor is Extended Data Retention, which is an optional feature that allows you to store data for 7 days (24 hours is the default). This price is calculated by multiplying the rate (currently $0.02) by the number of shard hours used in each month. More pricing information can be found here.

AWS Storage Gateway

What It Does

AWS Storage Gateway lets you connect your on-premise servers to cloud storage in AWS. The two most common types of gateways are file and volume gateways. File gateways let you use cloud storage with file-based applications while making minimal changes to the applications themselves. Volume gateways let you mount volumes on your on-premise or AWS servers. And since AWS has virtually unlimited storage, you'll never run out of space.

How It Can Improve Your Application

Storage in the cloud is much more reliable, available, and secure than on-premises storage. Since AWS can cache commonly used files, the time it takes to retrieve a file can be minimal with the right design. Additionally, Storage Gateway provides automated disaster recovery and backup options to local drives, such as taking snapshots of the drives and storing them in the cloud. This gives you the performance of a local disk with the low cost and high reliability of storing backups in the cloud.

What It Costs

The cost of a storage gateway can vary greatly based on how you're storing the data, how many requests you're making, and how much data you're transferring. Check the pricing page for exact rates.

Amazon EKS

What It Does

Running a complex website using Kubernetes in a production environment can be difficult to maintain without dedicating specialized resources to it. Amazon Elastic Container Service for Kubernetes (Amazon EKS) makes it easy to run Kubernetes on AWS. It eliminates many of the operational challenges of running Kubernetes in production, such as upgrading nodes and ensuring high availability.

How It Can Improve Your Application

EKS simplifies maintenance of your Kubernetes clusters by eliminating much of the expertise and manual work required to run Kubernetes. It runs three Kubernetes masters across three Availability Zones, and replaces unhealthy masters automatically. Other AWS services can also be leveraged, including Elastic Load Balancing and IAM authentication. All of this means that your application will have the high availability and tight security of any other AWS resource.

What It Costs

EKS is currently in Preview, but check the EKS Overview page for more information as it becomes available.

Amazon Simple Workflow Service

What It Does

Amazon Simple Workflow Service, or SWF, helps you build and coordinate workflows throughout your application. The service will maintain the application's state, track workflows and log their execution, and dispatch tasks.

How It Can Improve Your Application

SWF provides a simple API that can be executed from any language, making it easy to integrate with any application. The service is highly available, simpler than a custom code solution, and lets you separate the logic of your workflows from the rest of your application. Additionally, you can monitor the status of your workflows through the AWS Management Console.

What It Costs

If you have a smaller site, it's entirely possible to stay within the free tier for SWF. Pricing is based on the number of times a workflow is executed, the amount of data transferred, and how many times tasks, markers, timers, and signals are used. The data sent to SWF is free if it's within the same region, which is important to keep in mind while architecting your solution. Tasks, markers, timers, and signals are all part of a workflow, so designing a workflow to use those elements efficiently can save money in the long run. Use the calculator to estimate pricing and check the pricing page for more information.

AWS Cloudtrail

What It Does

AWS Cloudtrail doesn't affect your website but rather logs activity made by AWS accounts through the AWS Management Console, standard development kits, and command line tools. It enables governance, compliance, operational auditing, and risk auditing within AWS. Cloudtrail logs two kinds of events - management events, which include creating or modifying resources like EC2 instances and S3 buckets, and data events, which include requests made to S3 or calls from a Lambda function.

How It Can Improve Your Application

Cloudtrail can greatly simplify compliance by automatically recording event logs for any action an AWS account makes. This logging makes it much easier to identify any behavior that's out of the ordinary, and track down the account responsible. It also allows for security automation by tracking and automatically responding to changes in security policies. Furthermore, security troubleshooting becomes much easier when any changes to security policies are recorded and searchable.

What It Costs

Your first copy of management events is free, and additional copies cost $2.00 per 100,000 events. Data events cost $0.10 per 100,000 events. Get more information about AWS Cloudtail Pricing.

About Zachary Sersland

Zachary Sersland is a senior developer and team lead at DragonSpears. He earned his degree in computer science from Northwestern University and has been working in software development and consulting ever since. His focus is primarily in .Net and AWS, but he’s also taken on projects using Azure, PHP, and even Python. His favorite aspects of working at DragonSpears are the company’s development of leaders at every level and the opportunity to work with such talented teammates. He’s a movie fan, having seen every movie on the AFI and BFI Top 100 Films lists, and in high school, he earned money as a church organist.