Nanimatel: a Marketplace for Freelancers
Website performance is an important component of sales. Ultimately, it affects how customers perceive your business and the conversion rate.
Within just three days in 2022, we joined a project to upgrade a marketplace for freelancers to get it up and running by improving the user experience. This is an ongoing project; and, in this case study, we discuss what has already been done.
Customer
Nanimatel is a platform that brings together freelancers and employers. Its personal account enables users to prepare contracts and all required reporting, which is then sent to the Federal Tax Service.
Objective
Refining the existing features of the website and developing the new ones.
Outcomes
When we started to work, the infrastructure had a suboptimal configuration where some changes could cause the system to fail. So the DevOps specialist and the developer had to simultaneously address various bottlenecks in the project, each on their own side.
Also, at the early stages of our collaboration, Reg.ru, which hosted the Nanimatel domain, experienced a DDOS attack. To avoid such troubles in the future and to ensure uninterrupted access, we migrated the customer's website to Yandex.Cloud.
Investigating performance issues and configuring CI/CD
- We set up logging and monitoring. The goal is to detect any system failures before they affect users.
- We organized the backup process ranging from virtual machine configurations to application files.
- We reconfigured the infrastructure so that it supports stable operation in case of changes.
- We also improved the mechanisms and cut the time for continuous integration and code delivery (CI/CD). This accelerated the implementation of the changes.
Managing cloud infrastructure: Infrastructure as Code
- We imported the current Yandex.Cloud infrastructure into the Terraform repository. This tool enables the Infrastructure as Code paradigm for cloud management. In the case of required changes, all we have to do is to check and correct just the necessary code snippets.
- We prepared a detailed documentation for the infrastructure so that the customer can easily upgrade its product in the future.
Developing software to improve website operation
- We brought the code in line with the best practices to improve performance, speed, and quality.
- We proposed and implemented four microservices, including those for storing user information, messages and notifications, payment documents, and contracts. Now, the marketplace retains only the information related to users and jobs, which speeds up downloads and improves the user experience.
Delivering deliverables
- More than 50 major tasks addressed;
- Reduced load on technical support;
- Less time spent by users on technical processes – in some instances, more than 1000-fold reduction (downloads of assignments, signing of contracts, etc.)
Technologies
PHP 7.4 и 8.1, Yii2, Vue.js, MySQL, PostgreSQL, REST API, TochkaBank API, nalog.ru api, Yandex Message Queue, Grafana, Apache, Gem Backup, Ansible, Terraform