AZ-305 Designing Microsoft Azure Infrastructure Solutions Exam
Venture into the world of Azure Infrastructure, where design meets functionality. Harness your skills and gain mastery over complex cloud structures to ace the AZ-305 Designing Microsoft Azure Infrastructure Solutions exam!
Practice Test
Expert
Practice Test
Expert
Design data storage solutions for relational data
Recommend a solution for storing relational data
Relational data is structured data that uses tables to store information in rows and columns. This type of data relies on ACID transactions to ensure accuracy, consistency, isolation, and durability. When designing a solution for relational data in Azure, it's important to choose a service that meets business requirements for performance and data integrity. The right service will also simplify management and maintenance. Understanding these basics helps guide the selection process.
Azure offers several managed and self-managed options for relational data storage. Common choices include:
- Azure SQL Database for a fully managed platform-as-a-service
- Azure SQL Managed Instance for near 100% compatibility with on-premises SQL Server
- SQL Server on Azure Virtual Machines for full control over the database environment
These options allow you to balance control, feature compatibility, and operational overhead.
Selecting between these services often depends on performance requirements and application compatibility. For a new cloud-native app, Azure SQL Database might be ideal, as it automatically handles patching, backups, and scaling. If you need specific SQL Server features like SQL Agent or cross-database queries, Managed Instance can be a better fit. For legacy workloads or custom configurations, running SQL Server on VMs gives the most flexibility. Cost considerations also play a major role in decision making.
Workload type is another key factor in choosing a relational data solution. Transactional systems with high write volumes may require higher compute and storage IOPS. Reporting or analytics workloads might benefit from read replicas to offload queries. By matching the service features to use case demands, you ensure optimal performance and cost efficiency. Testing with representative workloads helps confirm the chosen solution.
Recommend a database service tier and compute tier
Azure SQL Database uses different service tiers to let you choose the right balance of performance and cost. In the older DTU model, a Database Transaction Unit (DTU) bundles compute, memory, and I/O resources. The newer vCore-based model separates compute and storage so you can scale them independently. Understanding these models helps align your choice with workload needs. Each tier offers different features and service level agreements.
In the DTU model, you pick a tier such as Basic, Standard, or Premium. Each tier grants a fixed number of DTUs and storage limits. The vCore model lets you choose how many virtual cores, memory, and storage you need, similar to on-premises sizing. Tiers in the vCore model include General Purpose and Business Critical. Business Critical offers higher IOPS and built-in high availability, while General Purpose balances cost and performance.
When recommending a tier, consider:
- Transaction volume to determine the number of cores or DTUs
- Latency requirements to choose appropriate IOPS levels
- High availability needs for failover and SLA targets
- Budget constraints to balance monthly cost with performance
This approach ensures you select a tier that meets both technical and financial goals.
Azure allows you to scale up or scale down your service tier with minimal downtime. In the vCore model, you can also pause and resume compute for development or testing environments to reduce costs. Monitoring key metrics like CPU, memory, and I/O throughput helps you decide when to adjust the tier. Automated alerts can notify you when usage approaches thresholds. This flexibility ensures your database can adapt to changing demands.
Recommend a solution for database scalability
Scalability is the ability of a database to handle growing workloads by adding resources or distributing load. There are two main approaches: vertical scaling and horizontal scaling. Vertical scaling increases the power of a single instance, while horizontal scaling adds more instances to share the load. In Azure, both methods are supported across different services. Choosing the right strategy ensures consistent performance as usage grows.
Vertical scaling, or scale-up, means adding CPUs, memory, or faster storage to one server. This method is simple and works well for many transactional workloads. For example, you might move from 4 cores to 8 cores in the vCore model to boost performance. However, there is an upper limit to how large a single instance can become. Planning for future growth may require a shift to horizontal techniques if vertical scaling maxes out.
Horizontal scaling, or scale-out, involves distributing the database across multiple servers or nodes. Azure features like elastic pools allow several databases to share resources in a pool, adjusting capacity dynamically. You can also use active geo-replication to create readable secondary replicas for load balancing. Sharding partitions data across multiple database instances, giving near-linear scalability. These methods improve throughput and availability for large-scale applications.
To pick between vertical and horizontal scaling, analyze your workload. If you have unpredictable spikes or heavy read operations, read replicas with horizontal scaling might be best. For steady growth or write-heavy workloads, vertical scaling can simplify management. Sometimes combining both approaches offers the best results. Testing under real-world conditions helps validate your scaling plan.
Recommend a solution for data protection
Data protection ensures that your relational data remains safe, recoverable, and secure. This encompasses backups, encryption, and high availability features. In Azure, many protections are built in, but you must configure them to meet business requirements. A solid data protection plan helps you recover from failures, disasters, or security incidents. Regular testing of recovery processes is also crucial.
Azure SQL Database automatically takes full, differential, and transaction log backups on a set schedule. You can restore to any point within the retention period, which ranges from 7 days to 10 years with the Long-Term Retention feature. Configuring the right retention ensures compliance and data availability. You can also export BACPAC files to store logical backups outside the service.
For high availability, Azure offers zone-redundant deployments and auto-failover groups. Zone redundancy spreads replicas across availability zones to protect against datacenter failures. Auto-failover groups manage failover of multiple databases in one operation, ensuring minimal downtime. Active geo-replication adds readable secondary replicas in other regions for both disaster recovery and load balancing.
Protecting data at rest and in transit is also key. Azure uses Transparent Data Encryption (TDE) to encrypt data files on disk. Always Encrypted secures sensitive columns, ensuring the database engine never sees plaintext. Transport layer security (TLS) encrypts data over the network. Implementing role-based access control, firewall rules, and auditing further strengthens database security.
Conclusion
In this section, we explored how to design storage solutions for relational data in Azure by choosing the right service based on business requirements. We examined how to recommend appropriate service tiers and compute options to balance performance and cost. We then looked at strategies for scalability, including both vertical and horizontal scaling techniques. Finally, we covered data protection measures such as backups, high availability, and encryption to safeguard your data. By applying these guidelines, you can build robust, scalable, and secure relational database solutions on Azure.
Study Guides for Sub-Sections
Mapping your workload requirements to the correct service tier and compute configuration involves evaluating transaction volume, concurrency, and I/O...
Encryption is a critical tool for protecting data in the cloud, ensuring that sensitive information remains secure. In Azure, common encryption methods include Transparent Data...
Azure provides several relational database services tailored to different needs. These include Azure SQL Database, Azure SQL Managed Instance,
When planning for database scalability, it's crucial to understand and differentiate between vertical scaling and horizontal scaling techniques in Azure SQL Da...