diff --git a/resources/noat.cards/Performance vs scalability.md b/resources/noat.cards/01 Performance vs scalability.md
similarity index 100%
rename from resources/noat.cards/Performance vs scalability.md
rename to resources/noat.cards/01 Performance vs scalability.md
diff --git a/resources/noat.cards/Latency vs throughput.md b/resources/noat.cards/02 Latency vs throughput.md
similarity index 100%
rename from resources/noat.cards/Latency vs throughput.md
rename to resources/noat.cards/02 Latency vs throughput.md
diff --git a/resources/noat.cards/Availability vs consistency.md b/resources/noat.cards/03 Availability vs consistency.md
similarity index 100%
rename from resources/noat.cards/Availability vs consistency.md
rename to resources/noat.cards/03 Availability vs consistency.md
diff --git a/resources/noat.cards/Consistency patterns.md b/resources/noat.cards/04 Consistency patterns.md
similarity index 100%
rename from resources/noat.cards/Consistency patterns.md
rename to resources/noat.cards/04 Consistency patterns.md
diff --git a/resources/noat.cards/Availability patterns.md b/resources/noat.cards/05 Availability patterns.md
similarity index 70%
rename from resources/noat.cards/Availability patterns.md
rename to resources/noat.cards/05 Availability patterns.md
index d413f065..6c8b0938 100644
--- a/resources/noat.cards/Availability patterns.md
+++ b/resources/noat.cards/05 Availability patterns.md
@@ -68,4 +68,51 @@ Both masters serve reads and writes and coordinate with each other on writes. If
## Source(s) and further reading: replication
- [Scalability, availability, stability, patterns](http://www.slideshare.net/jboner/scalability-availability-stability-patterns/)
-- [Multi-master replication](https://en.wikipedia.org/wiki/Multi-master_replication)
\ No newline at end of file
+- [Multi-master replication](https://en.wikipedia.org/wiki/Multi-master_replication)
+
+
+## Availability in numbers
+
+Availability is often quantified by uptime (or downtime) as a percentage of time the service is available. Availability is generally measured in number of 9s--a service with 99.99% availability is described as having four 9s.
+
+## 99.9% availability - three 9s
+
+| Duration | Acceptable downtime|
+|---------------------|--------------------|
+| Downtime per year | 8h 45min 57s |
+| Downtime per month | 43m 49.7s |
+| Downtime per week | 10m 4.8s |
+| Downtime per day | 1m 26.4s |
+
+## 99.99% availability - four 9s
+
+| Duration | Acceptable downtime|
+|---------------------|--------------------|
+| Downtime per year | 52min 35.7s |
+| Downtime per month | 4m 23s |
+| Downtime per week | 1m 5s |
+| Downtime per day | 8.6s |
+
+## Availability in parallel vs in sequence
+
+If a service consists of multiple components prone to failure, the service's overall availability depends on whether the components are in sequence or in parallel.
+
+## In sequence
+
+Overall availability decreases when two components with availability < 100% are in sequence:
+
+```
+Availability (Total) = Availability (Foo) * Availability (Bar)
+```
+
+If both `Foo` and `Bar` each had 99.9% availability, their total availability in sequence would be 99.8%.
+
+## In parallel
+
+Overall availability increases when two components with availability < 100% are in parallel:
+
+```
+Availability (Total) = 1 - (1 - Availability (Foo)) * (1 - Availability (Bar))
+```
+
+If both `Foo` and `Bar` each had 99.9% availability, their total availability in parallel would be 99.9999%.
diff --git a/resources/noat.cards/Domain name system.md b/resources/noat.cards/06 Domain name system.md
similarity index 95%
rename from resources/noat.cards/Domain name system.md
rename to resources/noat.cards/06 Domain name system.md
index fc7b2fb4..9c80e041 100644
--- a/resources/noat.cards/Domain name system.md
+++ b/resources/noat.cards/06 Domain name system.md
@@ -14,11 +14,15 @@ A Domain Name System (DNS) translates a domain name such as [www.example.com](ht
DNS is hierarchical, with a few authoritative servers at the top level. Your router or ISP provides information about which DNS server(s) to contact when doing a lookup. Lower level DNS servers cache mappings, which could become stale due to DNS propagation delays. DNS results can also be cached by your browser or OS for a certain period of time, determined by the [time to live (TTL) ](https://en.wikipedia.org/wiki/Time_to_live) .
+## DNS record types
+
- NS record (name server) - Specifies the DNS servers for your domain/subdomain.
- MX record (mail exchange) - Specifies the mail servers for accepting messages.
- A record (address) - Points a name to an IP address.
- CNAME (canonical) - Points a name to another name or `CNAME` (example.com to [www.example.com](http://www.example.com/)) or to an `A`record.
+## DNS traffic route methods
+
Services such as [CloudFlare](https://www.cloudflare.com/dns/) and [Route 53](https://aws.amazon.com/route53/) provide managed DNS services. Some DNS services can route traffic through various methods:
- [Weighted round robin](http://g33kinfo.com/info/archives/2657)
diff --git a/resources/noat.cards/Content delivery network.md b/resources/noat.cards/07 Content delivery network.md
similarity index 100%
rename from resources/noat.cards/Content delivery network.md
rename to resources/noat.cards/07 Content delivery network.md
diff --git a/resources/noat.cards/Load balancer.md b/resources/noat.cards/08 Load balancer.md
similarity index 100%
rename from resources/noat.cards/Load balancer.md
rename to resources/noat.cards/08 Load balancer.md
diff --git a/resources/noat.cards/Reverse proxy (web server).md b/resources/noat.cards/09 Reverse proxy (web server).md
similarity index 100%
rename from resources/noat.cards/Reverse proxy (web server).md
rename to resources/noat.cards/09 Reverse proxy (web server).md
diff --git a/resources/noat.cards/Application layer.md b/resources/noat.cards/10 Application layer.md
similarity index 100%
rename from resources/noat.cards/Application layer.md
rename to resources/noat.cards/10 Application layer.md
diff --git a/resources/noat.cards/Database.md b/resources/noat.cards/11 Database.md
similarity index 100%
rename from resources/noat.cards/Database.md
rename to resources/noat.cards/11 Database.md
diff --git a/resources/noat.cards/Federation.md b/resources/noat.cards/11-1 Federation.md
similarity index 100%
rename from resources/noat.cards/Federation.md
rename to resources/noat.cards/11-1 Federation.md
diff --git a/resources/noat.cards/Sharding.md b/resources/noat.cards/11-1 Sharding.md
similarity index 100%
rename from resources/noat.cards/Sharding.md
rename to resources/noat.cards/11-1 Sharding.md
diff --git a/resources/noat.cards/Denormalization.md b/resources/noat.cards/11-2 Denormalization.md
similarity index 100%
rename from resources/noat.cards/Denormalization.md
rename to resources/noat.cards/11-2 Denormalization.md
diff --git a/resources/noat.cards/SQL tuning.md b/resources/noat.cards/11-3 SQL tuning.md
similarity index 100%
rename from resources/noat.cards/SQL tuning.md
rename to resources/noat.cards/11-3 SQL tuning.md
diff --git a/resources/noat.cards/NoSQL.md b/resources/noat.cards/12 NoSQL.md
similarity index 100%
rename from resources/noat.cards/NoSQL.md
rename to resources/noat.cards/12 NoSQL.md
diff --git a/resources/noat.cards/Key-value store.md b/resources/noat.cards/12-1 Key-value store.md
similarity index 100%
rename from resources/noat.cards/Key-value store.md
rename to resources/noat.cards/12-1 Key-value store.md
diff --git a/resources/noat.cards/Document store.md b/resources/noat.cards/12-2 Document store.md
similarity index 100%
rename from resources/noat.cards/Document store.md
rename to resources/noat.cards/12-2 Document store.md
diff --git a/resources/noat.cards/Wide column store.md b/resources/noat.cards/12-2 Wide column store.md
similarity index 100%
rename from resources/noat.cards/Wide column store.md
rename to resources/noat.cards/12-2 Wide column store.md
diff --git a/resources/noat.cards/Graph database.md b/resources/noat.cards/12-3 Graph database.md
similarity index 100%
rename from resources/noat.cards/Graph database.md
rename to resources/noat.cards/12-3 Graph database.md
diff --git a/resources/noat.cards/SQL or NoSQL.md b/resources/noat.cards/13 SQL or NoSQL.md
similarity index 100%
rename from resources/noat.cards/SQL or NoSQL.md
rename to resources/noat.cards/13 SQL or NoSQL.md
diff --git a/resources/noat.cards/Cache.md b/resources/noat.cards/14 Cache.md
similarity index 100%
rename from resources/noat.cards/Cache.md
rename to resources/noat.cards/14 Cache.md
diff --git a/resources/noat.cards/Cache locations.md b/resources/noat.cards/14-1 Cache locations.md
similarity index 100%
rename from resources/noat.cards/Cache locations.md
rename to resources/noat.cards/14-1 Cache locations.md
diff --git a/resources/noat.cards/Database caching, what to cache.md b/resources/noat.cards/14-2 Database caching, what to cache.md
similarity index 100%
rename from resources/noat.cards/Database caching, what to cache.md
rename to resources/noat.cards/14-2 Database caching, what to cache.md
diff --git a/resources/noat.cards/Cache-aside.md b/resources/noat.cards/14-3 Cache-aside.md
similarity index 100%
rename from resources/noat.cards/Cache-aside.md
rename to resources/noat.cards/14-3 Cache-aside.md
diff --git a/resources/noat.cards/Write-through.md b/resources/noat.cards/14-4 Write-through.md
similarity index 100%
rename from resources/noat.cards/Write-through.md
rename to resources/noat.cards/14-4 Write-through.md
diff --git a/resources/noat.cards/Write-behind (write-back).md b/resources/noat.cards/14-5 Write-behind (write-back).md
similarity index 100%
rename from resources/noat.cards/Write-behind (write-back).md
rename to resources/noat.cards/14-5 Write-behind (write-back).md
diff --git a/resources/noat.cards/Refresh-ahead.md b/resources/noat.cards/14-6 Refresh-ahead.md
similarity index 100%
rename from resources/noat.cards/Refresh-ahead.md
rename to resources/noat.cards/14-6 Refresh-ahead.md
diff --git a/resources/noat.cards/Asynchronism.md b/resources/noat.cards/15 Asynchronism.md
similarity index 100%
rename from resources/noat.cards/Asynchronism.md
rename to resources/noat.cards/15 Asynchronism.md
diff --git a/resources/noat.cards/Communication.md b/resources/noat.cards/16 Communication.md
similarity index 100%
rename from resources/noat.cards/Communication.md
rename to resources/noat.cards/16 Communication.md
diff --git a/resources/noat.cards/Hypertext transfer protocol (HTTP).md b/resources/noat.cards/16-1 Hypertext transfer protocol (HTTP).md
similarity index 100%
rename from resources/noat.cards/Hypertext transfer protocol (HTTP).md
rename to resources/noat.cards/16-1 Hypertext transfer protocol (HTTP).md
diff --git a/resources/noat.cards/Transmission control protocol (TCP).md b/resources/noat.cards/16-2 Transmission control protocol (TCP).md
similarity index 100%
rename from resources/noat.cards/Transmission control protocol (TCP).md
rename to resources/noat.cards/16-2 Transmission control protocol (TCP).md
diff --git a/resources/noat.cards/User datagram protocol (UDP).md b/resources/noat.cards/16-3 User datagram protocol (UDP).md
similarity index 100%
rename from resources/noat.cards/User datagram protocol (UDP).md
rename to resources/noat.cards/16-3 User datagram protocol (UDP).md
diff --git a/resources/noat.cards/Remote procedure call (RPC).md b/resources/noat.cards/16-4 Remote procedure call (RPC).md
similarity index 100%
rename from resources/noat.cards/Remote procedure call (RPC).md
rename to resources/noat.cards/16-4 Remote procedure call (RPC).md
diff --git a/resources/noat.cards/16-5 Representational state transfer (REST).md b/resources/noat.cards/16-5 Representational state transfer (REST).md
new file mode 100644
index 00000000..8681782a
--- /dev/null
+++ b/resources/noat.cards/16-5 Representational state transfer (REST).md
@@ -0,0 +1,103 @@
++++ noatcards = True isdraft = False +++
+
+# Representational state transfer (REST)
+
+## Representational state transfer introduction
+
+REST is an architectural style enforcing a client/server model where the client acts on a set of resources managed by
+the server. The server provides a representation of resources and actions that can either manipulate or get a new
+representation of resources. All communication must be stateless and cacheable.
+
+## RESTful interface
+
+There are four qualities of a RESTful interface:
+
+- Identify resources (URI in HTTP) - use the same URI regardless of any operation.
+- Change with representations (Verbs in HTTP) - use verbs, headers, and body.
+- Self-descriptive error message (status response in HTTP) - Use status codes, don't reinvent the wheel.
+- [HATEOAS](http://restcookbook.com/Basics/hateoas/) (HTML interface for HTTP) - your web service should be fully
+ accessible in a browser.
+
+Sample REST calls:
+
+```
+ GET /someresources/anId
+
+ PUT /someresources/anId
+ {"anotherdata": "another value"}
+```
+
+REST is focused on exposing data. It minimizes the coupling between client/server and is often used for public HTTP
+APIs. REST uses a more generic and uniform method of exposing resources through
+URIs, [representation through headers](https://github.com/for-GET/know-your-http-well/blob/master/headers.md) , and
+actions through verbs such as GET, POST, PUT, DELETE, and PATCH. Being stateless, REST is great for horizontal scaling
+and partitioning.
+
+## Disadvantage(s) : REST
+
+- With REST being focused on exposing data, it might not be a good fit if resources are not naturally organized or
+ accessed in a simple hierarchy. For example, returning all updated records from the past hour matching a particular
+ set of events is not easily expressed as a path. With REST, it is likely to be implemented with a combination of URI
+ path, query parameters, and possibly the request body.
+- REST typically relies on a few verbs (GET, POST, PUT, DELETE, and PATCH) which sometimes doesn't fit your use case.
+ For example, moving expired documents to the archive folder might not cleanly fit within these verbs.
+
+## What is HATEOAS and why is it important for my REST API?
+--------------------------------------------------------
+
+HATEOAS stands for **Hypertext As The Engine Of Application State**. It means that hypertext should be used to find your
+way through the API. An example:
+
+```
+GET /account/12345 HTTP/1.1
+
+HTTP/1.1 200 OK
+
+
{
"personid": "1234"
} | **DELETE** /persons/1234 |
+| Read a person | **GET** /readPerson?personid=1234 | **GET** /persons/1234 |
+| Read a person’s items list | **GET** /readUsersItemsList?personid=1234 | **GET** /persons/1234/items |
+| Add an item to a person’s items | **
+POST** /addItemToUsersItemsList
{
"personid": "1234";
"itemid": "456"
} | **
+POST** /persons/1234/items
{
"itemid": "456"
} |
+| Update an item | **POST** /modifyItem
{
"itemid": "456";
"key": "value"
} | **
+PUT** /items/456
{
"key": "value"
} |
+| Delete an item | **POST** /removeItem
{
"itemid": "456"
} | **DELETE** /items/456 |
+
+