Whenever we think about scaling our Applications, we basically think about building a software architecture that supports scaling and selecting a technology such as IaaS or PaaS Platforms to achieve that goal. But scaling is more compliated than it seems. It is not only a thing that needs to be achieved in technology or software architectures.
An important question is, what needs to be scaled in an enterprise. It is not only the software architecture but also other factors:
When talking about scaling organizations, some questions may arise:
- How easy is it to add a Person to a Company/Team or remove a Person?
- How can the work force be measured within the organisational structure?
- What effort has to be made if a new Person is added to a company?
- Does the company structure allows rapid organisational growth?
The Output of a team is not proportional to the number of people in a team. This is similar with Applications!
To achieve scalability, it is not only necessary to built an architecture that is made for scale but also to think about how to scale a team. Imagine you start with 5 employees and your start-up becomes super-famous. Your team might grow to 1,000 employees in some years. You need to think about how to solve this problem.
The following picture demonstrates how scaling problems might start in a company:
Picture Copyright by Moyan Brenn