1
0
Fork 0
mirror of https://github.com/nickpoida/og-aws.git synced 2025-03-09 15:40:06 +00:00

Updates on contributing conventions, legend.

A few other small fixes.
This commit is contained in:
Joshua Levy 2016-10-10 08:32:56 -07:00
parent d7e858f34d
commit b3bd4a4391
2 changed files with 49 additions and 37 deletions

View file

@ -5,11 +5,11 @@ Contributions of all kinds, including discussion, corrections, additions, and im
[![Slack Chat](https://img.shields.io/badge/Chat-Slack-ff69b4.svg "Join us. Anyone is welcome!")](https://og-aws.slack.lexikon.io/) [![Ask a Question](https://img.shields.io/badge/%3f-Ask%20a%20Question-dc9d47.svg "Questions help improve the Guide")](https://airtable.com/shrXZ61VrovWfXYBg) [![Slack Chat](https://img.shields.io/badge/Chat-Slack-ff69b4.svg "Join us. Anyone is welcome!")](https://og-aws.slack.lexikon.io/) [![Ask a Question](https://img.shields.io/badge/%3f-Ask%20a%20Question-dc9d47.svg "Questions help improve the Guide")](https://airtable.com/shrXZ61VrovWfXYBg)
The simplest thing you can do to contribute is [fill in this form](https://airtable.com/shrXZ61VrovWfXYBg). Questions help identify where the guide needs to be improved. The simplest thing you can do to contribute is [**join the Slack channel**](https://og-aws.slack.lexikon.io/) or [**add to our list of common questions**](https://airtable.com/shrXZ61VrovWfXYBg), which help guide us in ways to improve the guide.
[**File issues**](https://github.com/open-guides/og-aws/issues). Dont be shy about creating issues. Use them to discuss questions or topics, identify errors, or suggest improvements or new things to cover. [**File issues**](https://github.com/open-guides/og-aws/issues) if its clear what needs to be improved. (For less well-defined issues, discussing first on Slack may be helpful.)
[**Pull requests**](https://github.com/open-guides/og-aws/pulls) with changes are even better. Please keep them small and focused, so we can add items individually, and review the conventions below. [**Pull requests**](https://github.com/open-guides/og-aws/pulls) with changes are even better. Please keep them small and focused, so we can add items individually, and review the conventions below. (Again, Slack discussion can help.)
Please review current issues and pull requests to avoid duplication. Please review current issues and pull requests to avoid duplication.
@ -17,27 +17,34 @@ We gladly [credit](/AUTHORS.md) all contributors.
Finally, if an issue isnt appropriate, or if you might have skills and inclination to help improve the guide in a more substantial way, please shoot an e-mail to [@jlevy](https://github.com/jlevy). Finally, if an issue isnt appropriate, or if you might have skills and inclination to help improve the guide in a more substantial way, please shoot an e-mail to [@jlevy](https://github.com/jlevy).
### Style
- **Use references:** If you are adding an item, whenever possible, try to add a link or reference to relevant discussion or reference pages.
- **Be brief:** Avoid long expository paragraphs; its better to link to a blog. (We are open to linking to your own blog, if its the best source.)
- **Include opinions and common practice:** Thoughtful opinion is helpful. If there are multiple conventions or ideas on something held by experts, mention the different ones.
- **Clarity:** Strive for consistency with conventions listed here, but clarity is most important.
### Conventions ### Conventions
When you contribute, keep in mind these conventions: When you contribute, keep in mind these conventions:
- For AWS service names, we use the abbreviation throughout the guide if it is more common, e.g. EC2 and not Elastic Compute Cloud. We also omit “Amazon” at the front of product names, e.g. EMR and not Amazon EMR. - **Abbreviations:** For AWS service names, we use the abbreviation throughout the guide if it is more common, e.g. EC2 and not Elastic Compute Cloud. We also omit “Amazon” at the front of product names, e.g. EMR and not Amazon EMR.
- Terms that appear for the first time in **boldface** are defined there in a brief summary, with a link if possible to what is probably the best page for that concept. - Terms that appear for the first time in **boldface** are defined there in a brief summary, with a link if possible to what is probably the best page for that concept. Its also fine to boldface **key statements** that guide the eye.
- **Boldfaced headings:** When possible and appropriate, begin bulleted items with a boldfaced summary, as illustrated here. This helps the reader skim the contents. - **Boldfaced headings:** When possible and appropriate, begin bulleted items with a boldfaced summary, as illustrated here. This helps the reader skim the contents.
- Its also fine to boldface **key statements** that guide the eye. In some cases, *just use italics*. - **Links:**
- Related content that elaborates or gives more detail is included via standard inline hyperlinks within the text. - Related content that elaborates or gives more detail is included via standard inline hyperlinks within the text.
- References or citations backing some info that is already explained in the text is in [brackets] at the end of the item (with link for web pages, no link for books). - References or citations backing some info that is already explained in the text is in [brackets] at the end of the item (with link for web pages, no link for books).
- Typographical conventions: - **Emoji icons:** These icons aid readability; use them whenever appropriate (usually at the start of bulleted items), as listed in the [**legend**](https://github.com/open-guides/og-aws#legend).
- **Typographical conventions:**
- Use Unicode open and close quotes “like this” and not "like this". - Use Unicode open and close quotes “like this” and not "like this".
- Use oriented apostrophes (Unicodes, not ASCII's). - Use oriented apostrophes (Unicodes, not ASCII's).
- Use em dashes — like this (not two hyphens -- like this). - Use em dashes — like this (not two hyphens -- like this).
- Section conventions: When appropriate please add sections covering these items (where *X* = EC2, S3, etc.): - **Section conventions:** When appropriate please add sections covering these items (where *X* = EC2, S3, etc.):
- *X Basics*: The elementary facts you should know if you dont yet know anything about the service. - *X Basics*: The elementary facts you should know if you dont yet know anything about the service.
- *X Alternatives and Lock-In*: Should you be using this service or something else? Is the decision an important one that locks you in? - *X Alternatives and Lock-In*: Should you be using this service or something else? Is the decision an important one that locks you in?
- *X Tips*: Everything you should know about the service, from big stuff to details. - *X Tips*: Everything you should know about the service, from big stuff to details.
- *X Cost Management*: Tips specific to that service on reducing or managing costs.
- *X Gotchas and Limitations*: Common problems, large and small, as well as misconceptions and quirks. - *X Gotchas and Limitations*: Common problems, large and small, as well as misconceptions and quirks.
- Not all sections need to follow the above conventions exactly. Strive for consistency, but clarity is more important. - Not all sections need to follow the above conventions exactly.
- Note we try to make sections uniquely titled, so GitHub links to Markdown section anchors dont collide and are stable. - Note we try to make sections uniquely titled, so GitHub links to Markdown section anchors dont collide and are stable.
Note we try to keep consistent formatting in Markdown via [markdownfmt](https://github.com/shurcooL/markdownfmt). We run **admin/reformat.sh** to do this, but you dont have to worry about it unless you really want to. Note we keep consistent formatting in Markdown via [markdownfmt](https://github.com/shurcooL/markdownfmt). We run **admin/reformat.sh** to do this, but you dont have to worry about it unless you really want to.

View file

@ -10,6 +10,7 @@ The Open Guide to Amazon Web Services
- *Purpose* - *Purpose*
- [Why an Open Guide?](#why-an-open-guide) - [Why an Open Guide?](#why-an-open-guide)
- [Scope](#scope) - [Scope](#scope)
- [Legend](#legend)
- *AWS in General* - *AWS in General*
- [General Information](#general-information) - [General Information](#general-information)
- [Managing AWS](#managing-aws) - [Managing AWS](#managing-aws)
@ -90,7 +91,10 @@ Scope
- **Current:** We can keep updating it, and anyone can contribute improvements - **Current:** We can keep updating it, and anyone can contribute improvements
- **Thoughtful:** The goal is to be helpful rather than present dry facts. Thoughtful opinion with rationale is welcome. Suggestions, notes, and opinions based on real experience can be extremely valuable. (We believe this is both possible with a guide of this format, unlike in some [other venues](http://meta.stackexchange.com/questions/201994/is-there-a-place-to-ask-opinion-based-questions).) - **Thoughtful:** The goal is to be helpful rather than present dry facts. Thoughtful opinion with rationale is welcome. Suggestions, notes, and opinions based on real experience can be extremely valuable. (We believe this is both possible with a guide of this format, unlike in some [other venues](http://meta.stackexchange.com/questions/201994/is-there-a-place-to-ask-opinion-based-questions).)
- This guide is not sponsored by AWS or AWS-affiliated vendors. It is written by and for engineers who use AWS. - This guide is not sponsored by AWS or AWS-affiliated vendors. It is written by and for engineers who use AWS.
- Legend:
Legend
------
- 📒 Marks standard/official AWS pages and docs - 📒 Marks standard/official AWS pages and docs
- 🔹 Important or often overlooked tip - 🔹 Important or often overlooked tip
- ❗ Gotcha or warning (where risks or time or resource costs are significant) - ❗ Gotcha or warning (where risks or time or resource costs are significant)
@ -101,6 +105,7 @@ Scope
- 🚪 Alternative non-AWS options - 🚪 Alternative non-AWS options
- 💸 Cost issues, discussion, and gotchas - 💸 Cost issues, discussion, and gotchas
- 🕍 A mild warning attached to “full solution” or opinionated frameworks that may take significant time to understand and/or might not fit your needs exactly; the opposite of a point solution (the cathedral is a nod to [Raymonds metaphor](https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)\) - 🕍 A mild warning attached to “full solution” or opinionated frameworks that may take significant time to understand and/or might not fit your needs exactly; the opposite of a point solution (the cathedral is a nod to [Raymonds metaphor](https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)\)
- 📗📘📙 Colors indicate basics, tips, and gotchas, respectively.
- 🚧 Areas where correction or improvement are needed (possibly with link to an issue — do help!) - 🚧 Areas where correction or improvement are needed (possibly with link to an issue — do help!)
General Information General Information
@ -247,24 +252,24 @@ Many services within AWS can at least be compared with Google Cloud offerings or
| Service | AWS | Google Cloud | Google Internal | Microsoft | Other providers | Open source “build your own” | | Service | AWS | Google Cloud | Google Internal | Microsoft | Other providers | Open source “build your own” |
|-------------------------------|------------------------------------------------------------------------------|------------------------------|-----------------|------------|-----------------------------------|------------------------------------------------------------| |-------------------------------|------------------------------------------------------------------------------|------------------------------|-----------------|------------|-----------------------------------|------------------------------------------------------------|
| Virtual server | EC2 | Compute Engine (GCE) | | Azure VM | DigitalOcean | OpenStack | | Virtual server | EC2 | Compute Engine (GCE) | | | DigitalOcean | OpenStack |
| PaaS | Elastic Beanstalk | App Engine | App Engine | Web Apps | Heroku | Meteor, AppScale | | PaaS | Elastic Beanstalk | App Engine | App Engine | | Heroku | Meteor, AppScale |
| Serverless, microservices | Lambda, API Gateway | Functions | | Function Apps | | | | Serverless, microservices | Lambda, API Gateway | Functions | | | | |
| Container, cluster manager | ECS | Container Engine, Kubernetes | Borg or Omega | Azure Container Service | | Kubernetes, Mesos, Aurora | | Container, cluster manager | ECS | Container Engine, Kubernetes | Borg or Omega | | | Kubernetes, Mesos, Aurora |
| File storage | S3 | Cloud Storage | GFS | Storage Account | | Swift, HDFS | | File storage | S3 | Cloud Storage | GFS | | | Swift, HDFS |
| Block storage | EBS | Persistent Disk | | | | NFS | | Block storage | EBS | Persistent Disk | | | | NFS |
| SQL datastore | RDS | Cloud SQL | | SQL Database | | MySQL, PostgreSQL | | SQL datastore | RDS | Cloud SQL | | | | MySQL, PostgreSQL |
| Sharded RDBMS | | Cloud SQL | F1, Spanner | | | Crate.io | | Sharded RDBMS | | Cloud SQL | F1, Spanner | | | Crate.io |
| Bigtable | | Cloud Bigtable | Bigtable | | | CockroachDB | | Bigtable | | Cloud Bigtable | Bigtable | | | CockroachDB |
| Key-value store, column store | DynamoDB | Cloud Datastore | Megastore | | | Cassandra, CouchDB, RethinkDB, Redis | | Key-value store, column store | DynamoDB | Cloud Datastore | Megastore | | | Cassandra, CouchDB, RethinkDB, Redis |
| Memory cache | ElastiCache | App Engine Memcache | | | | Memcached, Redis | | Memory cache | ElastiCache | App Engine Memcache | | | | Memcached, Redis |
| Search | CloudSearch, Elasticsearch (managed) | | | | Algolia, QBox | Elasticsearch, Solr | | Search | CloudSearch, Elasticsearch (managed) | | | | Algolia, QBox | Elasticsearch, Solr |
| Data warehouse | Redshift | BigQuery | | SQL Data Warehouse | Oracle, IBM, SAP, HP, many others | Greenplum | | Data warehouse | Redshift | BigQuery | | | Oracle, IBM, SAP, HP, many others | Greenplum |
| Business intelligence | QuickSight | | | Power BI | Tableau | | | Business intelligence | QuickSight | | | | Tableau | |
| Lock manager | [DynamoDB (weak)](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328) | | Chubby | | | ZooKeeper, Etcd, Consul | | Lock manager | [DynamoDB (weak)](https://gist.github.com/ryandotsmith/c95fd21fab91b0823328) | | Chubby | | | ZooKeeper, Etcd, Consul |
| Message broker | SQS, SNS, IoT | Pub/Sub | PubSub2 | | | RabbitMQ, Kafka, 0MQ | | Message broker | SQS, SNS, IoT | Pub/Sub | PubSub2 | | | RabbitMQ, Kafka, 0MQ |
| Streaming, distributed log | Kinesis | Dataflow | PubSub2 | Event Hubs | | Kafka Streams, Apex, Flink, Spark Streaming, Storm | | Streaming, distributed log | Kinesis | Dataflow | PubSub2 | Event Hubs | | Kafka Streams, Apex, Flink, Spark Streaming, Storm |
| MapReduce | EMR | Dataproc | MapReduce | HDInsight | Qubole | Hadoop | | MapReduce | EMR | Dataproc | MapReduce | | Qubole | Hadoop |
| Monitoring | CloudWatch | Monitoring | Borgmon | | | Prometheus(?) | | Monitoring | CloudWatch | Monitoring | Borgmon | | | Prometheus(?) |
| Metric management | | | Borgmon, TSDB | | | Graphite, InfluxDB, OpenTSDB, Grafana, Riemann, Prometheus | | Metric management | | | Borgmon, TSDB | | | Graphite, InfluxDB, OpenTSDB, Grafana, Riemann, Prometheus |
| CDN | CloudFront | | | Azure CDN | | Apache Traffic Server | | CDN | CloudFront | | | Azure CDN | | Apache Traffic Server |
@ -333,7 +338,7 @@ Its important to know the maturity of each AWS product. Here is a mostly comp
| [CloudWatch](https://aws.amazon.com/releasenotes/CloudWatch?browse=1) | 2009-05 | General | | [CloudWatch](https://aws.amazon.com/releasenotes/CloudWatch?browse=1) | 2009-05 | General |
| [CloudFront](https://aws.amazon.com/releasenotes/CloudFront?browse=1) | 2008-11 | General | | [CloudFront](https://aws.amazon.com/releasenotes/CloudFront?browse=1) | 2008-11 | General |
| [Fulfillment Web Service](https://aws.amazon.com/releasenotes/Amazon-FWS?browse=1) | 2008-03 | Obsolete? | | [Fulfillment Web Service](https://aws.amazon.com/releasenotes/Amazon-FWS?browse=1) | 2008-03 | Obsolete? |
| [SimpleDB](https://aws.amazon.com/releasenotes/Amazon-SimpleDB?browse=1) | 2007-12 | ⚠️[Nearly obsolete](https://forums.aws.amazon.com/thread.jspa?threadID=121711) | | [SimpleDB](https://aws.amazon.com/releasenotes/Amazon-SimpleDB?browse=1) | 2007-12 | [Nearly obsolete](https://forums.aws.amazon.com/thread.jspa?threadID=121711) |
| [DevPay](https://aws.amazon.com/releasenotes/DevPay?browse=1) | 2007-12 | General | | [DevPay](https://aws.amazon.com/releasenotes/DevPay?browse=1) | 2007-12 | General |
| [Flexible Payments Service](https://aws.amazon.com/releasenotes/Amazon-FPS?browse=1) | 2007-08 | Retired | | [Flexible Payments Service](https://aws.amazon.com/releasenotes/Amazon-FPS?browse=1) | 2007-08 | Retired |
| [EC2](https://aws.amazon.com/releasenotes/Amazon-EC2?browse=1) | 2006-08 | General | | [EC2](https://aws.amazon.com/releasenotes/Amazon-EC2?browse=1) | 2006-08 | General |
@ -778,7 +783,7 @@ EBS
- ❗EBS durability is reasonably good for a regular hardware drive (annual failure rate of [between 0.1% - 0.2%](http://aws.amazon.com/ebs/details/#availabilityanddurability)). On the other hand, that is very poor if you dont have backups! By contrast, S3 durability is extremely high. *If you care about your data, back it up S3 with snapshots.* - ❗EBS durability is reasonably good for a regular hardware drive (annual failure rate of [between 0.1% - 0.2%](http://aws.amazon.com/ebs/details/#availabilityanddurability)). On the other hand, that is very poor if you dont have backups! By contrast, S3 durability is extremely high. *If you care about your data, back it up S3 with snapshots.*
- 🔸EBS has an [**SLA**](http://aws.amazon.com/ec2/sla/) with **99.95%** uptime. See notes on high availability below. - 🔸EBS has an [**SLA**](http://aws.amazon.com/ec2/sla/) with **99.95%** uptime. See notes on high availability below.
- ❗EBS volumes have a [**volume type**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) indicating the physical storage type. The types called “standard” (**st1** or **sc1**) actually old spinning-platter disks, which deliver only hundreds of IOPS — not what you want unless youre really trying to cut costs. Modern SSD-based **gp2** or **io1** are typically the options you want. - ❗EBS volumes have a [**volume type**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) indicating the physical storage type. The types called “standard” (**st1** or **sc1**) are actually old spinning-platter disks, which deliver only hundreds of IOPS — not what you want unless youre really trying to cut costs. Modern SSD-based **gp2** or **io1** are typically the options you want.
EFS EFS
--- ---