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