People often use facebook or twitter as an example to substantiate their choice of technology platforms, PHP or Ruby or something else. But the fact of the matter is facebook and twitter are not monolithic platforms built using any singular technology.
Internet scale companies are built as aggregates of micro services, which in turn could have been built using different technologies altogether. What we see as a singular website comes together, from a lot of services across completely different systems.
Entrepreneurs often debate about the right technology to start their product journey. There are two dimensions to the choice of technology. An entrepreneur has to weigh the scale against how quickly he wants to get there.
Building at internet scale is lot more expensive and time consuming. With a realistic understanding of the scale and your ambition, you can better choose the right technology and architecture.
When you are building a product at a city scale, pick an already validated technology platform with good community support. You would not go wrong with any of the already established and popular frameworks. Your best bet would be to go with the brightest developers available to you. For ex. Hyderabad has a better pool of java developers than PHP or Ruby or Python.
When you are building at internet scale, figure out all the pieces that need to be scaled independently of each other and create micro services around them. That way, your search could be implemented in Elastic Search, real time services in node.js or analytics engine using python, so on and so forth.
No matter which scale you choose to build your product, pick a platform that is – Open Source, Rapidly Prototypeable, Has Strong Community, Supports Mobile First Strategy, Lets You Continuously Integrate and Deploy.
Let’s say you are not sure about the scale at which you want to build. I’d say start at City Scale. Increase the size of the server to the point you cannot increase anymore, and then add more.
If you are convinced about building at internet scale, a technical architect can help you decide the right technology for each of those individual services. Matt’s article does a phenomenal job of covering the pros and cons of each and every technology.
About The Author
Srinivas Aki in his current role as the CEO & Founder of The Egghead Creative, works with entrepreneurs and startups advising them on technology, products and strategy. As an Indian born and US bred technologist, he brings a formidable outlook to software driven endeavors. If you are an early stage startup looking for advise, reach out to the author at firstname.lastname@example.org