Jobleads Releases Review (254 - 256)
Infrastructure Team
Workation!

Distributed data storage in Cloudflare KV
- Problem: Thanks to Cloudflare, the SSR app is distributed to multiple regions, but all necessary endpoints are located in Europe only. This creates an unwanted network delay.
- Solution: Cloudflare provides various distributed data storage. One of them is KV (key - value). We made a prototype and measured potential gains.
- Effect: Reduced number of calls to the backend service leads to faster response.
USA - Portland

India - Mumbai

PHPStan violations solved by AI
- Problem: Years of development without static code analysis have led to weak compatibility with PHPStan. To achieve a reasonable compatibility level, we must solve thousands of violations.
- Solution: We tested Claude Sonet 3.7 and other models to solve violations without developer interactions.
- Effect: In most cases, AI provides an accurate solution. Unfortunately, in 5 - 10% of cases, proposed solutions lead to a decrease in code quality or even errors. AI speedup work on the topic, but even the best current model must be under control.
Integration with User History Service
- Problem: We have numerous user-related events stored by a monolith, which were utilized solely by BI. We need them as the primary data set in the User History Service.
- Solution: We made background processing (batchjob) to move the existing data and extend the processing of new events to store them in real time.
- Effect: All existing events will be available for AI tools.
Code cleanup
- Problem: Some functionalities are handled currently by microservices, and the related code becomes obsolete in the Monolith, e.g. frontend application loader, old batchjobs.
- Solution: Refactoring!
- Effect: Less confusion for developers and no need to support dead code in future updates.
Job export statistics
- Problem: The number of jobs exported was difficult to verify, particularly the new ones. It was problematic for PO and hard to monitor in case of problems.
- Solution: Metrics about the total number of exported jobs and the number of new jobs were added.
- Effect: Better business decisions and stronger monitoring.
EMS as service
- Problem: We would like to move out the EMS from Monolith to a dedicated service, but it is quite a big part of the application and uses data from many parts of Monolith. We must be careful during that operation.
- Solution: We begin the process with data replication, which we perform using Debezium. To evaluate the effectiveness of replication, we implemented a dual connection for EMS and a feature toggle that allows switching in case of a problem.
- Effect: Separation will be safer.
New services deployment
- Problem: New services (JL Assistant, Job Interaction Center, VDB Search) need to be deployed to QA, stage, and production environments.
- Solution: We provide pipelines and Helm deployments.
- Effect: All services could be released.
Other
- Investigating batchjobs out of memory issues
- Investigating piling up RabbitMQ queues
- Troubleshooting the EMS campaign processing slowdown
- Handling other production issues
- Team support
- Recrutiment
- JWT related hotfix
- Final adjustments for HH maching
Jobleads Releases Review (254 - 256)
By Piotr Woszczyk
Jobleads Releases Review (254 - 256)
- 67