-
Notifications
You must be signed in to change notification settings - Fork 1
Meeting 01 Jan 16th 2022
Nirav Raje edited this page Jan 24, 2022
·
3 revisions
React.js
- More closer to core JavaScript than Angular.js.
- React.js is library, Angular is a framework. Hence, React.js would provide more flexibility.
- We will mostly use React.js.
Angular.js
- More complex, less flexibility.
3 languages to be used for microservices:
- TypeScript: Major tasks like authentication
- Python: Flask or Django. Mostly we will use Flask since it is a lightweight Python micro-framework.
- Java: For CPU-intensive or tasks related to database interaction
Above considerations are tentative and are subject to change based on new requirements.
Communication between UI and backend:
- REST API: Most popular option.
- GraphQL: As a middleware between client and server for specific requirements.
Communication between microservices:
Options:
- For synchronous tasks. Example: Interaction between gateway service and auth service.
- gRPC
- To distribute data between microservices
- Apache Kafka
- Rabbit-MQ
Containerizing the services:
- Docker
CI/CD:
- Continuous Integration:
- For this available tools are: Jenkins and ANSIBLE
- We will be using containerized Docker images to build and integrate applications, using above tools.
- Continuous Deployment:
- GitHub Actions
- Jenkins
- ANSIBLE
Memory, Load-balancing, Instance Configuration:
- To Be Decided
Testing:
- Frontend:
- Functional Testing
- Component-based unit testing
- Integration testing
- Backend:
- Unit Testing
- Load Testing
- Integration Testing
- Rajdeep:
- Learn gRPC, Kafka, revise Docker, build project with microservice architecture with different languages, Java core concepts w.r.t. microservices.
- Nirav:
- Learn gPRC, learn how to build microservice architecture with Python, Java core concepts, containerizing services with Docker (overview), Database interaction with Python/Java (ORM optional)
- Shashank:
- Learn gRPC, learn how to build microservice architecture with Python, REST APIs in Python with Flask, Data ingestion from S3 and data processing).
- Testing Overview
- Load Testing
- Overall System Load Testing
- Spike Testing
- Fault Tolerance Testing
- Conclusion & Future Improvements
- Data Assimilation
- Architecture Improvements: Message Queues, Caching and Polling
- CI/CD and Infrastructure Deployment
- Visualization
- Custos Deployment Status
- Rancher Setup
- Kubernetes Cluster Deployment using Rancher
- Setting cert-manager, keycloak, consul, vault and MySQL
- Custos Deployment
- JMeter Testing for Custos Deployment with Python SDK
- Custos - Suggested Improvements