Benefits of Cloud Computing Flashcards
Describe the benefit of high availability in the cloud
- availability = uptime
- ## ability of a system to temain operational to users during planned or unplanned outages
What are the benefits of working with the cloud? (7)
- high availability
- high scalability
- reliability
- predictability
- security
- governane
- managebility
What are planned or unplanned outtages?
Planned:
- operating system security patches
- application updates
- hardware replacement
- migrating to a new hosting provider
Unplanned:
- Hardware failure
- Network disruptions
- power outages
- Natural disasters
- Cyber attacks
- Software bugs
- Poor scaling / architecture design
How can you mitigate planned Outtages?
- gradual deployment strategy
- testing and monitoring deployment
- easy rollback plan
- small deployment
- frequent deployments
- automation
How can you mitigate unplanned outages?
- every single core component has redundancy
- use Azures build-in feature for availability (Availability Sets, Availability Zones, Cross-Region Loadbalancing / Front Door)
- Constant health monitoring / probes
- automation
- strong security practices
- be geographically distributed
- have a disaster recovery plan
- test the disaster recovery plan / fire drills
- Load Testing
Abstractly speaking what is High Availability
- conscious effort to avoid obvious sources of downtime
What is scalability?
- ability of a system to accomodate increasing demand by adding or removing resources as needed
Why is scalability needed?
- allows a system to adapt to changing usage patterns and handle increased traffic without requiring changes to the application code or system design
What is vertical scaling?
- also called “scaling up/down”
- adding more resources to a single service
- increase amount of memory, number of cpus
- there is an upper limit to this (96 vCPUs, 384 GB memory)
- does not improve availability
What is horizontal scaling?
- also “scaling in/out”
- adding more servers to a system
- no limits to scaling
- additional complexities for load balancing
Impact of Scaling on System Cost
- adding more resources to a system adds to cost
- reducing resources can reduce cost
- having scalable system allows for a system to be perfectly sized
- optimizes the cost by reducing wasted computing resources
What is Elasticity?
- ability of a system to quickly and easily scale up or down the amount of resources that a system uses in response to changing demand
What is important about easy and quick elasticity?
- has to involve some kind of automation
- often called “autoscaling” in cloud computing
- system monitors some metric (such as CPU utilization) to determine how busy a system is
- adds resources when it exceeds a limit for being busy
- remove resources when it falls below a limit for not being busy
Why is elasiticity needed?
- more efficient and cost-effective use of resources
- minimizes computing “waste” - resources paid for and not used
- self-hostes systems tend to have a large percentage of “over-provisioned” resources for anticipated future growth
- have the potential to have a maximum capacity higher than you could afford if you had a static provisioning of resources
What is connected to delivery high quality services to your customer?
Several, interacting concepts:
- reliability
- predictability
- availability
What is reliability?
- ability of a system to recover from failures
- azure has several built-in features that can be used to keep services running after a failure
Why is reliability needed?
- cloud provider is doing everything it can to make its platform reliable
How is reliability achieved?
- Auto-Scaling
- avoid single points of failure
- Multi-region deployments
- Data backup and replication
- health probes and self-healing
What is predictability?
- column of high quality service
- ability to forecast and control the performance and behavior of a system
Why is predictability needed?
- gives you the confidence that the system will continue to perform at the expected level in the future
- to make sure that you don’t get a crazy bill unexpectedly
How is predictability achieved?
- Auto-scaling
- Load Balancing
- Different instance types, sizes, pricing tiers
- cost management tools
- API for budgeting
- pricing calculators
What is security?
- Cloud providers are massive targets for hackers and spent a high amount of money and effort on platform security
- cloud providers go through security audits and compliance certifications
- provide the customer to enable and monitor security with their own applications/data
How do Cloud providers achieve high security?
- industry standard compliance certifications
- Microsoft Security Response Center (MSRC)
- Always-on DDoS
- Azure Policy & Blueprint
- Role-based access control
- Azure Active Directory
- Always up-to-date platform services
- Update Management
What is governance?
- how your organization chooses to do business
- process of defining, implementing and monitoring a framework of policies that guides an organizations cloud operations
Why is compliance needed?
- companies policies need to be followed in the cloud
- includes basic auditing and reporting, as well as enforcement
- want to be cpliant with industry standards such as HIPAA or PCC or GDPR
How is governance achieved?
- Azure Policy & Blueprint
- Management groups
- Custom roles
- Soft delete
- Guides and best practices such as Cloud Adoption Framework
What is manageability
- Management of the cloud
- Management in the cloud
What is included in Management of the Cloud?
- Templates
- Automation
- Scaling
- Monitoring and alerts
- Self-healing
What is included in Management in the Cloud?
- Web-Portal
- CLI and scripts
- APIs
- PowerShell
Why is manageability important?
- easiness to work with you applications in the cloud impacts cost, performance, security and other priorities
- different cloud vendors are going to be easier or harder to work with/on
How is manageability achieved in Azure?
- Azure Portal, CLI, PowerShell, Cloud Shell, REST APIs, other programmatic methods
- Consolidated monitoring and alerting system
- ability to use ARM templates, Bicep, Terraform, etc
- Autoscaling of most types of compute resouces