Azure Architecture Design& Principles
Azure Architecture Style
The most common or traditional architecture style is called multitiered (aka n-tier), which is discussed in below figure :
In this design, you will see the existence of a client that connects to a web server, which is one of the tiers. The web server then can make connections to an application server and/or a database server.
Below are the list of common Azure Architecture Styles and its related products.
Azure Design Principles:
When designing your solution on the Azure platform or in any data center, there are some guiding principles to align with during this design phase.
- Redundancy, resiliency, and reliance
- Self and automatic healing
- Scaling and decoupling
- Use SaaS, PaaS, and IaaS, in that order
- Design for change
Redundancy, Resiliency, and Reliance
Redundancy: Redundancy has to do with having multiple copies of your system configurations, source code, and data in many places.
To implement redundancies in Azure, concepts such as Availability Zones, fault and update domains, failover database instances and ZRS and GRS storage options should all be considered.
Resiliency: Resiliency has to do with the next section that discusses recovering from transient issues automatically. How well does your application respond and recover from failures?
Reliance: The experiences users, customers, employees, or clients have with the application determine how much they can rely on the system. Reliance is the outcome of a system that is resilient and redundant.
Self & Automatic Healing:
When there is a failure of a hardware component, there will be a disruption. How large of a disruption is dependent on how heavily your application depends on the component that failed. Regardless, you need to place code into your applications to manage these kinds of short disruptions. Making sure that your transactions are ACID compliant (atomic, consistent, isolated, and durable) will help your application respond better in these situations.