Technology
Flipkarts Technology Stack Transformation: Shift from PHP to Node.js
Flipkart's Technology Stack Transformation: Shift from PHP to Node.js
As of my last knowledge update in August 2023, discussions and reports suggested that Flipkart was considering a shift from PHP to Node.js for certain parts of its technology stack. This transition aligns with a broader trend among tech companies to adopt JavaScript-based technologies like Node.js for improved scalability, performance, and asynchronous capabilities. However, specific details about the extent of the transition or its completion were not publicly confirmed. The best source for the latest updates would be Flipkart's official announcements or recent tech news articles.
My Background and Personal Opinion
I am glad you found the presentation interesting enough to have questions about it! You can watch the video presentation HERE. You can also get in touch with me @_abhinavrastogi on Twitter for more information.
With that said, let's attempt to answer your question comprehensively. In short, the answer is both yes and no.
Running a Scale-Driven System with Multiple Technology Stacks
Kirtimaan rightly pointed out that having multiple technology stacks is not a big challenge. Running a website at a scale such as that of Flipkart or any other decently successful internet company requires the use of a diverse set of technologies, each best suited to its domain. For example, we use PHP/Java as the application server, Apache/Nginx as the HTTP server, MySQL/Mongo for data storage, Redis/Memcached for key-value cache storage, and so on. There are thousands of options available to choose the best fit for a specific use-case.
In addition to the best-fit aspect, the flexibility to experiment and stay at the cutting edge of technology is another driving factor. It makes sense for a technology company like Flipkart to experiment with the latest developments in any relevant field and quickly test them at scale.
Historical Context and Current Practices
It is true that our old website stack was almost entirely in PHP since the company's inception. However, this does not mean that we only use PHP for our websites. For many years, we have been using Node.js for significant parts of our system, apart from the user-facing websites. The presentation you saw is a stepping stone in a series of ongoing experiments aimed at enhancing customer experience.
In summary, parts of our system were already moved to Node.js and Java, and we continue to conduct experiments. Our current focus is solving rendering on the client-side and finding the best solution that integrates mobile and web worlds effectively.
Advice for Starting a New Ecommerce Website
For those starting a new ecommerce website, I would suggest choosing what you are comfortable with. Almost any matured technology, whether PHP, Java, or Ruby, can solve your problems effectively. In fact, you will find more stable and useful resources for these matured technologies.
Building a scalable app in Node.js is not for the faint of heart. It is a new platform with some weaknesses. Help is available in abundance due to the awesome community, but there are also many unsolved problems. Stick to what you know for building a new startup. Implementing your website should be the last problem you need to address. There will be much larger and more complex issues to tackle when you start out, and the tech part should take the minimum time and mental resources. Worry about scalability when you actually run into those issues.
In the early stages of a startup, experimenting with core technologies can waste precious resources. First, get to a stable system, and then experiment on parts of it.
Conclusion
I hope this answers some of your doubts. If not, feel free to drop me a comment or reach out to @_abhinavrastogi.
-
Is My iPad/iPhone Hacked? Understanding Security Risks and How to Protect Your Device
Is My iPad/iPhone Hacked? Understanding Security Risks and How to Protect Your D
-
The Intricate Experience of Being Immersed in a Video Game
The Intricate Experience of Being Immersed in a Video Game What does it feel lik