Note that the three-tier architecture consists of the following:
- Presentation tier – consists of the components that users interact with; this might include web pages and/or mobile app user interface components
- Logic-tier – contains the code required to translate user actions initiated at the presentation tier to the functionality required by the application
- Data-tier – consists of storage media that hold the data relevant to the application architecture; this might be a database, object stores, caches, or file systems
AWS offers many technologies to assist with the presentation tier of your architecture. The Amazon Cognito service can assist with the creation and management of user identities. S3 might be the source of any static Web content you need to store and the deliver for the tier. The API Gateway can be enabled for cross-origin resource sharing compliant. This permits web browsers to invoke APIs from within your static web pages.
You can consider the logic tier to be the “brains” of the architecture. This certainly lends itself to the power of the API Gateway and Lambda functionality. They combine to allow a revolutionary new serverless approach to the multi-tier architecture. Thanks to advantages that come with serverless implementations, new levels of high availability, scalability, and security are possible. While a more traditional server-based implementation of the three-tier architecture might require thousands of servers in order to scale, a serverless environment does not need a single virtual server in its operation.
The data tier of your architecture can be utilized with a wide variety of AWS solutions. We often organize these into two broad categories. Amazon VPC-hosted data stores and IAM-enabled data stores. VPC-hosted data store options include:
- RDS – several relational database engine options here
- ElastiCache – boost performance with in-memory caching
- Redshift – simple data warehousing capabilities
- EC2 – data stored within technology offered by an EC2 instance(s)
IAM-enabled options include:
- DynamoDB – an infinitely scalable NoSQL database
- S3 – infinitely scalable object-based storage
- Elastisearch Service – a managed version of the popular search and analytics engine called Elastisearch