Infrastructure
Overview
The infrastructure of the project is built on Amazon Web Services (AWS). AWS is a comprehensive and scalable cloud computing platform, offering a suite of services that provide computing power, storage solutions, and various networking capabilities. It operates predominantly under an Infrastructure-as-a-Service (IaaS) model, where AWS provides virtual servers (EC2 instances) and other resources on demand.
AWS is designed with a set of interconnected services, each handling specific aspects of cloud computing. These services include EC2 for virtual computing environments, S3 for scalable storage, VPC for isolated network provisioning, and RDS for database management. AWS's global infrastructure is spread across multiple data centers, ensuring high availability and reliability.
Users interact with AWS through the AWS Management Console, a web-based interface offering comprehensive control over AWS resources. Alternatively, AWS provides a robust set of command-line tools (AWS CLI) and SDKs for programmatic access, enabling automation and integration with existing development workflows. AWS also supports RESTful web services, allowing for direct interaction with AWS services over HTTP.
This extensive range of tools and services makes AWS an ideal platform for hosting scalable, secure, and efficient cloud computing environments, well-suited for diverse project requirements.
Architecture
Components
Amazon Amplify
AWS Amplify is a set of tools and services that can be used together or on their own, to help front-end web and mobile developers build scalable full stack applications, powered by AWS.
AWS Amplify is designed to give a declarative interface to client developers looking to perform common actions using cloud services in a scalable and secure manner. AWS Amplify supports popular web frameworks including JavaScript, React, Angular, Vue, Next.js, and mobile platforms including Android, iOS, React Native, Ionic, Flutter.
Amazon WAF
AWS WAF is a web application firewall that helps protect your web applications or APIs against common web exploits that may affect availability, compromise security, or consume excessive resources. AWS WAF gives you control over how traffic reaches your applications by enabling you to create security rules that block common attack patterns, such as SQL injection or cross-site scripting, and rules that filter out specific traffic patterns you define. You can deploy AWS WAF on Amazon CloudFront as part of your CDN solution or the Application Load Balancer (ALB) that fronts your web servers or origin servers running on EC2.
Amazon Route 53
Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service. It is designed to give developers and businesses an extremely reliable and cost-effective way to route end users to Internet applications by translating names like www.example.com into the numeric IP addresses like
Amazon Elastic Load Balancing
Elastic Load Balancing automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions. It can handle the varying load of your application traffic in a single Availability Zone or across multiple Availability Zones. Elastic Load Balancing offers three types of load balancers that all feature the high availability, automatic scaling, and robust security necessary to make your applications fault tolerant.
Amazon EKS
Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed Kubernetes service. Customers such as Intel, Snap, Intuit, GoDaddy, and Autodesk trust EKS to run their most sensitive and mission critical applications because of its security, reliability, and scalability.
Amazon VPC
Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you've defined. This virtual network closely resembles a traditional network that you'd operate in your own data center, with the benefits of using the scalable infrastructure of AWS.
Amazon MSK
Amazon Managed Streaming for Apache Kafka (Amazon MSK) is a fully managed service that makes it easy for you to build and run applications that use Apache Kafka to process streaming data. Apache Kafka is an open-source platform for building real-time streaming data pipelines and applications. With Amazon MSK, you can use native Apache Kafka APIs to populate data lakes, stream changes to and from databases, and power machine learning and analytics applications.