Turbocharge your production web services! Are your web services suffering from performance issues? Every web programmer has experienced cases where web services or applications that ran perfectly in test and QA under light load failed (often spectacularly) when put under the load of a production deployment. Performance has a strong relationship with cost. If you could either run double the load on the same hardware, or run the same load on half the amount of hardware, the cost impact can be tremendous for your project. Wouldnt it be nice if you had a bag of tricks that you could use to perfect your web service performance characteristics under load before you deployed to production, way back in the design and development phases where the cost was lowest? Maybe you inherited a legacy system thats suffering from performance problems. But where do you start? Wouldnt you like to be able to identify the problem areas quickly and be ready with some time-tested approaches to fix them? Thats what this course is about: Practical, real world techniques that are easy to understand and use, that let you get maximum performance from your web services. You’ll discover new ways of thinking about performance that you will use on every project, saving you time and money. The Golden Rules of PerformanceIn this course you will learn my mental framework for creating solutions to performance-robbing problems that you can use in the design, development and production support phases of your services. The framework is built on a foundation that I call my Golden Rules of Performance, an easy to remember and easy to apply approach that will help you find and fix trouble areas in your code and architecture. The course also includes a Golden Rules Cheat Sheet for you to use after the course giving you questions to ask, typical problem areas, and techniques to apply for a variety of scenarios. In one example you’ll see how something as simple as logging can be dramatically improved by applying the Golden Rules. You’ll gain a clear understanding of how techniques like caching, queues and messaging, horizontal scaling, and other performance-boosting mechanisms work together to create systems that can dramatically increase your web services’ capabilities. The ExperienceThe course is divided into two parts. The first half is the “abstract” portion, consisting of spoken lectures that lay out the Golden Rules of Performance and regular “Reality Bites” segments that draw from my own personal experiences as a developer to show the rules in action in actual real world scenarios. There’s no code involved in this part, just me talking with some occasional diagrams where it helps. The second half is the “concrete” portion, where we start with a small web service and progressively apply the rules in various ways to improve the performance of it by 2.5 times with simple program changes so that you can see the Golden Rules in action. You’ll see an example of logging performance increased by more than 100 times! This is not a course where you will write code! This course is for thinking about system architecture and program design, not about using a particular language or framework. The assignments are intended to be more of an open discussion than “right or wrong” code submissions; to get the most benefit, consider making your submissions public so everyone can participate in the discussion.I’ve tried to speak somewhat slowly to make the videos easier to follow if English is not your primary language, and there are captions in all videos to help as well. If your primary language is English, you may want to use the video controls to quicken the playback speed to something more comfortable. The Tech StackThis course is not about any specific tech stack! You can use these techniques with any language or framework you are using to create modern web services or applications. For the examples, I will be using the C# language, Web API for .NET Framework for the web service framework, some Microsoft Azure features, and Microsoft SQL Server database- but you don’t need to know anything about C#, Web API framework, Azure or SQL Server to be able to follow what is happening in the examples since the discussion will be at a higher level. Remember, this course is for thinking about architecture and design, not writing or reviewing code. Real World FocusMy “Real World” courses specifically target working developers solving actual problems in typical business programming scenarios. They are uniquely designed to cover areas you don’t find in other courses on similar topics, from the specific viewpoint of developers who need to translate theory into practical application to solve the kinds of problems the “overview” courses don’t help with. I assume you already know how to program and have built working commercial systems- you won’t find any “Hello, world” here!