Simple Guide to Amazon Services

I love Amazon services. I truly believe they provide the best service for our clients whether you get 500,000 visitors a month or 5000.. Here are some simple explanations of some of the more popular services. Feel free to comment some descriptions of your own.

EC2

These should have been called Amazon Virtual Servers. They are used to host sites similar to any of the popular virtual servers you can get. (Linode, DigitalOcean or Rackspace). They are simple to setup and work hand in hand with tons freely available AMI’s (Amazon Machine Images). There are several that run CentOS our favorite. One interesting thing to note is that the T2 instances are “burstable” they are designed as general purpose servers that dont always use full capacity. Amazon introduced CPU Credits to track this unused time. Every minute of the day, an instance adds credits. Each instance also has a baseline CPU level: 10% for t2.micro, 20% for t2.small, and 20% for each of 2 cores for t2.medium. The instance will always have this baseline capability. But when it requires more CPU, it simply uses some of its CPU credits. This works great for web servers, that for the most part can idle. You can monitor your “burst balance” here:

https://aws.amazon.com/blogs/aws/new-burst-balance-metric-for-ec2s-general-purpose-ssd-gp2-volumes/

Link to how to search for AMI:

Link to Docs:

S3

Should have been called Amazon Unlimited FTP Server. This service is used to store images, assets, backups, storage shares, and can even host static websites. We keep lots of static assets here including our current backups. For long term storage we use glacier storage class which takes longer to retrieve but is extremely cheap. They recently gave you an option for expatiated retrieval if you need your data quickly.

You can read more about storage classes for S3 here.

Glacier Faq

https://aws.amazon.com/glacier/faqs/

Link to Storage Classes for S3:

http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.htm

Link to Docs:

RDS

Should have been called Amazon SQL. This is database that your site uses on the backend. Although lots of people still like to run a dedicated instance for their database because its cheaper. RDS, is a great choice if you want hands off, great incremental backups, and easy scalability.

RDS offers several different database engines depending on your need. Amazon Aurora, MariaDB, Oracle, Microsoft Sql Server, or PostgreSQL

Aurora is the next stage in Amazon’s hosted DB services. Its fully compatible with MYSQL and they took many of the things learned from RDS for Mysql and applied them here. Most of the benchmarks I see on the web put it significantly faster than RDS for Mysql, but it comes at about a 20% price increase. The other engine types are pretty self-explanatory.

Link to Docs:

SES

Should have been called Amazon Transactional Email Use this to
Send one-off emails like password resets, notifications, etc. You could use it to send a newsletter , but that’s not a great idea as its “transactional email”. It’s like SendGrid, Mandrill, Postmark. We tend to use it on sites we host via SMTP. It keeps us from having to run a mail server.

Link to Docs:

Cloudfront

Should have been called Amazon CDN Use this to
Make your websites load faster by spreading out static file delivery to be closer to where your users are. It’s like MaxCDN, Akamai. its a great choice for edge delivery.

Link to Docs:

ELB

Elastic Load Balancing should have been called “Scalabilty made easy”. In the past you needed complicated software or hardware to distribute traffic across multiple servers to increase capacity and reliability.

Link to Docs:

Cloudwatch

Cloud watch should have been called “Simple Server Monitor” it can be compared too something like New Relic and other server monitoring tools. It monitors AWS cloud resources and the applications . You use it to collect and track metrics, collect and monitor log files, set alarms, and automatically react to changes in your AWS resources. A simple example of this could be setting an alarm when your CPU usages gets over a certain percentage. There are a multitude of alerts in the documentation.

Link to Docs:

API Gateway

Amazon API gateway should have been called “API abstraction” it makes it easy to build and maintain API’s at a low cost. In the past you had to build all this infrastructure or use expensive services.

Link to Docs:

Elastic Beanstalk

Is a free service for deploying apps on amazon infrastructure

Link to Docs:

Cloud Search

Makes it easy to add a search solution for your amazon resources that is easily managed and scaled.

Link to Docs:

Code Commit

Amazons managed git repository

Link to Docs:

Code Deploy

Was created to manage deployments across aws and existing infrastructure

Link to Docs:

CodePipeline

AWS CodePipeline integrates with several Amazon services. It pulls source code from Amazon Simple Storage Service and deploys to both AWS CodeDeploy and AWS Elastic Beanstalk. A developer can also integrate AWS Lambda functions or third-party DevOps tools, such as GitHub or Jenkins.

Link to Docs:

EC2 Container Service

Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances.

Link to Docs:

AWS Lambda

AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a compute service that runs code in response to events and automatically manages the compute resources required by that code.

Link to Docs:

Big Data on Amazon Overview

Links to Docs:

RedShift

Fully managed petabyte database based on postgres. Its a lot faster that the Postgress on amazon, due to a couple of things.

  1. Instead of reading rows (like a postgress) it compresses data in columns, storing more directly in RAM. Which is great for analytics
  2. It also takes advantage of multiple cores for a single query.

If you want fast queries Redshift is the way to go.

Link to Docs:

Amazon Machine Learning

Amazon Machine Learning is a managed service that provides visualization tools and wizards that guide you through the process of creating machine learning (ML) models without having to learn complex ML algorithms and technology. This should have been called Machine Learning made easy.

Links to Docs:

Amazon Systems Manager

Amazon Systems Manager is a t service that helps you automatically collect software inventory, apply OS patches, create system images, and configure Windows and Linux operating systems both on the cloud and in other locations.

With this service you can run commands across your instances using the aws-cli , have scalable configuration management, manage inventory, manage patches, and automate routine tasks.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.