Ölceklenebilirlik programlama dillerine has bir kavram değildir. Sistemdeki artan kullanıcı sayısıyla birlikte sistemin bu artışa nasıl bir tepki verdiği ile ilgilidir. Sistem alt yapısı hitap ettiği kullanıcı sayısına göre tasarlanması gereklidir. Örneğin androidde bir program yazdınız verilerinizi ise 100-200 kullanıcının yapacağı requestleri kaldırabilecek bir sistemde tutuyorsunuz, bu programı play store dan 10.000 kişi indirip kullanmaya başladığında sistem requestlere cevap veremez hale gelecektir. Bu sorunların önüne geçmek için ise günümüzde Amazon, Azure gibi Cloud servisleri vardır. Ne kadar kullanıcı bağlanır , ne kadar request yapılırsa request başına ödeme yapılmaktadır.
images
Dikey ölçeklenebilirlik varolan makinenizin CPU, RAM gibi özelliklerini artırarak daha güçlü hale getirilmesidir.
Yatay ölçeklenebilirlik ise varolan kaynak havuzunuza daha fazla makine eklenmesidir. Yatay ölçeklenebilirlikte load balancer kullanımıyla sistemin yükü tüm makinelere eşit şekilde dağıtılır.
load_balance

Cassandra , MongoDB yatay ölçeklenebilirliğe iyi birer örnektir. MySQL – Amazon RDS ise dikey ölçeklenebilirlike iyi birer örnektir.

Yatay ölçeklenebilirlikle dinamik olarak varolan kaynak havuzuna yeni makine eklemek daha az maliyetli, daha kolaydır ve istenildiği kadar ekleme yapılabilir. Dikey ölçeklenebilirlikte ise bir makineye ekleyebileceğiniz özellikler için üst sınır vardır. Yani tek makinenin artırılabileceği özelliklerini belirli bir noktaya kadar artırabilirsiniz.