Visit completeBackend roadmap

Building for Scale

Speaking in general terms, scalability is the ability of a system to handle a growing amount of work by adding resources to it.

A software that was conceived with a scalable architecture in mind, is a system that will support higher workloads without any fundamental changes to it, but don’t be fooled, this isn’t magic. You’ll only get so far with smart thinking without adding more sources to it.

For a system to be scalable, there are certain things you must pay attention to, like:

  • Coupling
  • Observability
  • Evolvability
  • Infrastructure

When you think about the infrastructure of a scalable system, you have two main ways of building it: using on-premises resources or leveraging all the tools a cloud provider can give you.

The main difference between on-premises and cloud resources will be FLEXIBILITY, on cloud providers you don’t really need to plan ahead, you can upgrade your infrastructure with a couple of clicks, while with on-premises resources you will need a certain level of planning.

Visit the following resources to learn more:

Found any mistakes? Help us improve by updating the file here..

Community is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

RoadmapsBest PracticesGuidesVideosFAQsYouTube

roadmap.shbyKamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© ·Terms·Privacy·


The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.