Architecture Overview & Improvements
Agenda
- What is DTech Group about?
- Requirements
- Architecture and Infrastructure
- Discuss NFRs and Improvements
Requirements
- SaaS platform to access data from multiple social media platforms
- MVP: Twitter only
- Future: Facebook, LinkedIn, etc.
-
Multitenancy, Billing
-
Data synchronization from social media platforms
-
Complex searching queries
-
Email notifications
-
Screenshots of social media posts
Non-Functional Requirements
- Extensive requests and queues logging
- Optimize Twitter Enterprise API request count
- Configurable variables to tweak cost/performance
- MVP: Low infrastructure cost
- Future proof
- Easy scalability
- Performance (Response time)
- Security
Architecture
Infrastructure
Performance
- Handles 1200+ Twitter profiles
- Searching over 10 million+ documents
- Have 500MB+ worth of screenshots
- API response time < 600ms for 85th percentile
- Collected over 1million tweets in a day
Improvements
- Use caching
- Optimize some poor performing SQL queries
- Use database read-replicas
- Shard Elasticsearch data
Scalability
- Uses ECS Fargate
- Stateless backend services
- Uses CloudMap for Service Discovery
Improvements
- Breakdown some consumers/tasks to Lambdas
- Perform automatic scaling of containers
Availability
- Serving FE over CloudFront
Improvements
- Use multi AZ for services
- Use multi AZ for databases
Security
- TLS v1.3
- CORS Enabled
- JWT Authentication
- IAM Roles / Policies
- Security Groups
Improvements
- Use Cognito
- Perform penetration testing
- Secure application configurations with secret manager
Maintainability / Extensibility
- Dev Env: mimics 100% infrastructure using containers
- Modular structure to support more social media platforms
- Replaceable services
- API Documentation / Consistent response
- Extensive logging
Improvements
- Increase test coverage
- Add support for internationalization in FE
- Use Cognito
Your time to say...
Associate Architect
By Ali Yousuf
Associate Architect
- 227