AZ-900 [2] - Benefits of using Cloud Services

Benefits of Cloud Services
High Availability
Availability is also called uptime, the amount of time a computer is on. HA is the ability of the system to remain operational to the users during, planned or unplanned outages.
Planned Outages
An outage of a service that is planned by you or the company, can be planned or can be done in a maintenance window, where the majority of your users aren’t affected.
- OS Patches
- Application Updated
- Hardware Replacement
- Migration to a new Provider
Unplanned Outages
These are outages that can happen at any moment, they are out of the control of the provider and the client and are unpredictable.
- Hardware Failure
- Network Failure
- Power Outages
- Natural Disasters
- Cyber Attacks (DDOS, Ransomware)
- Software Bugs
- Poor System Design / Scaling
Methods to Mitigate Planned Outages
- Gradual Deployment Strategy
- 1-10-100 etc servers in a phased manner
- Testing and Monitoring of Deployment
- Easy Rollback Plan
- Small Deployments
- Frequent Deployments
- Automation
Methods to Mitigate Unplanned Outages
- Every single core component has redundancy
- Azure’s Offerings
- Availability Sets
- Availability Zones
- Cross-Region Load Balancing / Front Door
- Constant health monitoring/probes
- Automation
- Strong Security practices
- Be geographically distributed
- Have a disaster recovery plan
- Test the disaster recovery plan thoroughly
- Load Testing
High Availability, is a conscious effort to avoid obvious sources of downtime
High Scalability
The ability of a system to accommodate increasing demand by adding or removing resources as needed,
Why?
It allows a system to adapt to changing usage patterns and handle increased traffic without requiring changes to the application code or system design. Some businesses have traffic that fluctuates based on the time of day or day of the year
- E-Commerce websites have Black Friday.
- Schools are busy during admission time.
Vertical Scaling
- Also called “scaling up”_ or _“scaling down”
- Adding more resources to the same server
- Increase the amount of memory, the number of CPUs
- There is a limit to how much vertical scaling is possible, it varies by the cloud provider.
- Vertical Scaling doesn’t improve availability
Horizontal Scaling
- Also called “scaling out”_ or _“scaling in”_
- Adding more servers to a system
- No limits to scaling
- Additional complexities for load balancing
- Can improve availability
Impact on System Cost
- Adding or reducing resources affects the final price
- having a scalable system allows a system to be perfectly sized
- this optimizes the cost by reducing wasted computing resources
Elasticity
The ability of a system to quickly and easily scale up or down the number of resources used based on the changing demand.
- Involves automation
- Autoscaling - monitor the CPU/Memory to provision and de-provision extra resources.
- More efficient and cost-effective use of resources.
- Minimise computing “Waste” - resources paid for and not used.
- Self-hosted systems tend to have larger over-provision resources for anticipated growth.
High Reliability
The ability of the system to perform its intended function without interruption and with a high degree of accuracy
Why?
- We need to trust that the cloud provider to make sure that the platform is reliable
- This includes transparency during service downtimes
How to Achieve it?
- Auto scale
- Multi-region deployments
- Data backup and self-hosting
- App Health monitoring and self-healing
High Predictability
The ability to forecast and control the system’s performance and behavior
- The ability to predict and forecast operating costs
- Gives us confidence that the system will continue to perform at the expected level in the future
- To avoid a crazy bill unexpectedly
How to Achieve it?
- Auto scale
- Load Balancing
- Diff instance types, sizes, pricing tiers
- Cost management tools
- API
- Pricing Calculators
Security
- Cloud providers invest billions of dollars in security to avoid hackers and malicious attacks
- Cloud providers go through security audits and compliance regulations
- Cloud providers also enable their clients with the tools to monitor security with their applications and data
Why is it needed?
- Security is a fundamental challenge in IT
- Confidence that Cloud providers cannot be easily defeated by hackers and those with malicious intent
How is it achieved?
- Comply with international compliance certifications
- Microsoft Security Response Center (MSRC)
- Always-on DDoS (distributed denial-of-service)
- Azure Policy & Blueprint
- Role-based access control (RBAC)
- Azure Active Directory
- Always up-to-date platform services
- Update management (OS Updates)
- Encryption by default (Disk and Transit - HTTPS)
Governance
The process of defining, implementing, and monitoring a framework of policies that guides an organization’s cloud operations.
Why?
- To ensure that the client/org policies are followed in the cloud
- Includes basic auditing and reporting, as well as enforcement
- To comply with industry standards such as HIPPA, PCC or GDPR
How is it achieved?
- Azure Policy & Blueprint
- Management Groups
- Custom roles
- Soft delete
- Guides and best practices such as Cloud Adoption Framework
Manageability
Management of the cloud
- Templates (Creation of resources)
- Automation
- Scaling
- Monitoring and alerts
- Self Healing
Management in the cloud
- Web Portal
- Command Line Interface(CLI) and scripts
- API
- PowerShell
Why is it important?
It is important to make sure that the cloud provider makes it easy for us to work with our applications, security, and costs
How is it Achieved
- Azure Portal, CLI, PowerShell, CloudShell, REST API, and other programmatic methods
- Consolidated monitoring and alerting system
- Ability to use ARM templates, Bicep, Terraform, etc
- Autoscaling of most compute resources.