(Feel free to make this page your own. The image is taken from here).
Online Courses & Materials
The Good Parts of AWS
Part 1
- Searching for the optimal option is almost always expensive.
- Instead of searching for the best option, we recommend a technique we call the default heuristic. The premise of this heuristic is that when the cost of acquiring new information is high and the consequence of deviating from a default choice is low, sticking with the default will likely be the optimal choice.
- A default choice is any option that gives you very high confidence that it will work.
- Your default choice doesn’t have to be the theoretical best choice. It doesn’t have to be the most efficient. Or the latest and greatest. Your default choice simply needs to be a reliable option to get you to your ultimate desired outcome. Your default choice should be very unlikely to fail you; you have to be confident that it’s a very safe bet. In fact, that’s the only requirement.
- You would only deviate from your defaults if you realize you absolutely have to.
- S3
- If you’re storing data—whatever it is—S3 should be the very first thing to consider using.
- It is highly-durable, very easy to use and, for all practical purposes, it has infinite bandwidth and infinite storage space.
- It is also one of the few AWS services that requires absolutely zero capacity management.
- Fundamentally, you can think of S3 as a highly-durable hash table in the cloud. The key can be any string and the value of any blob of data up to 5 TB.
- S3 storage costs $23.55 / TB / month using the default storage class.
- If you’re touching S3 objects at a high frequency (millions of times a day), request pricing becomes an important aspect of S3’s viability for your use case.
- One limitation of S3 is that you cannot append to objects.If you have something that’s changing rapidly (such as alog file), you have to buffer updates on your side for a while, and then periodically flush chunks to S3 as new objects.
- This buffering can reduce your overall data durability, because the buffered data will typically sit in a single place without any replication. A solution for this issue is to buffer data in a durable queue, such as SQS or Kinesis streams, as we’ll see later.
- Not good for hosting a static website.