fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@ -0,0 +1,31 @@
---
title: Amazon DynamoDB
---
## Amazon DynamoDB
Amazon DynamoDB is a service from Amazon Web Services (AWS) that offers a fully-managed NoSQL database. Its main feature is the capacity to scale infinitely depending on the workload needed. It is fully-managed, the user does not need to worry about the underlying infrastructure such as how to scale up or down depending on the workload. It supports key-value and document-based storage.
The basic components of the DynamoDB service are:
* **Table**: DynamoDB stores data in tables, which are like in relational databases. The main difference is that it is schemaless, it does not have a fixed structure from the moment of its creation.
* **Item**: An item is the data stored in a table and a table can have an indefinite number of items. Comparing to a relational database, an item would be a row in the table.
* **Attribute**: An item has attributes, which are like a column in relational databases. Yet, since DynamoDB is schemaless, an item does not need to have the same attributes. Moreover, the attributes can be a single value or a JSON-like document with other fields that can also be queried.
Although DynamoDB does not need a fixed structure for its tables, it does need a primary key for each item in the table. The primary key, like in relational databases, must be unique. The primary key can be simple or composed. A simple primary key is composed only by a partition key. The composed primary key, in turn, is composed by a partition key and a sort key. In a simple primary key, the partition key must be unique, while in a composed key, the partition key can be equal, but the sort key must be different.
The concept of partition key and sort key is very important because it relates to the way DynamoDB stores data. DynamoDB stores data in partitions and the partition key is the key for the partition. DynamoDB uses the value in the partition key as input to a hash function to know where it stores the data. In the case of a composed key, all items with the same partition key are stored in the same partition, but they are sorted by the sort key.
Amazon DynamoDB also has high availability. It replicates the data to many servers in different availability zones in a region. Availability Zones are data centers physically separated by a safe distance. In case of a disaster in one server, other servers have the data replicated in a safe distance and untouched.
Due to its ease of set up and its infinite capacity to scale it is good for many uses cases. It is best suited for scenarios where the load required is not known or there are sudden peaks. Some of the use cases are as data storage for serverless applications, microservices, mobile back-end, gaming, IoT and more.
### Resources:
- [Key Value Databases](https://guide.freecodecamp.org/computer-science/databases/key-value-databases)
- [Relational Databases](https://guide.freecodecamp.org/computer-science/databases/relational-databases)
### More Information:
- "What is Amazon DynamoDB?" from [AWS DynamoDB Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html?shortFooter=true)
- "DynamoDB Core Components" from [AWS DynamoDB Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html?shortFooter=true)

View File

@ -0,0 +1,58 @@
---
title: Amazon Web Services
---
## Amazon Web Services
Amazon Web Services, or AWS for short, is a subsidiary of Amazon.com that provides on-demand cloud computing platforms to individuals, companies and governments on a
paid subscription basis with a free-tier option available for 12 months. It along with Microsoft's Azure and Google's Cloud Platform are considered the three major
public cloud vendors.
The technology allows subscribers to have at their disposal a full-fledged virtual cluster of computers, available all the time, through the internet. AWS's version of
virtual computers have most of the attributes of a real computer including hardware (CPU(s) & GPU(s) for processing, local/RAM memory, hard-disk/SSD storage); a choice
of operating systems; networking; and pre-loaded application software such as web servers, databases, CRM, etc. Each AWS system also virtualizes its console I/O (keyboard,
display, and mouse), allowing AWS subscribers to connect to their AWS system from anywhere in the world using a modern browser. The browser acts as a window into the
virtual computer, letting subscribers log-in, configure and use their virtual systems just as they would a real physical computer.
Subscribers can choose to deploy their AWS systems to provide internet-based services for their own and their customers' benefit. Since individuals or organizations
using AWS do not physically own the AWS infrastructure, they do not have to deal with some of the maintenance tasks associated with owning a physical datacenter such as
operating networking equipment.
AWS in particular has also been expanding on their cloud offerings. They are providing innovative services such as AWS Lambda, in which users only need to focus on
writing code and not on the servers that will be running their code (giving rise to the new *serverless* movement). As a result of these benefits, cloud computing
platforms such as AWS have been popular among startups who might initially have less capital to invest into their Information Technology or IT. Instead, they can focus
on building great products for their users and growing their business over time with AWSs on demand model.
Popular AWS services include:
* Virtual Machines via the EC2 (Elastic Compute Cloud) platform
* Databases including both SQL and NoSQL
* S3 (Simple Storage Service)
* SQS (Simple Queue Service)
* Games development via the Amazon Lumberyard game development engine and subsequent hosting platform.
* DynamoDB (Amazon Dynamo Data Base)
* CloudWatch (Metrics and Alarms)
* CodeDeploy (Deployments)
* Lambda (Serverless)
* Application Monitoring tools
* Mobile development tools and platforms
* Amazon Alexa development area
#### AWS Certifications
AWS offers many different certifications for it's practitioners. There are different tiers to AWS certs as well as role-based certifications.
The tiers are:
* Foundational
* Associate
* Professional
For every role there are those three tiers.
These roles include:
* Architect
* Developer
* Operations
AWS also offers a prerequisite AWS Cloud Practitioner Essentials certification* relevant to anyone no matter their role.
Outside of the standard roles there are specialty certifications for Advanced networking, Big Data, and Security.
#### More Information:
<!-- Please add any articles you think might be helpful to read before writing the article -->
* [AWS](https://aws.amazon.com/)
* [certifications](https://aws.amazon.com/certification/)