Microservices Architecture on AWS

Monolithic applications are built using different layers, a user interface  layer, a business layer, and a persistence layer. A central idea of a microservices architecture is to split functionalities into vertical layers but by implementing a specific domain. 

 Figure  depicts a reference architecture for a typical microservices application on AWS

User Interface

The user interface (UI) is the point of human-computer interaction and communication in a device. This can include display screens, keyboards, a mouse, and the appearance of a desktop. It is also the way through which a user interacts with an application or a website.

For delivering and storing the content of this website AWS provides the services.

  • Amazon Cloudfront  is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer-friendly environment.
  • Amazon S3 is an object storage service that offers industry-leading scalability, data availability, security, and performance.

Microservices

AWS has various integrated building blocks that support the development of microservices. 

  • AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume. With Lambda, you can run code for virtually any type of application or backend service – all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.

Data Store

The datastore is used to persist data needed by the microservices. Popular stores for session data are in-memory caches such as Memcached or Redis. Putting a cache between application servers and a database is a common mechanism for reducing the read load on the database, which, in turn, may allow resources to be used to support more writes. Caches also can improve latency.For larger data  AWS provides relational and NoSQL databases.

  • Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
  • Amazon DynamoDB to create a database table that can store and retrieve any amount of data and serve any level of request traffic.

This is the complete Microservices  Architecture on AWS and its different layers and the amazon services  used on those layers.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.