In cloud computing, scaling up/down, also called scaling application vertically, means providing your application with new servers that have more powerful resources, such as more powerful processors with more memory to handle more traffic. When traffic is low, we have to remove additional resources to reduce the cost. But scaling up/down (scaling vertically) results in some downtime during the upgrade/downgrade.
Scaling out/in, also called horizontal scaling, means automatically creating more instances of your application when traffic increases. Once traffic reduces, the number of instances will automatically be removed down. By using scaling out/in, we can prevent any downtime during the upgrade/downgrade, and it is also very cost-effective.