The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 80,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

Automated: A guide to AWS and the possibilities of scalability (Code and Software Architecture)

WealthChaser

Contributor
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
188%
Jun 7, 2017
48
90
32
Indiana
Hello Forum,

I wanted to be sure to give back before I started taking. My background is in Computer Science and I wanted to share something that may help those attempting to tackle large technology based challenges. This forum is intended for anyone looking to learn about the technologies present for scalability and those interested in an automated software architecture infrastructure.

To Start:
Most software follows a three tier system.
  1. User Interface (UI) This is the pretty webpage you see before you. This level of the technology stack is responsible for receiving data from a server, and displaying it in a fashion that makes sense to humans. Newer tech has also allowed the UI to interact with the Database layer, and update the UI without a page refresh needing to be preformed. (HTML 5, knockout.js, angular.js, ect)
  2. Data Access Layer / Business Layer: This layer of the stack is responsible for transmitting data submitted on the UI and sending it to the Database; and vice versa. This layer is also responsible of validating internal business rules before allowing transactions. (For example: Chase will not allow you to withdraw $100 when you account balance is $0. You have the Data Access Layer to thank for this.
  3. Database: This layer of the stack is responsible for storing your data and accessing it when necessary in your application. Sounds simple enough, but anyone who is well versed in databases will tell you its easier than it sounds.

It is important to understand the different levels of the stack because you will need to use multiple technologies in AWS to support them all.

Note: As I type this up on 6/12/17, I have no working models of this technology stack (besides what I work with at work, and I cannot share that of course), and therefor cannot go into great detail of the configuration or use of these technologies with absolute certainty. This guide to date will require research and trial and error on your part to get going. As I find a need to play with this technology stack, I do plan on releasing a more detailed guide on the setup.

The Tech!!!
For those unfamiliar, AWS stand for Amazon Web Services. There are multiple cloud based computing companies, but I like AWS for a few different reasons. Most of them are selfish (like the fact I already work with AWS on a daily basis), but there are other reasons to use it; like the fact that if AWS goes down, no one will really care that your application is down, because roughly 70% of the internet will also be down. (Ref: How a typo took down S3, the backbone of the internet)
S3 is an AWS feature btw :)


Inside of AWS, there are multiple features to be utilized. I will categorize them based upon which piece of the software architecture tier they fall under.

Outside of the stack:
VPC
  • A VPC stands for your "Virtual Private Cloud". You can think of it as your own little slice of AWS. The VPC allows your code to be hosted along side other companies code on the same server, with no interference. There is not a huge need to go into detail on this one, but realize that all of the tech listed below this point will need to be maintained inside of a VPC.
  • Note: your VPC will need a: Subnet, Route Table, Internet Gateway, Network ACL, and Security Group. Again, these pieces of the technology will need to be researched to get off of the ground, but most of these pieces of the puzzle are not to hard. You will want to take extra care note when setting up the Security Group though, as incorrect setting there can leave your environment open to the world for access.
  • Noteworthy: Depending on your business needs, you can pay a premium to reserve your own servers in AWS. (Not Shared)
Route 53
  • Think of this as Amazon's version of 'Go Daddy'. While Route 53 contains many more uses than just purchasing domain names, such as natively managing SSL certs (if necessary), and the ability to load balance your web routing; the primary function for new businesses will be to buy your domain name, and point it to the correct server / load balancer in your EC2 (to be covered...).
Now the good stuff.....
UI: EC2 "Elastic Compute Cloud"
This piece of AWS allows you to launch stand alone cloud based servers for automation. You can publish both your UI code, and Business layer code into these cloud based servers to service requests. EC2 also let you place servers in multiple regions. (Like Oregon, California, N. Virginia, etc.) This is helpful for failover planning, as well as allowing your users to experience faster load speeds as the location of content is closer.

Things to expand on at a later date:
  • Nat Gateway
  • Remote RDP
  • Availability Zone
  • Region
  • Load Balancers
  • Auto Scaling
  • AMIs (Images of the VMs)
  • Instances
Note: This tech is unnecessary and not advisable for websites collecting simple data. (Like name, email, payment etc.) This would be ideal for high level applications or new technology spaces where automated processes are necessary.


Data Access Layer
Lambda
If you are interested in the future of computing power and technology, pay attention to this part.

When factories were first opened up, and business owners discovered how much better electricity was at doing work rather than steam, they hired on employees who would build, maintain, and run a generator to power the factory. There were no utilities companies then; no one had a way to ensure electricity to their factory without these employees. When the first power plants and Utilities companies opened up, factory owners were hesitant to fire their employees who ran the generators, as they wanted to ensure their work and productivity was unaffected. We look back on this with the perk of hindsight and realize how silly those factory owner's fears were. Today, we simply plug our electronics into the wall and things magically light up. No one cares which power plant sent our energy, because it just happens. We take it for granted. I bring this analogy up, because it is exactly what is occurring in computing power today.

AWS Lambda – Run Code in the Cloud | AWS Blog

Lambda itself is not the application that is changing the future of computing, but the ideas and processes around it are. Lambda is micro-computing.

Micro-Computing occurs inside of a server. The server has software installed that will allow the physical server to be split up into multiple "theoretical" computers. (Meaning that all hardware of 1 physical machine, are shared among 4 "Virtual" machines.) Virtualization (VM or VMWare) has been around for a while now. Micro-Computing steps that game up by launching only enough data and information that is necessary to 1) Launch the Machine. 2) Preform whatever action is located in the request. (Lambda Call). Lambda also allows these requests to be preformed asynchronously which means that if 150 requests are sent to your service, 150 of these Micro-Computers can be spun up at once to preform the work. These Micro-Computers can additionally be spun up on any server that is also a VM Host.

