We've also been tracking the shift in cloud spending patterns that Amazon is describing on earnings calls and how that may be compressing margins. In Q4 this was particularly noticeable, https://www.vantage.sh/cloud-cost-report/2022-q4
We've also been tracking the shift in cloud spending patterns that Amazon is describing on earnings calls and how that may be compressing margins. In Q4 this was particularly noticeable, https://www.vantage.sh/cloud-cost-report/2022-q4
The savings could be in 7 digits TBH annually. There are so many low hanging fruits no one cares when the day is good. Tables that have no partition expiration that grow into hundreds or even thousands of TBs, buckets with same amount of data that no one looks at, VMs that no service uses, large clusters well above their load (e.g. only 20% used maximum -- and a full replica too), very bad ETL pipelines that cost hundreds of bucks EVERY RUN, very costly queries generated by Looker dashboards EVERY view...there are just too many.
Big top down push to move to public cloud, basically no thought to operating expenses.. and now theres a ton of low hanging fruit. Most of these same firms have very little ability to measure their costs in a timely, granular manner, and so put in only very blunt processes to try to limit costs.
Last org I was at could probably re-allocate 10% of engineering staff using the cloud to a SWAT team finding cloud cost saves for 2 years before they ran out of stuff that costs 5x their salary to get fix/optimize/kill in the cloud.
A lot of the same orgs CTOs sold themselves on the idea that they'd need less infra people in the cloud. This really has not been the case, and more often the cloud infra people are more expensive too. Meanwhile many need to permanently maintain an on-prem footprint for latency/legal/legacy/etc reasons.. so you end up with net more staff.
I know a handful of Wall St firms that are moving a lot of "big data" type use cases back out of the cloud because its hideously expensive for their use cases.
Bonus points if you can autoscale those same on prem workloads into the cloud provider of your choice seamlessly
In the absence of friction to buy more immediate incremental capacity, teams may never optimize their code..
This may be good when you are "moving fast & breaking things".
This may be bad when you are trying to operate an already-scaled business profitably.
On the other hand, in AWS, at my last shop.. we were just .. doing stuff. We at one point noticed a non-production RDS instance was going to run us $60k/year.
This was for some small part of our processing, that in on-prem land would just occupy a slice of one of our $30k servers. But in cloud, we had the pleasure of $5k/month until we noticed & turned it off.
At the scale our estate worked, we had easily 100 entities that could trigger this kind of spend.
oh and it really sucks when your brand new SSD's arrive at your main DC, after a 4 month wait, you open the box and the boxes are empty - someone robbed ya. Those expenses are only linked to the infra team, but the effects reverberate through the engineering org.
For us, Cloudfront was a massive expense that is without exagerration an order of magnitude more expensive than other providers, and even in the world of AWS custom pricing, it's a struggle to get cloudfront costs down to even the retail offering of other providers.
I don't mean that cynically or sarcastically. The cloud makes it legitimately more easy to deploy resources; I've experienced this in my own teams. But the flip side is that it is easier to deploy things without thinking about the costs, or deploy things and forget about them, and management can just shrug and say "yes, it's cloud, it must be cheaper and better".
This is by no means a cloud-unique problem. Watch any datacenter a company has been at for a few years get shut down and moved to the cloud. The stream of "hey, who owns this?" and "are we still using this?" and "I just yanked the network cable, has anyone noticed?" is morbidly amusing. Even if you think you're tracking everything, you quite likely aren't, because the owners don't update their own tracking info very well.
But cloud makes this worse.
So I just find myself wondering how much of AWS profit is on this sort of stuff.
I myself have S3 buckets full of crap. As I do watch my spend, said buckets full of crap are in the ~10-50$/month range. At that price point it is difficult to justify engineering time to clean out the crap. But it's not hard to imagine that scaling up by three or more factors of magnitude.
Last couple of weeks the whole data org underwent a forced upgrade of certain components on Google cloud and we got quite of clusters no one knows who owns.
I don't know but I'm itchy to start finding ways to build new projects because that is the best way for techy people to grab ownership and promition.
I just have access to small bits and pieces, but what I have seen I like.
Sigh, I'm late for everything in my life.
[1] Get a "server as they should be", https://oxide.computer (no affiliation)
But then, when uncontrolled inefficiencies need to gobble up more hardware, you would have to buy, install, network, maintain, and understand this new hardware.
Real inefficiencies do, but then you will have the more detailed data the GP is talking about.
You don't need to make a large datacenter, or to migrate everything at once. Find some low-risk services, get some consultant help you improve some room on your premises (you'll need to care about security, electricity and cooling), get a pair of network contracts and one hack of servers (or maybe even 4 servers), and move those services. Favor things that are used internally.
If you are looking for 7 figures of savings just by picking the easy fruit, you will almost certainly get positive ROI on that. Just do not move critical services if you don't know what you are doing.
https://www.joelonsoftware.com/2005/05/11/making-wrong-code-...
But the thirst for growth is never quenched, so there's always new features, new services. And maintenance of that automation. The work never ends.
There's a 25-50% operations tax every AWS employee pays. But they're handling the operations load that several employees were 10y ago. I used to wake up in the middle of the night to restart individual machines. Now I'm alerted for much much more complex problems. But i'm still woken up :(
And they do automate, claims that a service like S3 does not have automation are totally ridiculous, and few other general hosting providers have AWS scale here.
That said, their development pace is crazy, with plenty of partially built solutions -> so yes, until something scales enough to need it I'm not surprised they have sysadmin toil. Reality is even the VMware worlds and other onprem stuff, even when "automated" have plenty of turmoil just staying fresh / current / backed up / secured etc. So that's what AWS is selling.
Sometimes I wish I could learn everything from scratch. I wish I could join an on prem team to learn all those small details slowly and painfully.
Learning "from the middle" of a tech stack outwards is the default case for everyone, so don't be so hard on yourself. There is no "from scratch", never was even in the Bombe days, just a question of how many abstraction layers you want to tackle. Give yourself time to learn and plenty of room to fail and try again, and "all those small details" will ingrain themselves into you as second nature.
I know multiple people who have worked on AWS. There is definitely some manual stuff going on, but there is also considerable infrastructure and automation in other areas.
I'd look for other reasons..
The SDE role at $FAANG I work at is essentially glorified tech support, which makes the leetcode interviewing process so much more ridiculous than it would be by default if you were actually writing code and solving meaningful problems most of the time.
I don't think you're generalising to all FAANG, just whichever one you work at.
That said, this has not been my experience at all at another FAANG which doesn't use the TLA "SDE".
Which one do you work at so I can go there?
Or at least appear to have those hobbies if you do not.....
But now many of the companies that moved to the cloud are hitting different challenges and are stuck in a setup that is pretty expensive to maintain. I am not expecting the death of the cloud computing, but that pendulum will likely swing back a little as the companies experiment with other options. I think a company that can help medium sized businesses optimize their compute setup with a mix of on prem and multi-provider cloud will do well. My 2c.
It's extremely true! The fun is that bad code looks totally different from each other. The "bad" Scala type astronaut code would be unrecognizable from Python raw dictionary enthusiast code.
So for instance company would have their hosting costs upped from £500 a month (dedicated servers) to something like £5000, so that they could "scale up", while their dedicated servers could have easily served almost any traffic thrown at them and be more responsive. They have actually never reached the level of traffic that this old set up wouldn't be able to handle, but investors were always saying "what if we get sudden surge of users" which has never materialised. But then it was their money so nobody objected.
I can see that now that hosting costs in the cloud have become ridiculous, cash strapped smaller businesses will be looking for savings and the cloud is quite an obvious area to look for cuts.
Sounds great, for some use cases. Particularly if you don't need multiple 9's of uptime, and just need a few 8's. Most companies don't have: * Guaranteed sla's for replacing components when the RAM needs to be reseated, a drive fails, or the fans get too dusty and things overheat
* Redundancy set up in case the network connection fails
* Redundancy set up in case the power fails. (Many places will have a UPS for under an hour, but generators, along with a regular maintenance schedule and processes for ensuring fuel is another thing)
* On site security, to make sure nobody breaks in and does some corporate espionage
* Ultra-high-speed links to the internet
And if the little startup takes on a client with important certification requirements, it can be very helpful to have a cloud provider. A lot of contracts I've taken on over the years ask tough questions during the sales process about our practices regarding the above things and much more.
The points you have listed are important, but are really non-issue unless you are co-locating servers in the utility room somewhere, rather than in a proper data centre.
One big difference working against the cloud is the same thing that worked in it's favour 15 years ago. We don't always remember why we just adopted the cloud. Linux networking at times had scaling issues, and virtualization and linux was not where it is now.
It's astounding how much more a $5 VPS can do. Imagine the medium end. Self-managed hosting tools have come so far to handle production quality, it doesn't even feel fair that it is not more well known. Whether it's Proxmox, or others, it is pretty close to most things out there. Making a tool cloud compatible, but cloud agnostic is one way to avoid a lot of technical debt (assuming it's not created another way).
It doesn't have to be for everyone, but demand is probably slowing in part because of this. In a recession cost efficiency is everything.
Now they moved to Kubernetes, it has added a ton of unnecessary complexity. It takes magnitude more effort to run anything on it and they call it progress...
Sometimes it can be both but not always.