In the first half of this year I’ve been busy producing a new course for Pluralsight, called “Building Highly Scalable Web Applications in Azure”. It is a course about making a normal web applications scalable to thousands and millions of users.
In my opinion, the majority of the development tutorials that show you how to make a web application do just that: they show you how to make a demo application. This demo application isn’t supposed to be production-ready nor should support high user loads. But, what happens when you need a scalable application? This is the missing piece I thought I could provide with my course.
The course takes a simple web application named Ticketer, a simple-but-complete event and ticketing MVC 5 application, and refactors it into a scalable, redundant version of itself using a variety of techniques such as storage locking removal, caching, asynchronous calls or non-relational data storage.
In the following clip you can see the load test of the application before and after the scalability improvements.
Questions? Leave a comment and I’ll do my best to answer it.
Hi Edin, I’ve watched your course at pluralsight yesterday and there is just one word … amazing work!!
You made me wandering why all of the tutorials ,even on the asp.net website, cover only the basic scenarios, which as you said are not capable of handling many simultaneous requests? The result is that people say asp.net is slow, not enterprise ready etc…while most of the examples do follow the non-scalable patterns!
I’d like to start a new web-app project and I was wondering if you have any starter project that you could share? I just want to follow all your suggestions and having such a starter project would make everything easier.
I’m going to watch your course again today!
Best Regards
Thanks for the feedback, Kamil! The truth is that many tutorials are meant for the beginners, where scalability isn’t yet an issue. However, when your application gets bigger it should be refactored for scale.
I don’t have a starter kit, sorry. I don’t think that you need one, though 🙂 Just keep the scalability in mind and begin with a clear idea about how the data is going to be organized, read and written. I’m sure you will get a great scalable architecture!