Evolution of FOSS (and some non-FOSS) stack at HackerRank
Submitted by Abhimanyu (@manyu) on Saturday, 16 January 2016
Technical level: Intermediate
The objective is to give an intro into the various components that make up a web application, on how in most applications evolve from few pieces and to more and more pieces connected together.
HackerRank is hosted using a large number of FOSS and few non-FOSS pieces, while it started out as a simple Ruby on Rails/Apache2+PHP server and a simple MySQL database, we have as the application grew added more components, most of them are either FOSS components, or managed instances of FOSS components.
I will be going through the evolution of the various components added and removed to the stack, why they were added or removed. They will try to include
- When did we add in-memory databases.
- For what do we use message queues.
- How do you build a secure codechecker that can run a large number of languages.
- How we deal with scaling
- How we deal with deployment
- Why we moved to a few managed services.
P.S : This talk is unlikely to add to knowledge of any current full stack developer who has worked on production applications.
Should know basics of
- How networks and servers work
- How a web application, in some language Ruby, PHP or Python works.
I graduated from NIT Calicut in 2007, and currently work as Software Developer in HackerRank.