In this article we will imagine a small business who needs to perform two key startup tasks with AWS. First our hypothetical small business, which for fun I will name Czar USA, will register their domain with Route 53. Then we will create a database with DynamoDB.
PART 1: DOMAIN
Step 1: Go to the Route 53 Dashboard & Search your desired Domain Name
I made up a domain “czarusa.com” and searched it is in the field under Register Domain (Image 1). Click check. Fortunately for me it was available.
Step 2: Check & add to shopping cart
You can add other domain names to your cart, just like common e-shopping (Image 2). The yellow circle shows you where your items in the cart will be listed.
Oftentimes the domain you seek will not be available, or it will be available at a price out of your budget. Use this as an opportunity to brainstorm other domain names or consider other generic top-level domains such as .net, .org, etcetera.
Step 3: Populate Contact Information
Fill in the details for your registrant, administrative and technical contact details (Image 3). In my case they were all the same.
Step 4: Select privacy as needed
At the bottom of the page ‘Contact Details for Your 1 Domain,’ clarify the extent to which you want your contact details connected to the domain (Image 4).
Step 5: Review a few items before completing order (Image 5)
- AWS automatically creates a hosted zone, which you can view details on after the domain is registered in Route 53 > Hosted Zones > [domain name].
- I chose not to automatically renew my order because at this point I’m unsure of exactly what I’ll do with this domain.
- Review Terms & Conditions, and check off that you have done so.
Step 6: Complete order
As seen in Image 6 a window will appear indicating the order was successfully submitted.
Step 7: Confirm Domain Registration
Sometimes it can take a day to register the domain. Image 7 shows that at the Route 53 Dashboard, we were waiting on the domain to register immediately after submittal.
Unless there is an issue with something such as your billing details, you will eventually be notified by AWS of registration, as happened to me in Image 8.
For information on more services within Route 53, visit this Amazon Route 53 Developer Guide from AWS.
PART 2: DATABASE
We will now look at how a small business would easily create a database. AWS offers DynamoDB, a NoSQL key-value & document database service.
BENEFITS OF DYNAMODB
DynamoDB is popular because it is scalable and it doesn’t require server management. Also it is considered “enterprise-ready” for the reasons shown in Image 9 from AWS’ DynamoDB Features Page.
Aside from the fact that DynamoDB encrypts at rest, recovers at point-in-time, and backs up and restores on-demand, I want to take special note that DynamoDB has ACID Transactions.
WHAT IS AN ACID TRANSACTION?
ACID Transactions possess the following four qualities:
- Atomic: All changes to the database are performed successfully, or they are not performed at all
- Consistent: Data must be in a consistent state BOTH before and after the transaction
- Isolated: No other process can change the data while the transaction is running.
- Durable: Changes made by a transaction are persistent.
HOW TO MAKE A DYNAMODB TABLE USING THE AWS CONSOLE
I went to DynamoDB & I clicked create table (Image 10).
I then set the following values (Image 11), and I unchecked “Use default settings.” For read/write capacity mode, I selected On-demand, and left the rest of the settings (Image 12). I then clicked Create at the bottom of the page.
I confirmed that the table was successfully created, and you can see under the Items tab in Image 13 that the columns for Customer and Customer ID were also successfully created.
I then deleted the table using the “Delete table” button in the top left of Image 13.
FINAL NOTES ON DYNAMODB
In Image 12, you can see there is a Tab for Indexes. It is useful to note when organizing a database that DynamoDB supports two types of secondary indexes: Global & Local.
- Global Indexes: Index with a partition key and sort key that can be different from those on the base table.
- Local Indexes: Index with the same partition key as the base table, but different sort key.
While I’m curious to compare another NoSQL database such as MongoDB, DynamoDB’s user-friendliness was great to me.
With that, we have successfully registered our domain and launched a database, using both Route 53 & DynamoDB respectively.
Thanks for reading.