In a sense, Lambda sparks the birth of the online Utility Company. Soon, developers and companies will be writing code that can be utilized on any server. No more downtime, no more service spike errors, and other impacts are sure to follow.

Ok, I am starving, and have to take a break. I have a lot to expand on Lambda and do not want to do it injustice. If you have question or critique, please fire away :)

Cheers!

Matt
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

PedroG

Silver Contributor
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
264%
Oct 1, 2013
298
786
NH
Watching this thread... I currently run my SaaS application on a VPS where I run everything on the same server, but I've been thinking about AWS lately for the scalability. I know if I keep growing that's the route I'll have to go.
 

Owner2Millions

Bronze Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
103%
Feb 21, 2017
144
148
Chicago
From another guy that studied Computer science, this is great content. I knew AWS has a shit ton of power and scalability(CENTS commandment) but I didn't know about the micro computing. Thanks for that break down. I'm currently using linode but if I'm doing a SAAS company then i would eventually need to switch to AWS. I heard AWS can get very expensive after awhile. Do you have any hands on exp with other hosting platforms such as docker, linode, etc.......what separates them from AWS besides scale and price?


Sent from my iPhone using Tapatalk
 

WealthChaser

Contributor
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
188%
Jun 7, 2017
48
90
32
Indiana
Sorry for not having the update lately guys. Was out of the country and have been reading and studying in my free time. IMO I am struggling shifting my mindset from consumer to producer and have devoted all of my energy to it. I will expand this out and provide more in depth as I plan on using AWS and all of this technology when I form my first idea. Ill keep you posted.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

WealthChaser

Contributor
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
188%
Jun 7, 2017
48
90
32
Indiana
From another guy that studied Computer science, this is great content. I knew AWS has a shit ton of power and scalability(CENTS commandment) but I didn't know about the micro computing. Thanks for that break down. I'm currently using linode but if I'm doing a SAAS company then i would eventually need to switch to AWS. I heard AWS can get very expensive after awhile. Do you have any hands on exp with other hosting platforms such as docker, linode, etc.......what separates them from AWS besides scale and price?


Sent from my iPhone using Tapatalk
AWS can get expensive, but they have tons of scalability tools to help you only pay what you need too, as well as alerts if you reach a certain budget in a set amount of time.

We host a few dev environments at my work @ rackspace. I cannot give it a fair review as I do not go nearly in depth with it as I do at AWS, but I really like AWS and it has been very reliable.

Tip: if you spin up in Oregon (an availability zone AWS offers), you will be in the development roll out zone; you will get the new features first!
 

Drive2Riches

Bronze Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
188%
Jul 18, 2014
188
353
Washington
Watched thread for me. Thank you @WealthChaser !

As far as cost. I use S3 to provide hundreds of very short audio files to be available to the public for a very short time -- less than one week -- and then remove them. I've been using S3 for over a year. And I'm a very, very light user of storage. (Less than 3G for June in storage or bandwidth) But it is absolutely necessary to use S3 to serve this function in my business.

Here's my bill for June... and it doubled in July because I'm using it more effectively.

upload_2017-7-23_22-55-50.png

My costs will directly scale at this rate as I grow, and I believe it will remain an insignificant expense for me.

~ Jeff
 

chabs

Contributor
User Power
Value/Post Ratio
233%
May 4, 2017
12
28
31
Sydney, Australia
This looks very interesting and I think I understood it thanks to the analogy about electricity, but how would you best explain this in simple english? Is this news good for developing your internal business software?
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

-Brian-

New Contributor
Read Fastlane!
User Power
Value/Post Ratio
170%
Jul 19, 2017
10
17
50
Florida
Glad to see an Amazon AWS overview thread. I agree that AWS is super flexible (and cheap? (if you don't include labor)), but it is fairly complex. Albeit I don't run a business on AWS, but for personal stuff, I tend to gravitate toward a flatter model (ie. Digital Ocean, Rackspace ), etc. However, for startups (and coming along slowly, Large Enterprises), the move to AWS is real. Just know that if you commit to AWS, there is a whole set of layers that you have to sift through. So much so that tooling is coming along just to manage complexity as the same flexibility also will let you burn down the world (virtual) with a typo ( How a typo took down S3, the backbone of the internet ). Complexity tends to drive people to using orchestration tools such as Terraform (Terraform by HashiCorp).
 

PatrickWho

Coffee-fueled Programmer
Speedway Pass
User Power
Value/Post Ratio
144%
Aug 4, 2017
95
137
44
Canada
Thanks for posting this. I look forward to learning a lot more here.

Currently I used Digital Ocean, but I've been considering AWS for even my smaller projects just so I can build up more familiarity with it.

edit:

@WealthChaser - while you go through this, I'd be interested to see you comment on what would be advisable for developing an MVP and what can be left for later, and perhaps how to plan for that eventual scale up so we don't end up shooting ourselves in the foot.

Cheers!
 
Last edited:

WealthChaser

Contributor
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
188%
Jun 7, 2017
48
90
32
Indiana
I have been thinking of creating a "how-to" video discussing all of these ideas. I have been playing with the idea of selling the content at a later date, but if those who have commented on this above would be interested, I would let you guys be my first review. Let me know your thoughts.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

Latest Posts

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top