STCLOUD_cloud economics FULL
This note has not been edited yet.
Module 2 Cloud Economics and Billing
(19:43)
- traditional is more focused on us buying computers → it's easier to visualize how much it will cost, so easier to compute for
- cloud computing is a bit trickier → rental aspect
- we have to understand how to compute for cloud and what are the components that make up the cost
AWS pricing model
moved below
On Compute...
Traditional | |
---|---|
Link | link here |
CPU | Intel I7 12700 |
RAM | 16GB |
SSD/SATA | 240GB |
Power | 650W |
Price | 46,139.00 CapEx |
Electricity | 5697.9 OpEx |
1 Year | = capex + opex * 12 = ~106,000.00PHP for one year traditional |
3 years | = above * 3 = ~226,000.00PHP |
rapidtables for power cost → for opex |
- power consumption: in reality you're only using like 100-200W instead of the whole 650W
- hours per day: it's a server
What about cloud? it's harder because we're considering a lot of factors.
fundamental drivers of cost with AWS (AWS Pricing Model):
- Compute (CPU, GPU, memory to a certain extent - general computing capability)
- charged per hour/sec or duration (per sec is linux only) - concept of on-demand
- varies by instance type - cloud focuses on using template-based; they have packaged resources we can select from and those are the instance types
- by location - would involve data centers on a global scale, servers can be deployed in various countries, which have different requirements like certifications, etc. which affect the cost per location
- Storage (memory to a certain extent, HDD, SSD)
- charged per GB
- Data Transfer (I/O and network)
- Outbound is aggregated and charged
- inbound has no charge (with some exceptions) → if internal
- charged typically per GB
- These are based on the traditional resources that we are consuming
- AWS, Google Cloud, Azure would follow a similar model
- A: it really depends on the kind of architecture that you're going for, if you want to host a simple website, there are many services for that. this one is more of a customizable architecture with higher availability, backup capability, and seamless integration with other solutions
- cloud is not the only solution out there, it IS a solution for a specific kind of need
- the database is on the private network for better security
- the webserver is on the public server
- this could be an option for you in the cloud, following IaaS, which might not be an option from services like DigitalOcean
- this is more on the heavier side of things
- A: DLSU chose traditional because there are some aspects with traditional that you can essentially predict
- it's old-school (large companies are typically managed by old people so this is easier for them to understand, it's harder for them to visualize and accept better technologies)
- you have more control
- and predictable cost and workload (cloud → variable cost)
- DLSU gets money from tuition fees and donations (non-profit) → money is not a constant thing
- the enrollment rate could be so low that it can't pay for cloud
- the systems in the school are more focused on traditional things
- most of the tuition fee goes to salary, lab fees go into infrastructure
Instance Types and Instance Size
- Instance Types:
- AWS: General purpose, compute optimized, memory optimized, and so on.
- if you need a specific solution there are different ones to choose from
- includes the type of machine and the type of resources that machine can give
- these are packaged templates already or sets you can already select
- Instance Size:
- under the instance type, there are different sizes
- under the instance type, there are different sizes
Cloud | AWS |
---|---|
Region | N Virginia |
Service | Ec2 |
Instance Family | Any |
CPU Cores/vCPU | 8 |
GiB of memory | 16 |
Instance name/Model | c6g.2xlarge |
Payment options | On-demand |
Price | 198.56usd * 55.79php (usd conversion) = 11077.6624php monthly |
One year | above * 12 = ~132,931.95 php |
3 years | above * 3 = ~398,395.85 php |
- sir searched intel Core i7-12700 Processor on intel.com and looked at specifications here
- cloud would use a server-class processor while trad would use a CPU-class processor (has a smaller cache)
- most platforms have a pricing calculator
- we go for linux or a free OS because windows usually comes with a price
- region: n. virginia
- service: ec2
- any instance family
- 8 CPU cores (vCPU) and 16 GiB of memory
- the cores are different because they're server-based not desktop-based
- choose cxg2xl
- choose on-demand payment for full-on cloud
cost ends up being
Cost is dependent on the instance type and size!
If we change the duration, the cost changes as well. We're currently running at 100 (Usage with type=utilization percent per month). If we had 9 hours per day, it would be ~4000 monthly
Cost also depends on the location of deployment.
On storage...
setting up amazon elastic block store (storage option)
- storage for EC2 instance: Cold HDD (sc1)
- storage amount: 240
The cost changes based on the amount and type of storage!
- you'll see the same thing in the google cloud pricing calculator and the azure pricing calculator
On data transfer...
- the cloud service provider will use interconnectivity
- outbound = download
- aggregated and charged
- inbound = upload
- has no charge with some exceptions
- free if it's internal (ex. you have a server in US east → send something to us west, may bayad; if us east A to us east B, no cost)
- charged typically per GB
==updated stuff below ==
Module 2 Cloud Economics and billing
AWS Pricing Model
three fundamental drivers of cost with AWS:
- Compute
- charged per hour (/sec if linux)
- varies by instance type
- by location
- Storage
- charged typically per GB
- and storage type
- Data transfer
- outbound is aggregated and charged
- inbound has no charge with some exceptions
- charged typically per GB
How do you pay for AWS
Rent, reserve, volume-based discount (tier pricing), time
- Pay for what you use (rent/on demand)
- more expensive
- Pay less when you reserve (1 or 3 year commitment)
- note: when you reserve you lose scaling on-demand advantage
- you get more discounts
- Pay less when you use more and as AWS grows
- over time, the cloud provider gets more clients so it becomes cheaper for you as the client
TIER DISCOUNTS:
for example 1 TB = 100 php
if you buy 100 TB, 1TB = 90 php (so it gets cheaper)
if you buy 10 PB, 1TB = 80 php
1 Pay for what you use
- pay only for the services that you consume, with no large upfront expenses
- focused on rent or OpEx
- on premises: spikes in cost, only goes up
- AWS/cloud: scaling in and out (elasticity)
- elasticity is the property that allows you to scale in or out (up or down)
- scalability is the property that allows you to scale out or up without affecting the current setup (one direction bigger)
- "scaling in" → decrease your resources because you don't need them
- "scaling out" → increase your resources by adding more servers
- rental/on demand is the most expensive option
2 Pay less when you reserve
- you get a lower cost at the expense of guessing capacity
- at the expense of a static resource for a long duration...
Invest in Reserved Instances (RIs):
- save up to 75% with these options:
- All Upfront Reserved Instance (AURI) → largest discount
- same with traditional
- higher CapEx, lower OpEx
- Partial Upfront Reserved Instance (PURI) → lower discounts
- down payment + monthly cost
- CapEx + OpEx
- No Upfront Payments Reserved Instance (NURI) → smaller discount
- rent but with committment
- higher OpEx, lower CapEx
- On Demand → no commitment
- 0 CapEx, higher OpEx
3 Pay less by using more
- volume-based discounts
- Savings as usage increases
- Tiered pricing for services like Amazon S3, Amazon EBS, Amazon EFS → the more you use, the less you pay per GB
- multiple storage services deliver lower storage costs based on needs
4 Pay even less as AWS grows
- when the cloud grows, services become cheaper over time
as AWS grows:
- AWS focuses on lowering cost of doing business
- this practice results in AWS passing savings from economies of scale to you
- since 2006, AWS has lowered pricing 75 times (as of Sept 2019)
- future higher-performing resources replace current resources for no extra charge
if you have an i5 processor in 2025 -> 10k/month
in 2030 → 9k/month (the hardware would be cheaper by then)
Custom Pricing
- special pricing for high volume clients
- meet varying needs through custom pricing
- available for high-volume projects with unique requirements
AWS Free Tier (and Google Cloud and Azure)
- free use or credits for some services
- enables you to gain free hands-on experience with the AWS platform, products, and services
- free for 1 year for new customers
Services with no charge
(14:18)
- no cost for configuration or orchestration-based services but you pay for services that they provision
- configuration-based services: VPC and IAM
- VPC for network → helps you create routing tables, private subnets, public subnets, etc.
- IAM for directory services → like DLSU ActiveDirectory lets you manage user accounts, roles, permissions, password management
- configurations for an existing infrastructure or implementation
- orchestration-based services: Beanstalk, CloudFormation, Auto Scaling
- orchestration is like automation basically
- Beanstalk for orchestration → helps you deploy things like a web application with autoscaling and load balancing (you pay when you scale out)
- Auto Scaling for orchestration → VMs, cloud infrastructures
- CloudFormation for orchestration → VMs, cloud infrastructures
Module 2 Section 2: Total Cost of Ownership
On Premises vs Cloud
- they are very different but COST can be a common factor to consider
- traditional: most of the cost is in the CapEx
- cloud: outsourcing, more on OpEx
- dapat scale in and out sa picture
- remember cloud is a methodology on how we use virtualization
- virtualization is the technology
- both cloud and on-premise can be an ideal setup depending on your situation
What is Total Cost of Ownership (TCO)?
(21:00) TCO is the financial estimate to help identify direct and indirect costs of a system
- aims to create the financial estimates of renting cloud vs owning on-premise
- direct = something we can appreciate more in terms of monetary values, like how much we pay for servers, storage, man power (things we can directly compute)
- indirect = inherent advantages like by using virtualization you get speed and agility
Why use TCO?
- to compare the costs of running an entire infrastructure environment or specific workload on-premises vs on cloud
- to budget and build the business case for moving to the cloud
- these business cases help you decide if cloud is beneficial for you or not
TCO Considerations
- on-premise considers hardware, software, facilities, and labor as considerations for TCO
- if you're already managing a data center, maybe on-premise will be cheaper
- but if you're starting out, you have to consider whether to go on cloud or on-premise
- Server Costs
- Storage Costs
- Network Costs
- IT Labor Costs
AWS Pricing Calculator (and Azure and Google Cloud)
- all cloud providers give a way to estimate the cost of services with pricing calculators
- use the AWS pricing calculator to:
- estimate monthly costs
- identify opportunities to reduce monthly costs → if it's high, what can you to do reduce expenses
- model your solutions before building them (so you have an idea of what you need, and how much it costs)
- explore price points and calculations behind your estimate
- find the available instance types and contract terms that meet your needs
- name your estimate and create and name groups of services
Additional Benefit Considerations
- consider if it is beneficial to your business and technology needs
Hard Benefits
- reduced spending on compute, storage, networking, security
- reductions in hardware and software purchases (CapEx)
- reductions in operational costs, backup, and disaster recovery
- note: you don't necessarily reduce spending but instead you (1) outsource, and (2) rent/subscribe (OpEx)
- that could be an advantage or not depending on the situation'
- according to sir, you don't really minimize the spending, but you put your money somewhere else
Soft Benefits
- reuse of service and applications that enable you to define and redefine solutions by using the same cloud service
- its more costly but integration is going to be easier
- increased developer productivity → PaaS/SaaS or infrastructure as software
- they have solutions like PaaS or SaaS that helps them focus on the work they want to do
- develop and deploy faster
- improved customer satisfaction → latency, ease of use
- you can deploy your services nearer to your customers so there's reduced latency
- there's none in the philippines, nearest would be singapore
- agile business processes that can quickly respond to new and emerging opportunities (speed and agility)
- increase in global reach
cloud and trad are both not perfect solutions, it depends on what you really need
Module 2 Section 4: AWS Billing and Cost Management
- they created tools to help manage billing and costs
AWS Billing Dashboard
- visualizing cost can help better understand where your money goes and how to reduce spending
- this is also possible in traditional but it's not built-in unlike cloud
Other Tools
there are tools to help you understand your spending
- AWS Budgets → notifications and rules to help you be alerted for budget limit
- let's say your limit is 5k and on Tuesday you already used 3k, there's 2k left
- AWS Cost and Usage Report → tabular visualization for what you're paying for
- AWS Cost Explorer
Monthly Bills
- high level but simplified billing list as a table
- what you're paying for at the end of the month
Cost Explorer
- cost visualization and prediction for analysis
- for cost patterns and habits
Forecast and Track Costs
- set budgets and alerts
- so you know when to reduce your spending
Cost and Usage Reporting
- tabular cost for detailed listing
- pretty much statement of account, based on what you're paying for and how much it will cost you (Line Item Description)
costs are a curious thing when you think about cloud, cloud services provide you tools to help you make better decision making
Support Plans
- going traditional → you would consider warranty for your set of resources
- this is the warranty equivalent but cloud version
- support helps you in troubleshooting as well as setup & deployment needs
- support has costs depending on the level
AWS Support offers 4 support plans:
- Basic Support: Resource Center access, Service Health Dashboard, product FAQs, discussion forums, and support for health checks (Free)
- (52:40) "the cloud will not intervene or direct you" not sure what this means
- there's no direct person that will help you agad
- Developer Support: support for early development on AWS (Paid)
- waiting time would be 12-24 hours
- if you have a product you're launching, questions on deployment, etc.
- Business Support: Customers that run production workloads (Paid)
- waiting time is 1-4 hours ,12-24 depending on the severity
- Enterprise Support: customers that run business and mission-critical (Paid)
- if your business has to run 24/7, you'll need this
- waiting time is 15 min