SQL Migrations to Azure, Where Do I Start? Part 1

I’ve blogged already on what SQL PaaS services are available on Azure.  Microsoft are investing heavily in this area with both new SQL PaaS services, and migration options.

Why?  A couple of reasons.  First, there are many businesses and civil services out there with multiple SQL servers or clusters that have grown over the past decade.  Hyper-Visor virtualisation has given rise to large on-premisis VMs which significantly cut the cost of deploying SQL, which left only the licensing cost.  When you evaluate the cost of a traditional lift and shift to Azure IaaS, the results can be eye watering, and financially prohibitive to firms with smaller budgets.  Second, IaaS is an aging tech that is arguably not as flexible as PaaS or SaaS options on a long term basis (see the blog mentioned previously).

I’m Committed to Microsoft Azure, Where Do I Start?

So you or your CIO/CTO has committed to Microsoft Azure public cloud.  Lets face it, there is plenty of info from Gartner on the agility and profitability of businesses that adopt public cloud faster than those who don’t!

Start with a plan.  I suspect you or your manager is going to want a business plan to either unlock available cash, or project the expense of moving to public cloud services.  The IT department can help here by assessing the existing estate – yes this post is focussed on SQL but when was the last time you heard of a production application running on the SQL servers that host their databases?

You can do this in a few different ways.  Here are the top four:

  • Do this manually with a team of people – this is the way many companies go – it’s slow and prone to human error.
  • Employ tooling – there are a number of software options out there now for assessing lift n’ shift to IaaS; Microsoft Azure Migrate, Cloudamize and Movere to name a few.
  • Employ tooling and manual effort – yes that’s right, there aren’t as many tooling options out there for assessing a move to PaaS services so a certain amount of manual effort is required
  • Pay a company to perform the assessment for you – in my opinion the best option as these guys are the experts with a staff of highly skilled, trained and experienced consultants/analysts

Items you should include in your assessment report:

  • Application mapping – how many servers or services is an application consuming
  • Criticality – Is this a production app, is it business critical, what’s the RPO and RTO
  • IaaS right sizing – allow tooling to analyse performance to identify the right VM size
  • IaaS compatibility – are your apps running architecture that is supported in public cloud
  • IaaS compatibility – do your vendors support their apps in the public cloud
  • Transformation candidates- which applications are suitable candidates for transformation into PaaS or SaaS services
  • Transformation compatibility/remediation – of the likely candidates what is the compatibility level with the PaaS/SaaS services, and what needs to be done to make them compatible
  • Is the company cloud ready – do your staff understand cloud, what the benefits are, what can be used, and what can’t, are operations ready to handle cloud, does your financial/billing model need to change
  • How many IT services need to change – backup, monitoring, and security all have different considerations and work differently in public cloud

I’ve Identified my SQL Transformation Candidates

Believe it or not another plan is needed.  This time a detailed transformation and migration plan.  Now we’re getting to the interesting bit, SQL investigation.  This starts with a detailed assessment of your SQL servers and tertiary services/dependants.  For the benefit of this post lets assume that the other tiers of the application are being lifted and shifted to IaaS.

PaaS Assessment

You’re going to need to assess which SQL PaaS services are suitable for your app.  As of today there isn’t a one-stop-shop tool for assessing your database against all Azure (or AWS for that matter) SQL PaaS services.  You’re going to need some tooling, an infra techy, an SQL DBA, and your app owner, or a company that specialises in this area plus your app owner.

Tooling

Microsoft have two tools right now for assessing SQL migrations to Azure

  • Data Migration Assistant – this is a stand-alone tool you download and run locally. It can both assess and migrate databases.  It will assess your chosen SQL Server and database(s) against one of three scenarios:
    • Azure SQL Database
    • Azure SQL Managed Instance
    • A specific version of SQL server (upgrade scenarios) for on-prem
  • Azure Database Migration Service – this is an Azure service setup and configured via an ARM template or in the portal
    • Azure SQL Database
    • Azure SQL Database Managed Instance

Utilising one or a combination of these tools will be the basis for starting a suitability assessment. Part 2 of this blog post will discuss the assessment data and next steps. Stay tuned!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.