Five pillars of Azure well architected framework
Last updated:
AZUREARCHITECTURE
Cost effectiveness
-
traditionally, costs associates were upfront, considered capex
-
moving to cloud, it is considered opex
-
so can be cost effective just showing this.
-
pay less for services
-
related to [[202404061425 Azure Cost Management|cost]]
how?
- plan and estimate: design and then use cost-estimation to figure out how much you will pay
- get discounts where possible by using reserved instances for example. also for licenses, etc.
- optimization: design with cost optimization at the center.
- PaaS is better than IaaS. choose service levels, etc based on usage requirements.
- optimize consumption based pricing: compare prices for dedicated vs consumption based pricing for apps.
- optimize HA: active-active or active only is better than active-passive
- clean unused apps/services
- monitoring: related to above. monitor and figure out. and then resize/optimize.
- efficiency: related to above. ensure everything is utilized effectively. reduce waste.
- examples: VM utilization (should not be free). storage utilization (data not required to be read often, not kept in archive) etc.
Operational excellence
- full visibility into how your applications is working
how?
- devops practices to ensure agility. ci/cd containers. or legacy. does not matter.
- effective monitoring - identify cost wastes and troubleshooting, etc.
- automation - reduce human errors. easier management.
- testing - reduce issues with releases.
Performance Efficiency
- matching available resources with the demands being put on the app
how?
- scaling up and out
- up/vertical - make something larger
- out/horizontal - add similar resources
- ideally, use autoscaling
- optimize network
- add message layer, so that requests keep flowing
- optimize storage
- partitioning to access/manage data differently
- caching
- placing static content closer to users, i.e. CDNs
- identify poorly performing code or bottlenecks
- performance monitoring
Reliability
- how to handle failures
- hardware failures
- data loss
- including ha in our design
how?
- build ha systems dependent of the sla we are committing
- recoverability/ once the below are defined, we can design accordingly
- related to [[202404071556 Disaster Recovery|Disaster Recovery]]
- [[202404081931 Recovery Point Objective|RPO]]
- [[202404081933 Recovery Time Objective|RTO]]
Security
- protecting data
- [[202404051739 Governance Overview|azure governance]] i.e. shared responsibility model depending on what you’re using
how?
- increase security in layers/ so that attacker has to do more work
- data - exposing encryption key or using weak encryption can cause issues
- apps - code injection and execution - eg sql injection and cross site scripting
- vm/compute - malwares
- networking - unnecessarily open ports are a problem
- perimeter - ddos attacks
- policies and access - exposure of creds. limit access. monitoring to see where logins are coming from.
- physical - security badge stealing. door drafting, etc.