part 1 Flashcards
cloud computing
using a network of remote servers hosted on the Internet to store, manage and process data rather than local server or personal computer
dedicated server
one physical machine dedicated to a single business - very expensive, high maintenance but high security
virtual private server
one physical machine dedicated to a single business. But physical machine is virtualised into sub-machines to run multiple web-apps/sites
shared hosting
one physical machine, shared by hundreds of businesses. relies on most tenants under-utilising their resources. cheap and many limitations
cloud hosting
multiple physical machines acting as one system. abstracted into multiple cloud services: flexible, scalable, secure, cost effective and highly configurable
most common cloud services for IaaS
Compute, storage, networking, databases
benefits of cloud computing
cost effective: pay for what you consume, no up front cost.
global: launch workloads anywhere in the world, just choose a region
secure: cloud provider takes care of physical security. Can be secure by default or can configure access down to granular level
reliable: data backup, disaster recovery, data replication and fault tolerance
scalable: increase/decrease resources and services based on demand
elastic: automatic scaling during spikes and drop in demand
current: underlying hardware + software is patched, upgraded and replaced by cloud provider without interruption
types of cloud computing
SaaS, PaaS, IaaS
SaaS
Product run and managed by the service provider - don’t worry about how service is maintained - it just works and remains available (for customers)
PaaS
Focus on deployment and management of apps - not provisioning, configuring or understanding hardware or OS (for developers)
IaaS
Provides access to networking features, computers and data storage space (don’t worry about IT staff, data centres etc) for administrators
Cloud computing responsibilities
SaaS - CSP responsible for all
PaaS - CSP responsible for all except data and applications
IaaS - CSP responsible for Virtualisation, servers, storage and networking. Customer responsible for Applications -> OS
On Premise - Customer responsible for all
Azure’s deployment models
Public cloud, private cloud, hybrid
Public cloud + adv and disadv
aka cloud native - everything built on cloud provider. Have a network in azure, have a VM and a database running within this
adv - cost effective, security controls by default, no need for in depth knowledge of infrastructure
disadv - might not meet security requirements, limited configuration based on what CSP exposes you to
Private cloud + adv + disadv
aka On Premise. Everything built on company’s datacentres. Could use an open source cloud software mimicking what Azure would do. e.g. OpenStack. Openstack can run VM/server and database
adv - can configure infrastructure how you like, can meet any security compliance if putting in work.
disadv - most expensive, no guarantee its secure, need to know in depth how to configure all levels of infrastructure
Hybrid
Use both on-premise and a cloud service provider. Can use a network service to facilitate connection between the two e.g. Express Route (dedicated connection)
- could be more cost effective based on what you off load to cloud
adv - best of both worlds. can meet all security requirements
disadv - need to know in depth how to configure infrastructure and know CSP services. Have to secure the connection to the cloud
Savings from On Prem to Azure cloud
75% - no longer have physical security, hardware, IT Personnel, maintenance as costs - just implementation, configuration and training.
CAPEX cs OPEX
CAPEX: spending money upfront on physical infrastructure - deducting from tax bill over time e.g. server/storage/network/data centre costs/ technical personnel - have to guess upfront what you plan to spend
OPEX: non physical costs - leasing software, paying for cloud support, training employees, compute and storage usage. Can try product without investing in equipment.
Availability
Ability to ensure a service remains available (HA - highly available)
High availability - ensure service remains available by ensuring there is no single point of failure and/or ensure a certain level of performance e.g. multiple data centres in multiple regions
Azure load balancer - allows evenly distribute traffic to multiple servers. If datacenter/server is unavailable, will route traffic to only available datacentres with servers
Scalability
Your ability to grow rapidly or unimpeded
High scalability: increase capacity based on increasing demand of traffic, memory and computing power.
Vertical - upgrade to a bigger server
Horizontal - adding additional servers of the same size
Elasticity
Your ability to shrink + grow to meet demand
High elasticity: ability to automatically increase or decrease capacity based on current demand/traffic/memory/computing power
(difference from scalability = automatic and can decrease size)
Done using horizontal scaling: scaling out vs in - add more servers vs remove of same size
Azure VM Scale Sets - auto inc/dec in response to demand or schedule
Fault Tolerance
Your ability to continue operation when theres 1+ faults
Disaster recovery
Your ability to recover from a failure (HD - high durability)
High durability - ability to recover from failure + prevent loss of data. Backup? Time to restore backup? How to ensure live data isn’t corrupt? Backup still work?
Virtual Machines
Running a machine within a machine so can run multiple apps within a machine. Hypervisor = software layer that lets you use VMs
Physical server shared by multiple customers so pay fraction of cost. Still overpay for underutilised VM because choosing size of VM in advance.
Limited by guest OS.
Multiple apps on single VM can lead to conflict in resource sharing.
Containers
VM can run multiple containers.
Docker deamon is the software layer that lets you run multiple containers.
Maximise utility of available capacity = more cost effective
Contaners share same OS so containers more efficient than multiple VMs. More apps can run side by side without being limited to same OS requirements so not cause conflicts during resource sharing.
Functions
aka Serverless compute.
A managed VM running managed containers.
Upload a piece of code choose memory and duration.
Only responsible for code and data nothing else
Only pay for time code is running, VMs only run when code to be executed.
Cold Starts is a side effect - have to wait for a server to start before code executes.
Region + geography
Grouping of multiple datacentres/availability zones
58 regions across 140 countries
Geography - discreet market of 2+ regions that preserves data residency and compliance boundaries e.g. US, Canada, Brazil
Paired regions
Each region paired with one 300 miles away - only one region updated at a time to ensure no outages.
Some services rely on paired regions for disaster recovery e.g. azure geo-redundant storage (GRS) replicates data to a secondary region automatically
recommended region vs alternate regions
not all cloud services are available in every region.
recommended region: region providing the broadest range of service capabilities and designed to support availability zones now or in the future
alternate regions: extends Azure’s footprint within a data residency boundary where recommended region also exists. Not designed to support AZs. labelled as other in Azure Portal
General Availability
Service is considered ready to be used publicly by everyone
Azure Cloud Services grouped into 3 categories, determining when they become available
Foundational: when its generally available (GA) - its immediately (or within 12 mo) available in recommended and alternate regions
Mainstream: when its generally available (GA) - its immediately (or within 23 mo) available in alternate regions based on customer demand
Specialised: available in recommended + alternate regions based on customer demand
Special regions
Azure has specialised regions to meet compliance or legal regions e.g. AZ DoD Central, US Gov Virginia, US Gov Iowa, China East, China North
Availability zones (AZ)
Physical location made up of 1+ datacenters
Region will generally contain 3 availability zones. Will be isolate (in diff buildings) from each other, but close enough for low- latency.
Common practise to run workloads in at least 3 AZs for high availability.
AZ Supported regions
Alternate/Other regions don’t have AZs (recommended supposed to have at least 3)
Fault and update domain
AZ in a region is a combination of a fault and update domain.
Fault - logical grouping of hardware to avoid single point of failure within AZ. Group of VMs that share a common power source + network switch
Update - Ensure resources don’t go offline. Azure may need to apply updates to underlying hardware and software.
Availability Sets - logical grouping ensuring VMs in it are different fault/update domains to avoid downtime