Cloud Computing
Basics
Service delivery model over the internet (cloud). This includes but is not limited to
- compute power meaning servers such as Windows, Linux, hosting environments, etc.
- storage like files and/or databases
- networking in azure but also outside when connecting to your company network
- analytics services for visualization and telemetry data
Key concepts
- scalability is the ability to scale, so allocate and de-allocate resources at any time
- elasticity is the ability to scale dynamically
- agility is the ability to react fast (scale quickly)
- fault tolerance is the ability to maintain system up-time while physical and service component failures happen
- disaster recovery is the process and design principle which allows a system to recovers from natural or human-induced disasters
- high availability is the agreed level of operational up-time for the system. It is a simple calculation of system up-time versus the whole lifetime of the system.
- availability = up-time/(up-time + downtime)
Economies of Scale
The principle of economies of scale states that as the companies grow they become more effective at managing shared operations. Be that HR and hiring, taxes, accounting, internal operations, marketing, big purchases via contracts meaning better discounts, etc., etc.
Because of those, companies can save/earn more which in return allows for a reduction in the cost of their services to their customers. This is the so-called ‘price per unit.
It’s not possible to go to 0 because, in the end, some underlying infrastructure needs to run to provide the services. But the larger the scale the more benefits can be passed to customers.
In fact, at the current scale, Microsoft can already offer multiple services for free due to how small a fraction of the cost it is for them.
Consumption-based model
The consumption-based model is a pricing model used in the cloud so that customers are only charged based on their resource usage.
This model is characterized by
- No associated upfront cost
- No wasted resources as such no charges are incurred for unused resources. Unused in this case is different per service. For instance, blob storage that stores any data is considered to be used, as it consumes the storage space. Virtual Machines that are running consume CPU, memory, and other resources even if there isn’t any traffic. Hence they are considered to be used and will incur charges.
- Pay for what you need
- Stop paying when you don’t
Consumption is the virtual metric used to calculate how much each resource (service) in Azure was used. Each service has many smaller metrics that track its consumption to offer the best possible pricing model. Those metrics are tracked on a very granular level.
CapEx vs OpEx
Differences between Capital Expenditure and Operational Expenditure
Capital Expenditure | Operational Expenditure | |
---|---|---|
Up front cost | Significant | None |
Ongoing cost | Low | Based on usage |
Tax Deduction | Over time | Same year |
Early Termination | No | Anytime |
Maintenance | Significant | Low |
Value over time | Lowers | No change |
Service Models responsibilities
As a service means which party will manage the particular layer and all the layers below.
- The Software layer consists of the application (application code and set) & the application data
- Platform layer means all the supporting software and the operating system required to host the application
- The Infrastructure layer consists of hardware the infrastructure and virtualization required to host the platform
Layer | Layer |
---|---|
Application | Software |
Data | Software |
Runtime | Platform |
Middleware | Platform |
Operating System | Platform |
Virtualization | Infrastructure |
Servers | Infrastructure |
Networking | Infrastructure |
Storage | Infrastructure |
Responsibility Matrix
As such following table represents the responsibilities
Layer | On-Premises | IaaS | PaaS | SaaS |
---|---|---|---|---|
Application | You | You | You | Cloud provider |
Data | You | You | You | Cloud provider |
Runtime | You | You | Cloud provider | Cloud provider |
Middleware | You | You | Cloud provider | Cloud provider |
Operating System | You | You | Cloud provider | Cloud provider |
Virtualization | You | Cloud provider | Cloud provider | Cloud provider |
Servers | You | Cloud provider | Cloud provider | Cloud provider |
Networking | You | Cloud provider | Cloud provider | Cloud provider |
Storage | You | Cloud provider | Cloud provider | Cloud provider |
Cloud Deployment Model
Cloud Deployment Model is simple a separation that describes where are the company resources deployed. Whenever this is in a public cloud provider environment or private data center.
The below table presents high-level deployment model separation
Layer | Cloud Provider | Own Datacenter |
---|---|---|
Public | ✅ | ✖ |
Hybrid | ✅ | ✅ |
Private | ✖ | ✅ |
Public Cloud
Key Characteristics
- Everything runs on cloud provider hardware
- No local hardware
- Some services share hardware with other customers
Advantages
- No CapEx (No initial investment)
- High Availability
- Agility
- Pay as you Go (PAYG) pricing
- No hardware maintenance
- No deep technical skills required
Disadvantages
- Not all security and compliance policies can be met
- No ownership over the physical infrastructure
- Rare specific scenarios can’t be done
Private Cloud
Key Characteristics
- Everything runs on your own datacenter
- Self-service should be provided
- You maintain the hardware
Advantages
- Can support any scenario
- Total control over security and infrastructure
- Can meet any security and compliance policy
Disadvantages
- The initial investment is required (CapEx)
- Limited agility constrained by server capacity and team skills
- Very dependent on IT skills & expertise
Hybrid Cloud
Key Characteristics
- Combines both Public & Private cloud
Advantages
- Great flexibility
- You can run any legacy apps in a private cloud
- Can utilize existing infrastructure
- Meet any security& compliance requirements
- Can take advantage of all public cloud benefits
Disadvantages
- Can be more expensive
- Complicated to manage due to larger landscape
- Most dependent on IT skills & expertise from all three models