Designing for scale and resilience in the cloud 101

Submitted by Frans Lytzen

Talk Abstract:

When thinking about developing an application for deployment in the cloud, be it Azure, AWS or Google, most newcomers fall into one of two camps;

  • Just do what you normally do because the cloud will handle all scaling concerns.
  • Re-think everything and learn all the latest buzz so your site can scale to a quintillion users.

For most people, most of the time, both of these statements are untrue. 99% of sites and web apps do not need to scale to thousands of concurrent users and rarely need the more complicated aspects of designing for large scale. At the same time, the cloud really won’t just magically scale up in response to demand.

In this talk I give an overview of a couple of different design principles you should adopt when you develop anything for the cloud. They are easy to incorporate into your development (they will actually make your code easier to deal with) by leveraging a few of the core infrastructure components provided by most cloud providers. I also give an overview of a number of real-world software projects where I have used these principles to great effect.

The talk is language agnostic. I do use Azure for examples, but the principles apply equally to all the cloud providers.

About Frans Lytzen

Moving software to the cloud since 2006.

CTO and CISO at NewOrbit; architecting and implementing large and small-scale software for our customers, all running on Microsoft Azure.

Helping other companies move to Azure as part of our Gold Cloud Partnership with Microsoft. Obsessed with security and performance.