What exactly needs to be considered when modeling a new system / software solution? First of all, there are three factors to consider: performance, scalability and economic viability.
Let's dwell on these factors in more detail:
1. Performance consists in obtaining the desired result, taking into account the balance of processing speed, transfer and resource load. The calculation of such a balance must be incorporated into the architecture at the very beginning of the project, otherwise we may face either unsatisfactory system performance or a significant load on the existing infrastructure (for example, servers).
Let's take a closer look at the performance limitations:
1) Hardware resources
- Not enough processor speed (CPU / GPU)
- Energy consumption
- Data must fit in memory
- Disk read speed is limited
- Network bandwidth
- Storage volume
2) Manual input of information
3) Receiving data from specific devices (IoT)
- Sensors
- Devices
2. Limitations on scalability consist in the impossibility, taking into account the available or acquired resources (financial resources, technical resources), to ensure adequate performance with an increase in processing volumes and performing the number of operations.
Let's take a closer look at the scalability limitations:
1. Computational complexity of the algorithm (program)
2. Limitations of computer architecture
3. Is it possible to parallelize the algorithm? (Use multiple computers)
4. Will you have to send large amounts of data in real time?
5. Is the cost of information processing growing exponentially?
3. Economic feasibility lies in the feasibility of costs. It is necessary to conduct an adequate and full-fledged study of existing solutions market and suppliers for compliance with the stated goals and the cost of implementation, maintenance of the system, the cost of further scaling. It is very important to make the right choice between deploying the system on the organizations premises in the cloud.
The cloud can have a number of advantages over using its own computing power, namely: speed, deployment cost, scalability and reliability in clouds in some cases can be significantly higher. You need to consider the deployment models and cloud service models.
If you are interested in the implementation of software solutions, digitalization of individual business units in your company, then I will be happy to help in such projects. Please contact me through my website: http://akonnov.ru/ or through my Telegram channel: https://t.me/biz_in