Azure Architecture Scaling Approach

142 views Asked by At

We have several apps hosted on Azure. We've begun to see increased demand and want to have some strategies for architecting/re-architeching our apps to respond to demand on Azure.

Folks that have designed for scale and successfully are scaling on the order of hundreds to thousands of simultaneous users: can you provide advice on how to approach these problems. And how did you develop this expertise? Hiring trainers? In-house development of expertise?

2

There are 2 answers

0
DanielG On

David is right; there is no single answer to your question. Since you reference Azure specifically, I would recommend two things to consider.

As Adrian points out, there are knobs and switches within Azure that throw more machinery at scale problems, and these can work short term. Ultimately, poor app design will always be a bottle neck. For that, I would study the Cloud Design Patterns (https://msdn.microsoft.com/en-us/library/dn568099.aspx) that are generic concepts, but the examples are Azure specific. Together, these 2 things are what you need to know.

1
theadriangreen On

Practically speaking you can scale your web app by increasing the instances in your app service plan, and increasing the pricing tier. You also configure autoscale so that the number of instances running your web app is automatically increased with load. You would also want to scale up your database by moving to another service tier, and possibly adding geo-replication. For a good overview of how to use these techniques, and some other resources see: https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/

Scaling in a more general architectural sense is outside the scope of an answer, since as David mentioned, there is a wide variety of valid approaches (i.e. separating app functionality into microservices, adding caching, using a CDN, etc.).