Skip to content
loading...
markdown guide
 

In my experience, scale for web applications comes from three areas.

  1. Vertical (Adding more memory, cpu, bandwidth)
  2. Horizontal (Adding more nodes)
  3. Correcting bottlenecks in code/design

DevOps as an idea and practices will allow you to accomplish these with increased safety and speed. A core belief in it is, "If it hurts, do it more." So, to accomplish any of these scaling techniques you will have to actually do it, suffer, try to remove the pain, and repeat.

Now I gave numbers to those scaling options for a reason. Throwing more resources at the machines responsible is often easiest, but it won't carry you far. This also depends on where the application is hosted and other factors. Do some analysis to find out where the application is starving itself and see if you can give it more of that resource.

Horizontal scaling is next up because it often requires that the application is built in a way to allow it. The thing to pay attention to when scaling horizontally is the state inside the system. Sessions and caches are typical sore spots for horizontal scales, as are databases. Also to horizontally scale, your networking topology will get more complex with load balancers and proxies.

Lastly, correcting bottlenecks in code and design. This is number three because it is a difficult skill to actually find bottlenecks for many, and it takes a lot of time to do it well. Even though I rank this one last I want it to remain at the forefront of any team's mind. If you have an application that is written to perform poorly, that is exactly what you are scaling and essentially burning money. Learning to detect hotspots is a valuable skill. Start practicing now.

Classic DEV Post from Sep 9 '19

What I learned after applying to 100 jobs

Between August 2014 and July 2019 I applied for just over 100 jobs. Like most people, I find job hu...

Muhammad profile image
Full Stack Web Dev

DEV is visited by over 2 million software developers per month. All are welcome to publish here or simply read great content.

Join for free