OPEX in the US is tax deductible for the current financial year; a lot easier to calculate and maintain. It’s basically the cost to run the company, taking away from revenue.
CAPEX items are amortized over multiple fiscal cycles; it’ll count and can helps raise the value(valuation) of your company, but tricker to calculate.
So depending what financial number goals your company has, the accounting of items can go one way or the other.
If your dev work brought permanent value to the company, then it can be capex. If you were a contractor instead, it could be either cap or opex. AWS services are basically rented and not permanent value to the company, ie, if you sold everything the company owned for cash, you couldn’t sell the AWS part, just the terraform scripts.
For business perspective, it's large irreversible upfront investment on capex vs ongoing opex. Sizing and building a data center is risky, execs not wanting to attach their names to $xxM data center project.
Cost wise Capex are depreciated, this gives less visibility on month on month costs compared with opex which goes onto income statement.
Developer work as capex is intangible asset, which has a bit more 'flexibility' depending on what management wants. It can operate on the same idea, developer wages for 1 year spread over several years via amortization of intangible asset.
Depreciation of assets also goes on P&L so no difference on periodic visibility. Also, while not capex, prepayments/reservations for cloud services are in fact assets/liabilities so yes opex vs capex is a good high level distinction but not 100% the essence.
The capex vs opex argument in cloud is more about having better transparency on your infra costs on a monthly/quarterly/yearly basis. With DCs you need to make large upfront purchases for todays and the next 3 years needs. If you under estimate you’ll be unable to grow further. If you over estimate you’ll be stuck with a bunch of unused infra.
Now say you want to spin up a new feature/product. Can you accurately forecast the compute needs? How difficult would it be to get a large capex PO out through your internal orgs on the unreleased non-revenue functionality.
Compare that to cloud where you pay for what you need. Calculating marginal cost is much easier, and securing budget on an ongoing basis to pay for clouds opex is also much easier, as you can easily show to finance the profit margins.
As the other commentor has mentioned, much easier for management to manage costs and assign to cost centers or buckets. It's a big difference to track consumption monthly based on actual instead of straight line depre, eg. depreciation hits even if everything turned off
CAPEX items are amortized over multiple fiscal cycles; it’ll count and can helps raise the value(valuation) of your company, but tricker to calculate.
So depending what financial number goals your company has, the accounting of items can go one way or the other.
If your dev work brought permanent value to the company, then it can be capex. If you were a contractor instead, it could be either cap or opex. AWS services are basically rented and not permanent value to the company, ie, if you sold everything the company owned for cash, you couldn’t sell the AWS part, just the terraform scripts.