I am looking at deploying a .NET application to Windows Azure however am unsure what I need to optimize to reduce cost and improve performance. The site has been developed using MVC 4, heavily utilizes javascript frameworks for AJAX queries and data is held in SQL. There doesn't appear to be a detailed guide on things I should be looking at or considering e.g. viewstate versus server side storage e.g. SQL, table storage, etc. The type of storage includes strings e.g. names, dates, etc, binary e.g. jpeg, jpg, etc
Every app is different, so the best thing you can do is try to estimate your own usage and then spend some quality time with the Azure cost calculator. Once you've deployed the app be sure to look at your monthly invoices. Microsoft will happily tell you what they're charging you for, and then you'll have hard data to work from.
That said, in my experience running a "typical" web application the only costs that really matter are compute instances (web/worker roles). Running a single small compute instance for a month is equal to storing 15GB in SQL Server, 425 GB in Azure Storage, or using 470 GB of bandwidth. That one little CPU is pretty expensive compared to the other Azure offerings, so try hard to use the least number of compute instances you can and make the most of the ones you do use.
There are a few other easy things you can do to save a money, but keep in mind that cutting a compute instance or two will probably matter more than all of these.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With