Performance and Scalability Techniques for improving performance and scalability in software systems. Learning Materials