Amazon Web Services
AWS is a cloud services platform that provides a variety of infrastructure services including cloud computing, access to database and data storages, and other functional capabilities, that help app developers to successfully scale their applications.
When using cloud computing you have a lower cost comparing to in-house calculations. Since thousands of customers consume resources in the cloud together, AWS can achieve high economies of scale, helping organizations reduce expenses for using resources.
Scaling the project: Scenarios
In this case, you need only one user. To build the architecture you should run on a single database, for example, a type t2.micro.
The types of instances include various combinations of CPU, storage, memory, and networking capacity, providing app development teams with the flexibility to choose the optimal resources’ combination.
With a single instance, you will be able to run the entire web stack, including (for instance) a web application, database, management, and so on.
Then, for the Domain Name System (DNS) it’s better to use Amazon Route 53, a highly available and scalable cloud-based web service for the DNS.
The Amazon Route 53 service is used to connect only to “healthy” addresses (using DNS checks) and to independently monitor the status of the application and its endpoints.
>10 Users; >100 Users
Use one host for the future website. Separate out a single host into multiple ones as the use of the separate hosts will enable both website and database to be scaled and failed independently of each other.
Also, use one host for the database. Start with a SQL database and move to NoSQL only if necessary. You should start with NoSQL, when:
- You have a super intensive data workload.
- You don’t have any relational data.
- The project requires a high throughput.
- The requirements for your future application are very low-latency.
- The system needs storing > 5 TB of data in the first year.
To scale your web project to over 100 users use a separate host for the web tier and store the database on the Amazon Relational Database Service (Amazon RDS).
Amazon AWS is a web service that simplifies the process of setting up, operating, and scaling a relational database in the cloud. Also, Amazon RDS enables to manage common database administration tasks.
Learn more about project scaling with AWS up to millions of users.
To start, check out AWS documentation.