designing scalable cloud systems: essential principles for engineers and developers | pilput