I use AWS extensively and it has many benefits. That said, I think they need to rethink some thing if they want to stay ahead of Google, Digital Ocean, etc.
Some thoughts:
## More focus on core products
- Still no IPv6, it's 2016.
- EC2/VPC (compute) didn't have a simple NAT-instance until a few months ago.
- S3 (storage) still has nothing like Nearline (GCE) and Glacier is so confusing and complicated that few bother using it.
- ELB (Load Balancer) still has scaling problems (with bursts).
- Still only a single public key per instance, why?
- Can only use ACM certificates for CloudFront if they are in us-east-1 (despite ACM being available in other geographies and CloudFront is global). Nothing major but weird.
- S3 has like a handful of different ways of setting permissions (per file, per bucket, iam, and some weird old xml-format). Why not simplify this?
## Interfaces are terrible
- Basically the entire console UI is low quality.
- Same with APIs, they could use a lot more polish.
- This is the API call to create a CloudFront (CDN) distribution: http://pastie.org/10931494 (no offence, but it looks like a group of schizophrenic monkeys designed that API).
## Think less about press-releases
- Apparently AWS force everyone to write the press-release for every product before designing[1].
- While it's good to keep the end-goal in mind I think many important details are lost.
- The press-release-thinking focus too much on features and too little on quality and (even more important) refinements to existing things.
## Release fewer features
- Every year on ReInvent [AWS conference] they tout how many hundreds of new features they've released[2]. I wish they'd release far fewer features and make them great instead (+ refine existing stuff).
>- Basically the entire console UI is low quality.
I wouldn't bet on them fixing this. Amazon in general are not big on design and in particular they aren't about making things look good. I think in general they see it as a waste of time, something that can always be done later after they have beaten their competitors. Obviously there's a threshold for this sort of neglect but they seem pretty expert at riding it.
Frankly what you said about it is polite. The AWS web interface is horrendously ugly and just barely functions well enough to be used. It's a testament to how little they care about good design but then again their consumer-facing website is no peach either.
>- EC2/VPC (compute) didn't have a simple NAT-instance until a few months ago.
Managed NAT is new, but the nat instances that previously existing could be spun up without any configuration outside of disabling src/dst check and configuring a route to point to them, and they've existed for many years. http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NA...
>- S3 (storage) still has nothing like Nearline (GCE) and Glacier is so confusing and complicated that few bother using it.
What gets me is that S3 is probably the easiest thing to learn about in AWS. I would understand if he complained about the million things you can do in EC2, but in S3 there is not much choice; S3, S3-IA, S3-RR. Throw in Glacier and there still are not much to get confused on.
I'm using S3 extensively and know the product pretty well.
Still, I think Nearline easily beats Glacier on simplicity and clarity. With Nearline it's super-obvious how long time retrievals take and what the costs are.
--------------
## Nearline
Q: How much does it cost?
1 cent per GB & month in storage. Plus 1 cent / gb of transfer (retrieval).
Q: How will I be charged when retrieving large amounts of data from Amazon Glacier?
You can retrieve up to 5% of your average monthly storage, pro-rated daily, for free each month. For example, if on a given day you have 75 TB of data stored in Amazon Glacier, you can retrieve up to 128 GB of data for free that day (75 terabytes x 5% / 30 days = 128 GB, assuming it is a 30 day month). In this example, 128 GB is your daily free retrieval allowance. Each month, you are only charged a Retrieval Fee if you exceed your daily retrieval allowance. Let's now look at how this Retrieval Fee - which is based on your monthly peak billable retrieval rate - is calculated.
Let’s assume you are storing 75 TB of data and you would like to retrieve 140 GB. The amount you pay is determined by how fast you retrieve the data. For example, you can request all the data at once and pay $21.60, or retrieve it evenly over eight hours, and pay $10.80. If you further spread your retrievals evenly over 28 hours, your retrievals would be free because you would be retrieving less than 128 GB per day. You can lower your billable retrieval rate and therefore reduce or eliminate your retrieval fees by spreading out your retrievals over longer periods of time.
Below we review how to calculate Retrieval Fees if you stored 75 TB and retrieved 140 GB in 4 hours, 8 hours, and 28 hours respectively.
First we calculate your peak retrieval rate. Your peak hourly retrieval rate each month is equal to the greatest amount of data you retrieve in any hour over the course of the month. If you initiate several retrieval jobs in the same hour, these are added together to determine your hourly retrieval rate. We always assume that a retrieval job completes in 4 hours for the purpose of calculating your peak retrieval rate. In this case your peak rate is 140 GB/4 hours, which equals 35 GB per hour.
Then we calculate your peak billable retrieval rate by subtracting the amount of data you get for free from your peak rate. To calculate your free data we look at your daily allowance and divide it by the number of hours in the day that you retrieved data. So in this case your free data is 128 GB /4 hours or 32 GB free per hour. This makes your billable retrieval rate 35 GB/hour – 32 GB per hour which equals 3 GB per hour.
To calculate how much you pay for the month we multiply your peak billable retrieval rate (3 GB per hour) by the retrieval fee ($0.01/GB) by the number of hours in a month (720). So in this instance you pay 3 GB/Hour * $0.01 * 720 hours, which equals $21.60 to retrieve 140 GB in 3-5 hours.
First we calculate your peak retrieval rate. Again, for the purpose of calculating your retrieval fee, we always assume retrievals complete in 4 hours. If you request 70GB of data at a time with an interval of at least 4 hours, your peak retrieval rate would then be 70GB / 4 hours = 17.50 GB per hour. (This assumes that your retrievals start and end in the same day).
Then we calculate your peak billable retrieval rate by subtracting the amount of data you get for free from your peak rate. To calculate your free data we look at your daily allowance and divide it by the number of hours in the day that you retrieved data. So in this case your free data is 128 GB /8 hours or 16 GB free per hour. This makes your billable retrieval rate 17.5 GB/hour – 16 GB per hour which equals 1.5 GB/hour. To calculate how much you pay for the month we multiply your peak hourly billable retrieval rate (1.5 GB/hour) by the retrieval fee ($0.01/GB) by the number of hours in a month (720). So in this instance you pay 1.5 GB/hour x $0.01 x 720 hours, which equals $10.80 to retrieve 40 GB.
If you spread your retrievals over 28 hours, you would no longer exceed your daily free retrieval allowance and would therefore not be charged a Retrieval Fee.
Q: How is my storage charge calculated?
The volume of storage billed in a month is based on the average storage used throughout the month, measured in gigabyte-months (GB-Months). The size of each of your archives is calculated as the amount of data you upload plus an additional 32 kilobytes of data for indexing and metadata (e.g. your archive description). This extra data is necessary to identify and retrieve your archive. Here is an example of how to calculate your storage costs using US East (Northern Virginia) Region pricing:
Your storage is measured in “TimedStorage-ByteHrs,” which are added up at the end of the month to generate your monthly charges.
Q: How long does it take for jobs to complete?
Most jobs will take between 3 to 5 hours to complete.
Some thoughts:
## More focus on core products
- Still no IPv6, it's 2016.
- EC2/VPC (compute) didn't have a simple NAT-instance until a few months ago.
- S3 (storage) still has nothing like Nearline (GCE) and Glacier is so confusing and complicated that few bother using it.
- ELB (Load Balancer) still has scaling problems (with bursts).
- Still only a single public key per instance, why?
- Can only use ACM certificates for CloudFront if they are in us-east-1 (despite ACM being available in other geographies and CloudFront is global). Nothing major but weird.
- S3 has like a handful of different ways of setting permissions (per file, per bucket, iam, and some weird old xml-format). Why not simplify this?
## Interfaces are terrible
- Basically the entire console UI is low quality.
- Same with APIs, they could use a lot more polish.
- This is the API call to create a CloudFront (CDN) distribution: http://pastie.org/10931494 (no offence, but it looks like a group of schizophrenic monkeys designed that API).
## Think less about press-releases
- Apparently AWS force everyone to write the press-release for every product before designing[1].
- While it's good to keep the end-goal in mind I think many important details are lost.
- The press-release-thinking focus too much on features and too little on quality and (even more important) refinements to existing things.
## Release fewer features
- Every year on ReInvent [AWS conference] they tout how many hundreds of new features they've released[2]. I wish they'd release far fewer features and make them great instead (+ refine existing stuff).
[1] http://www.allthingsdistributed.com/2006/11/working_backward...
[2] https://s3-eu-west-1.amazonaws.com/vpblogimg/2015/04/Aws-Sum...