Scalarea sistemelor software poate fi realizata in mai multe moduri, precum scalarea orizontala sau verticala, replicarea sau partitionarea datelor. Scalarea orizontala presupune adaugarea de noduri noi in cluster, astfel incat sarcina sa fie distribuita intre ele, in timp ce scalarea verticala implica cresterea resurselor hardware ale unui singur nod, precum RAM sau CPU. Replicarea datelor se refera la copierea informatiilor de pe un nod pe altul, in timp ce partitionarea implica impartirea datelor intre mai multe noduri, in functie de chei sau alte criterii de selectie.