Category Archives: Linux

How we use docker @ naukri:

What we will be focussing on: Creating tag of application and deploying on kubernetes. Creating an immutable image Naukri Deployer and Endpoints Creating a tag of Application: Whenever we push to git repository, a jenkins job is triggered and runs UT(Unit Test Cases)  on that branch (or tag). If UTs are passed create a tag and run next jenkins job to create immutable image. This new immutable image can be deployed on kubernetes and subsequently QA team can run their FT(Functional Test Cases) on that tag. To know what is an immutable image, refer::... Read More

Spamming is easy, filtering is tough

“Spamming is easy, filtering is tough” We sent 250 million emails through Resdex last month, and that’s way cool ! Maintaining that traffic with good user experience is really a tough task. But Resdex gives it desired attention to make sure the emails sent are relevant. What is Resdex ? Resdex is one of the most commonly used product by recruiters in the country to search desired candidates. Resdex provides various options to ensure the hiring is more targeted and less time consuming. Resdex is Naukri.com’s Resume Database Access. Naukri.com has a large database of over... Read More

Docker @ Naukri.com

Problem statement Let us go though the problems that we were facing in our development environment.   1. Deploying multiple applications on a single machine.            Different applications have different dependencies and package requirements. Deploying multiple applications on one server causes dependency conflicts. For eg. if different applications are supported by different PHP versions. To achieve this one has to install multiple PHP versions on single machine.    2. Resource allocation We cannot control resource utilization (CPU and memory) by different applications... Read More

Using php constants and static functions directly in smarty template of Symfony2

The Symfony Framework is well-known for being really flexible and is used to build micro-sites, enterprise applications that handle billions of connections and even as the basis for other frameworks. Some time back we started using Symfony2 for our new projects. Symfony2 comes with twig as the default templating engine but we chose to use smarty as the templating engine using the SmartyBundle of Symfony2. Smarty is great, but for maintainability reasons, they have deprecated the possibility of adding php tags in the template. This means we will not be able to use php class constants... Read More

Better Practices in PHP – Speed up your code

“There's ALWAYS a way to fix something.” --Steven Wolff And when you are using PHP, there are multiple ways to fix something. What we need to determine is, that which way is the best. Computation is not like solving a maths problem, where simplicity can be determined by the number of lines. Computation requires resources, for example CPU Cycles and memory. Now when we have got multiple ways to solve a problem, we need to think in terms of computation and how much resources it will take. The objective is to accomplish the task in minimal number of steps, but different functions in... Read More

Managing Crons

Not a nightmare anymore .. What is Cron ? Cron is a time-based job scheduler in Unix-like computer operating systems. People who set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. With increasing servers, applications, crons (schedule jobs) it was becoming pain to manage and monitor all crons. We thus built NCConfig – a tool to monitor all crons which includes their status - Success/Failure, executing time, output, etc Few major problems which we used to face before building... Read More