About AFCN
The Arab Fact-Checkers Network (AFCN) is a grassroots network that works towards fostering transparent and impartial fact-checking in the Arab region. This network is a product of the mis/disinformation spikes amid the unprecedented times of COVID-19 worldwide.
Challenges
AFCN created a Marketplace and recognized the necessity to have a flexible architecture, that emphasis developing small, microservices that can function independently, but also work cohesively to construct robust and scalable infrastructures quickly.
Having a microservices application comes with other challenges for instance monitoring due to the distributed and dynamic nature of its architecture, and the main challenges are logs aggregation, keeping an eye on the container numbers across all services, and how they scale based on demand, and monitoring the dependencies for each service.
The Solution
cirrusgo designed AFCN marketplace architecture with considering security, high availability, fault tolerance and cost efficiency terms. The design decoupled the application components and used AWS managed services for the application, database, and storage.
The platform is built on multiple microservices which are deployed using Amazon Elastic Container Service specifically AWS Fargate spread across availability zones enabled by an Application Load Balancer (ALB) associated with an Auto Scaling Group (ASG). The database is hosted on Amazon Aurora Serverless which provides the advantage of scalability and cost efficiency.
Amazon API Gateway is used to direct traffic to microservices while Amazon's suite of services such as AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and Amazon Elastic Container Registry (ECR) help handle the software life cycle. Amazon Cognito facilitates the sign-in and sign-up process to help with user onboarding, while Amazon Simple Notification Service (SNS) and Amazon Simple Email Service (SES) supply notification services so that users stay informed about significant updates.
For monitoring and observability, Amazon CloudWatch metrics and alarms were used to monitor resources utilization and get notified automatically based on predefined thresholds, in addition Amazon CloudWatch logs and Amazon CloudWatch Logs Insights were used to store the servers logs and to query them.
For synthetics monitoring, Amazon CloudWatch Synthetics were used to check the health of the backend APIs.
For operational and risk auditing, AWS CloudTrail along with Amazon CloudWatch metric filters and alarms to be notified in case of root access, critical resource deletion, or disabling certain security services.
Overall Benefits and Enhancements form Engaging cirrusgo
The platform is built on a secure, available, highly performed, and scalable environment. These are assured by the highly mature mechanisms built using AWS monitoring and observability services with proactive mitigation.