Leveraging AWS for our Customers
Facets Control Plane is deployed in the customer's AWS account, ensuring full control, security, and compliance with local or compliance-based data governance policies.
Architecture Diagram
AWS Components
Virtual Private Cloud (VPC)
Network Isolation: The VPC provides a logically isolated network environment where all your cloud resources can operate securely and privately.
Subnets: It includes both public and private subnets to organize and control the accessibility of cloud resources.
Elastic Load Balancer
Traffic Management: The Elastic Load Balancer directs incoming traffic to the appropriate services within your cloud infrastructure, ensuring high availability and reliability.
Elastic Kubernetes Services (EKS)
Service Hosting: The EKS cluster hosts the Control Plane Frontend and Backend pods, providing a scalable and robust environment for running the Facets platform.
NAT Gateways
Internet Access: NAT Gateways in the public subnets allow resources in the private subnets to access the Internet securely when needed.
AWS Services
State S3 Bucket: Stores application state data.
State Lock DynamoDB: Maintains state locks for consistency.
Artifacts S3 Bucket: Stores application artifacts.
Secrets Manager: Manages sensitive information like passwords and API keys.
Facets IaC Agent
Infrastructure Management: The Facets IaC Agent manages the infrastructure within the AWS environment, ensuring that all components (e.g., Kubernetes clusters, databases, load balancers) are correctly provisioned, configured, and maintained according to the infrastructure code.
MongoDB Replicaset
Data Storage: MongoDB stores all the necessary information required for the proper functioning of the Facets platform.
Control Plane Frontend
UI Hosting: The Control Plane Frontend pod hosts the user interface (UI) of the Facets platform. This is where you interact with the platform to manage your cloud infrastructure.
Control Plane Backend
Terraform Execution: The Control Plane Backend pod runs the Terraform code that automates the provisioning, configuration, and management of your cloud resources.
Orchestration: This backend pod orchestrates all the necessary cloud operations, ensuring that your infrastructure is set up and maintained according to your specifications.