Checklist: Discussing an Azure Migration

I've been consulting with various customers of late to help them understand how they can prepare for "the cloud" (specifically Windows Azure), and what elements of their system might need work in order to work well there. This blog post is so that I have a handy checklist to hand to help drive these discussions whenever I need it in the future J

It is by no means guaranteed complete, won't be explained here, and is likely to be superseded by other good work that's going on (just read Eugenio's blog if you want to see what I mean)... but still I hope it serves to prompt you if you are having a discussion about Azure.

The Checklist

So here it is – I hope you find it useful!

· Additional load or scale

· Application Lifecycle Management (including system & performance testing)

· Archiving

· Authentication and authorisation (between tiers as well as of users)

· Backup and restore

· Caching

· CDNs

· Charging model

· Configuration

· Data Access Layer

· Data encryption

· Data partitioning

· Data storage and transactions

· Dependencies and 3rd party components

· Deployment, continuous integration & automation

· Diagnostics, logging & instrumentation

· Elasticity (dynamic, scheduled, or manual)

· Geographical co-location

· Idempotency

· Import/export routines

· Load balancer affinity

· Message security

· Message size

· Multi-tenancy

· Network latency

· Page weight

· Reporting

· Session state

· SLAs (availability, performance, etc)

· SQL features

· Windows Services & batch jobs

I'm sure I've missed some things, in which case shout up and I'll add them – and if I remember or think of other things as time progresses I'll likely add them here too.