Skip to content
This repository was archived by the owner on Apr 7, 2025. It is now read-only.

Latest commit

 

History

History
232 lines (141 loc) · 16.3 KB

File metadata and controls

232 lines (141 loc) · 16.3 KB

FastTrack for Azure Architectural Discussion Framework - Database Solution

App & Data Migration

Distributed Architecture

High Availability and Business Continuity / Disaster Recovery

  • How much data can you afford to lose in your solution if you have to recover a database?

    Determine whether any loss of data is allowed. If this is not allowed, approaches to High Availability will need to be considered.

  • How much downtime can you afford to have?

    Determine the allowed recovery time and if backups are the approach

  • Are you running your SQL tier on Azure IaaS? What is your planned approach to High Availability or Disaster Recovery?

    Determine the High Availability vs Disaster Recovery strategy. Common options include

    • High Availability
      • Always on Availability Groups
      • Fail-Over Clustering
    • Disaster Recovery (Azure Only)
      • Availability Groups
      • Backup and Restore with Azure Blob
      • Transaction Log Shipping

    High availability and disaster recovery for SQL Server in Azure Virtual Machines

    If the considered option is to use Failover Clustering - Configure SQL Server Failover Cluster Instance on Azure Virtual Machines

    If the considered option is to use Availability Groups - Configure Always On Availability Group on Azure Virtual Machines

  • Are you aware of the built-in functionality of Azure SQL Database for Business Continuity and Disaster Recovery?

    Identify whether Infrastructure as a Service (IaaS) been chosen without considering all options. Could manageability of the database solution be improved, by using Azure SQL Database?

    Learn about automatic SQL Database backups

    Recover an Azure SQL database using automated database backups

  • Have you considered Automatic Fail-over Groups in Azure SQL Database for High Availability?

    Is High availability being assumed as a part of the solution because it is a Platform as a Service (PaaS) solution? Has there been any consideration to the steps needed to be taken during region failure or RPO?

    Failover groups and active geo-replication

  • How does the application behave if the database fails over to a secondary site?  

    Determine whether automatic failover groups, or Always on Availability Groups being used to handle the failover. If they are not, identify how this is being achieved. Additionally, determine how the application handles rollback or failed transactions.

    Compensating Transaction pattern

Monitoring & Management

  • How do you monitor your data layer?

    Determine whether there is any enterprise monitoring of the data layer. How is it determined that the solution is working appropriately? If this is not being used, consider the associated documentation.

    Monitoring database performance in Azure SQL Database Azure SQL DB with Log Analytics

  • How would you know if you had an outage or failure?

    Monitoring may be configured, but how much is it used? Determine if a live issue would first be reported by end-users, or whether monitoring systems would pick this up in advance. This also leads towards DevOps, and having a representative environment prior to production, which has representative tests in place.

  • What alerts have been set-up?

    Does the monitoring system require an individual to take the initiative and review the details, or will it send proactive notifications such as e-mails?

  • Do you track the performance of queries from the application through to the DB layer?

    Determine if proactive measures are being taken to manage database performance, and therefore proactive steps in managing the SLA and Performance of the application.

    Automatic tuning in Azure SQL Database

    Operating the Query Store in Azure SQL Database

  • What solutions do your DBAs use to manage the data estate?

    Determine whether an enterprise approach is being taken to managing the SQL estate, or whether each database is being maintained on a case-by-case basis. Identify whether there is an opportunity to manage the SQL estate as a fleet, rather than individual machines or databases.

  • How do you determine the current patch level across the estate?

    Determine whether there is any automation in place. Unpatched machines presents a risk in the environment, and this is undesirable, especially at the data layer which is generally core to an application.

    Automated Patching for SQL Server in Azure Virtual Machines

  • Do you use any IDS/IPS software for threat detection?

    Determine the proactive steps being taken in maintaining the security of the data estate.

    SQL Vulerability Assessment

Performance & Scalability

  • Is your database performance and usage predictable?

    Determine whether elastic pools or individual databases should be considered within the solution.

    Elastic pools help you manage and scale multiple Azure SQL databases

  • Are you using SQL Server on IaaS? Have you placed your virtual machines into an availability set?

    To provide redundancy to your application, it is recommended that you group two or more virtual machines of the same tier in an availability set. This configuration within a datacenter ensures that during either a planned or unplanned maintenance event, at least one virtual machine is available and meets the 99.95% Azure SLA.

    Manage the availability of Windows virtual machines in Azure

  • Are you using SQL Server on IaaS? Do you know about the difference between unmanaged and managed disks? Have you leveraged Azure Managed disks?

    Identify whether the throughput levels of your underlying disks and compute has been considered to safeguard the performance of your solution. Also be aware of managed disks, and the benefits that this could bring to the reliability of your solution.

    Performance best practices for SQL Server in Azure Virtual Machines

    Azure Managed Disks Overview

  • Are you using SQL Server on IaaS? Have you configured your implementation to the recommendations in the performance best practices documentation?

    The associate documentation provides recommended practices in configuring IaaS solutoions, and ensuring suitable performance.

    Performance best practices for SQL Server in Azure Virtual Machines

Security

  • Are you aware of the Azure SQL DB best practices? Have you implemented these in your solution?

    Security is a top concern when managing databases, and it has always been a priority for Azure SQL Database. Your databases can be tightly secured to help satisfy most regulatory or security requirements.

    Azure SQL Database security best practices

    Azure database security checklist

    Azure SQL Database Vulnrability Assessment

  • Is the data stored in your database sensitive? Do you require special data handling?

    Identify the encryption and protection requirements of the solution. Leverage the associated documentation in providing a solution to this problem.

    Azure SQL Database Discovery and Classification

    Always Encrypted (Database Engine)

    Transparent Data Encryption (TDE)

    SQL Server Encryption

  • Do you audit access to the servers and the DDL queries that are run?

    Determine whether there is an understanding into which users are performing which tasks / queries / functoins? Is this level of detail needed, perhaps for compliance or some form of internal business policy?

    Monitor your Azure SQL DAtabase auditing with Power BI

  • Who has admin access to the system?

    This builds upon the previous question. Limiting admin access is a recommended practice. Admins can bypass security measures and potentially see protected data.

  • Do you encrypt your backups?

    Protecting data at rest may be important. Is there a guarantee that backed-up data cannot be restored to another server that is not under your control?

  • Can you define the business impact for a data breach?

    Determine whether there is an understanding into the follow-on effects of a data breach. Has the wider business impact been considered, rather than just focusing on the technology challenge and impact?

Stories

Azure SQL Database customer implementation technical studies