There is an existing Mangento 1.9 based application which is grown phenomenally in the last 4 years. I came on board very recently.
To make the application more scalable, (currently, it's monolithic), I am checking the options available which will help me gradually migrate to horizontally scalable architecture.
Now as the site is attracting too much traffic, I want to first develop new smaller modules separately which can be set up on micro instances and then when the situation permits, can retrospect the past code.
Is there any good writeup/approach which will address this problem?
Thanks in advance for your help.
Congratulations on the growth of your Magento 1.9 site!
Since Magento 1.x is reaching its end of life later this quarter, be sure to keep up with security and PCI Compliance implications. We've tackled this in recent episodes of The JetRails Podcast if you're interested in learning more.
In terms of making the platform more scalable, I've been involved with some very large Magento 1 sites. Scalability always comes down to weak links in the chain - in this case hardware or software bottlenecks, including configuration issues. I wrote an article on the topic a while back: https://jetrails.com/blog/could-traffic-spikes-take-down-your-magento-site/
There are lots of helpful tips in the article, but if you'd like to discuss your more specific challenges, just let me know.
I'll add that there are huge Magento 1 sites out there, so while I like your idea of microservices, I don't know if that's how I would invest in a legacy Magento 1 website. It really depends on what you're trying to split up. For instance, it can be relatively easy to create separately optimized servers (physical or virtual) for your frontend, database, admin, caching, search, and other easily separated resources.
There are also options to use a PWA for the frontend, which is not mentioned in the 2018 article, and could make sense for you... but again, I'd caution over-investing into an M1 site.
Best of luck!
Thank you, Robert Rand, for your response. I appreciate for taking out time to draft such a detailed post.
I will check the things as you mentioned and will add to this thread if any further queries.