AWS: Billing and Pricing

Johnson Kow
4 min readOct 19, 2020
Weekly Photo by Me

How AWS Pricing Works

Capex v Opex

Capex is short for Capital Expenditure where you pay up front for a fixed cost. Capex is an expense a business incurs to create a benefit in the future.

Opex is short for Operational Expenditure where you pay for what you use. Opex is an expense required for day-to-day functioning of a business.

Basic Pricing Policies are as follows:

  1. Pay as you go
  2. Pay less when you reserve
  3. Pay even less per unit when using more
  4. Pay less when AWS grows
  5. Custom Pricing

AWS does a great job at creating affordable environments while also getting rid of overpaying for surplus of resources or underpaying for insufficient resources. When thinking about these principles, you should also consider the key principles and best practices for pricing and they go as such:

Understand the fundamentals of pricing

3 Main Drivers of Cost with AWS

  1. Compute (EC2, Lambda)
  2. Storage (S3, Glacier, Storage Gateway)
  3. Data Outbound

Start early with cost optimization

It will be easier to put cost visibility and control mechanisms in place before the environment grows large and complex.

Managing cost effectively from the start ensures that managing cloud environments doesn’t become on obstruction as you grow and scale.

Maximize the power of flexibility

Choose and pay for exactly what you need and no more.

No minimum or long-term contracts are required unless you chose to save money through a reservation model.

Use the right pricing model for the job

As mentioned before in a previous blog, you are offered a variety of options.

On Demand — Allows you to pay a fixed rate by the hour.

Dedicated Instance — Physical server dedicated for your use and reduce costs by allowing you to use existing server bound software licenses.

Spot Instances — Bid a price you want for instance capacity providing for even greater savings if you apps have flexible start and end times.

Reservations — provides capacity reservation, and offers a significant discount on the hourly charge for an instance. Contract terms can last 1–3 years.

Free Services

Amazon VPC

Elastic Beanstalk

CloudFormation

Identity Access Manager

AutoScaling

OpsWorks

Consolidated Billing

Although all the services mentioned are free, the resources that they use may not be free. For example, elastic beanstalk is free but if you decided to attach an EC2 instance to it, you’d pay for those services. So keep in mind that these services are free but the resources they use may not be free.

What determines price for Lambda?

  • Request Pricing — Free Tier: 1 million requests/month. $0.20 per 1 million requests
  • Duration Pricing — 400000 GB seconds per month.
  • Additional Charges — incur if your lambda function uses other AWS services or transfer data

What determines prices for EBS?

  • Volume per GB
  • Snapshots per GB
  • Data Transfers

What determines prices for S3?

  • Storage Class
  • Storage
  • Requests( GET, PUT, COPY)
  • Data Transfer

What determines price for RDS?

  • Clock Hours of Server Time
  • Database Characteristics
  • Database Purchase Type
  • Number of Instances
  • Provisioned Storage
  • Additional Storage
  • Requests
  • Deployment Type
  • Data Transfer

AWS Budget v Cost Explorer

AWS Budget gives you the ability to set custom budgets that alert you when your cost or usage exceed your budget amount. This is used to budget costs before they have been incurred.

AWS Cost Explorer has an easy to use interface that lets you mange, visualize, and understand your AWS costs and usage over time. This is used to explore cost after they have been incurred.

Consolidated Billing and Organizations

AWS Organization is an account management service that enables you to consolidate multiple AWS accounts into an organization that you create and centrally manage.

Advantages of Consolidated Billing

  • One bill per AWS account
  • Easy to track your charges and allocate costs
  • Volume pricing discount

Best Practices

  • Always enable multi-factor authentication on a root account.
  • Always use a strong and complex password
  • Paying account should be used for billing purposes only. Do not deploy resources into the paying account.

That’s it for this weeks AWS Blog. I realize that I’ll keep coming short of thing to blog about soon as the last topic in this, for me at-least, is security in the cloud. I don’t expect anyone to use this resource by itself. I highly recommend the white papers the AWS has to offer as it goes into much greater detail about absolutely everything I’ve been blogging about for the past couple of weeks. These blogs are to help introduce a fresh pair of eyes to the AWS world. As always, happy coding!

--

--

Johnson Kow

Software Engineer based out of NYC. Learning more about programming everyday 👍