Scale up and scale out
De grote uitdaging in het opzetten van schaalbare omgevingen ligt in het uitbreiden van de beschikbare middelen (resources), hoewel ook het op een nette manier verminderen van het gebruik van beschikbare middelen (resources) is erg belangrijk.
Bij schaalbaarheid op computersystemen wordt nog altijd gedacht in 'boxes', ofwel 'dozen'. Hiermee worden de fysieke computers aangeduid waarop applicaties kunnen draaien. Wanneer je binnen zo'n box extra capaciteit beschikbaar maakt wordt dat opschalen genoemd (scale up). Wanneer je de applicatie gaat verdelen over meerdere boxes wordt dat uitschalen (scale out) genoemd.
Wanneer gebruik gemaakt wordt van virtualisatietechnieken gaat het concept van 'boxes' al snel niet meer op. De technieken om meerdere fysieke computers samen te voegen tot een gevirtualiseerde grotere computer, en daarmee de mogelijkheid tot scale up verder uit te breiden, stuiten vaak op praktische bezwaren.
De technieken om gebruik te maken van scale out zijn de laatste jaren steeds makkelijker beschikbaar geworden. Bovendien leent het http protocol zich (door haar stateless aard) bij uitstek om over meerdere systemen gespreid te worden.
Door gebruik te maken van een load-balancing server, die het web-verkeer over meerdere applicatieservers verspreid, kan eenvoudig (en zonder downtime) extra applicatieservers toegevoegd worden.
