Ask HN: Azure has run out of compute – anyone else affected?

651 points by janober ↗ HN
Last week we at n8n ran into problems getting a new database from Azure. After contacting support, it turns out that we can’t add instances to our k8s cluster either. Azure has told they'll have more capacity in April 2023(!) — but we’ll have to stop accepting new users in ~35 days if we don't get any more. These problems seem only in the German region, but setting up in a new region would be complicated for us.

We never thought our startup would be threatened by the unreliability of a company like Microsoft, or that they wouldn’t proactively inform us about this.

Is anyone else experiencing these problems?

358 comments

[ 2.7 ms ] story [ 296 ms ] thread
Clowns are much more solid than clouds, which are famously density-light. Given their traditional proximity to solid ground, too, clowns are a much better choice of foundational substrate than a cloud to build on.
Clown-car cluster sounds like it'd be a good name for a compute product.
Maybe they are doing this to push people into regions with lower energy costs. Of course Northern Virginia or Canada is going to give you much higher ping times.
Interesting thought. It would be crazy if turning down business was preferable to just raising prices to reflect increased energy costs. I'm not a cloud expert, but maybe they don't have the infra to price differently in some regions?
That’s the problem with charging average costs (assuming they do that) but the new user costs are at the margin which can be muuuuch higher.
Azure definitely has the ability to charge differently per region. They do it pretty frequently.
Why wouldn't they just price higher in those regions? People want/need regions for policy and compliance reasons, not just for ping, particularly with Europe and Germany I'd expect.
And potential data residency issues
I do honestly not think there is any bad intent behind it. I am just surprised that this is happening at all (esp. not with a resolution time of multiple months). They must have known for a long time that this would happen, so I would have expected an early heads-up!
Yes it’s weird that you have to ask them for instances which some actual physical person looks at your request, thinks about it and says yes or no to.

Instead of providing you with a list of the resources they do have, you have to play this weird game where you ask for specific instances in specific regions and then within several hours someone emails back to say yes or no.

If it’s no, you have to guess again where you might get the instance you want and email them again and ask.

I envisage going to an old shop, and asking the shopkeep for a compute instance in a region. He hobbles out the back, and after a long delay comes back and says “nope, don’t have no more of them, anything else you might want?”.

It’s surprising this how it works. Not the auto scaling cloud computing used to bring to mind.

I briefly worked on an Azure team, and what I remember hearing (a few years ago) was that they were building out data warehouses as fast as they can, but they simply cannot keep up with demand. A good problem to have, I thought, but maybe not in light of this news!
Is this a joke comment?
No, this is my actual experience using azure.
I can go on Azure right now and create an instance and nobody will check anything manually and email me back something. Maybe you're confusing Azure with some other small town colocation provider.
Nope, I went through this process exchanging more than 30 emails trying to get the instances I wanted.
If you want 1 instance, you're right. If you want 10 - 20 instances of one type in a region, the other poster's experience matches my own: you have to open a support request to ask for a quota increase, and that is not an automated process.
Accounts have instance count quotas; you can get them raised, but it is a support ticket to do so.

And sometimes, that is hard. I've had Azure support not able to understand what quota they need to raise / what quota is being requested. I had to at least link them to their own documentation on it… (partly the confusion is that quota support tickets allow selecting the quota as a piece of metadata on the ticket, but only for some quotas, and of course, mine was for one of the ones not listed. Why they don't just list all of them is anyone's guess.)

no, they have very low quotas by default, and you have to request increases through the portal, which then get rejected and you click the button to contact support/email and then you sometimes have to negotiate with them

you have to do this for every single instance type they have, can't even experiment or test other instance types cause its too much trouble to get quota

The comment I replied to was not talking about changing quotas but actually creating instances.

> Yes it’s weird that you have to ask them for instances which some actual physical person looks at your request, thinks about it and says yes or no to.

well can't create an instance without having quota available

and low quota is low, like 10 cpu, so start a 2 node k8s cluster with 8cpu each? nope, go request quota increase

In the future it will be possible to use computers to figure out what’s available and automatically give it to customers.

21st century man…. it’s coming.

But who will determine when more computers are needed to figure out what's available to give to more customers because there's been a spike in demand?

Computers don't fix everything. They just allow you to f*ck up bigger, harder, and faster, usually in the most banal way imaginable.

No, Microsoft still isn't up to the 'use what you want, pay for your usage' level that other companies tend to be. They even still mix "licensing" with "usage" so you have to pay for something to then be allowed to pay for using it...
> but setting up in a new region would be complicated for us.

I've never done K8 on Azure, but my understanding is that Azure is pretty good about coordinating between your own datacenter running windows and Azure. Maybe you can spin up some windows boxes in a cheap datacenter to make it work?

Hetzner has a German presence I believe, and would work for running k8 on bare metal for n8n to burst to temporarily for running their orchestration and/or workflow runners. Might even be cheaper in the long run versus a cloud provider. Just gotta wire up the helm charts, containers, and whatever message bus is pushing their messages around. Can write to blob storage from anywhere if that’s a component of the app.
> Hetzner has a German presence I believe

I sure hope so, as a German company

Azure Germany is a separate partition from the rest of Azure - presumably for compliance reasons. This is distinct from AWS, where Frankfurt is just another region, albeit one with high demand.
> AWS .. Frankfurt is just another region

Unlike GCP and Azure, all AWS regions are (were) partitioned by design. This "blast radius" is (was) fantastic for resilience, security, and data sovereignty. It is (was) incredibly easy to be compliant in AWS, not to mention the ruggedness benefits.

AWS customers with more money than cloud engineers kept clamoring for cross-region capabilities ("Like GCP has!"), and in last couple years AWS has been adding some.

Cloud customers should be careful what they wish for. If you count on it in the data center, and you don't see it in a well-architected cloud service provider, perhaps it's a legacy pattern best left on the datacenter floor. In this case, at some point hard partitioning could become tough to prove to audit and impossible to count on for resilience.

UPDATE TO ADD: See my123's link below, first published 2022-11-16, super helpful even if familiar with their approach.

PDF: https://docs.aws.amazon.com/pdfs/whitepapers/latest/aws-faul...

AWS has several different levels of region isolation.

There are aws region partitions - general, china, us gov cloud (public), us gov secret and us gov top-secret.

Inside a partition, there can be some regions that are opt-in - see https://docs.aws.amazon.com/general/latest/gr/rande-manage.h...

My understanding is that opt-in regions are even more isolated inside a specific partition for partition-global services like IAM and maybe some other stuff.

> Unlike GCP and Azure, all AWS regions are (were) partitioned by design. This "blast radius" is (was) fantastic for resilience, security, and data sovereignty. It is (was) incredibly easy to be compliant in AWS, not to mention the ruggedness benefits.

Could you elaborate on this a little? We use AWS, but are evaluating OCI for certain (very specific) cases, and I'll love to know what questions to ask for comparison purposes.

You likely won't get anywhere asking Oracle questions, their sales is very good at (not) answering.

Here is how partitioned/isolated OCI is by design:

https://www.wiz.io/blog/attachme-oracle-cloud-vulnerability-...

While that's fixed, it speaks volumes to the architecture. Very little has changed since 2018: https://www.brightworkresearch.com/how-to-understand-the-pro...

As noted there, I'd argue OCI is more akin to Softlayer/Bluemix than to GCP, Azure, or AWS, but depending on your certain very specific cases OCI may still be appropriate.

There is a reason why GCP and Azure have had many more global outages than AWS. Fault isolation always entails some level of inconvenience.
Yep, it's run by the Telekom entirely IIRC from my time back at MSFT. Microsoft "just deploys" Azure on it.
this: compliance plus lack of energy for new datacenter capacity. source: colleague who works at msft. they have a true crisis there and it will get worse.
Oof, that sucks and I feel for you. That said...

> setting up in a new region would be complicated for us.

Sounds to me like you've got a few weeks to get this working. Deprioritize all other work, get everyone working on this little DevOps/Infra project. You should've been multi-region from the outset, if not multi-cloud.

When using the public cloud, we do tend to take it all for granted and don't even think about the fact that physical hardware is required for our clusters and that, yes, they can run out.

Anyways, however hard getting another region set up may be, it seems you've no choice but to prioritize that work now. May also want to look into other cloud providers as well, depending on how practical or how overkill going multi-cloud may or may not be for your needs.

I wish you luck.

(comment deleted)
Thanks a lot! You are totally right, it is for sure something we will find a solution for. But honestly, do I not want to. As a startup, you have very few resources and deliberately place some exact bets. Deprioritizing everything to work on something for a long time that was not prioritized, just to then end up again where you were before (a working cloud solution) is the last thing any startup should be forced to do. Anyway, it seems like we do not have much choice here.
I hear you. It's not a fun position to be in. And sometimes you're correct to take calculated risks and maybe the expected value was positive here, despite what ended up happening.

Without knowing the details about your services and infrastructure, it's hard for me to know what's involved in going multi-region now. Are you sure it's such a a gargantuan effort? I would've thought one person working full-time on this for a week or two would be enough, but again I don't know the details of your setup.

One option would be to pay a consultant who is an expert in Azure/cloud stuff to come in and help. May not be cheap, but could be a lot better and quicker for you and better for the business, especially if none of you are really big experts in Azure.

I've been here before (I think)...had to wear many hats and scramble to make sales, build the tech, act as de facto DevOps person even without a lot of experience doing it, etc. That is the way, but stuff happens.

Happy to chat about specifics if you want to bounce ideas off of me or go through your particular situation. Can't promise I'll have concrete advice, but happy to talk it through.

Thanks a lot, is really super nice of you and appreciated! Luckily we have somebody very knowledgeable on our team. Will tell him to reach out if he wants to have a peer to brain-storm some ideas.
Glad to hear you have the right people. Good luck, my friend.
I disagree with the other poster you should have been multiregion from the start. It adds a load of complexity and failure cases for early stage Startups.

Very poor position to be in, apparently this happened in azure UK recently too.

I do not think is a bad idea to be multi-region from start. For the most part Azure has at least two regions in each country (Germany North/West Central, UK South/West, Sweden South/Central, Norway East / West, UAE North / Central, France Central / South etc....)So if stuff happens being able to bring up your service in a different region in the same country could be helpful. I do not know specifics but it seems to me that having an abstraction layer on top of the region is not that hard to do (most of Azure services are supported in all regions). OF course, is a lot easier if done at the outset. Being forced to do it quickly and with little notice is no fun at all....
I feel for you. Also it sucks to be in this position.

Let the scar you get from this is be a learning experience, hopefully you will not fall into the same trap again to trust this company.

In my career I'm in a place where anyone suggesting I do work on Azure gets an instant doubling of my asking day-rate and I really hope the will be put off and find another victim for this gig.

That said, another learning experience would be to use terraform or something (tbh for azure the only sane thing is terraform, ARM templates are just garbage). Having terraformed your one region switching to the other would be much easier, tho not trivial.

I'll reply to my own comment in response to a since-deleted reply that went something to the effect of "this is terrible advice for a young startup trying to get to product market for":

I'm totally on board with the idea of being scrappy and taking shortcuts in order to get to PMF as soon as possible. However, it seems the proof is in the pudding here. If you can't service customers due to lack of compute resources, you can't get to PMF.

Also, yes there are certain infrastructure and network topologies that would absolutely be overkill for a young startup. I don't think multi-region is one of those things. I don't have experience with Azure directly, but on every other cloud providers, going multi-region is not something that requires huge amounts of time or resources. You just need to be mindful of it from the outset. And if you decide not to be, then at least be intentional and conscious about the risk and have a plan in place for what happens when you get bit by deciding not to go multi-region.

GDPR might be a problem here. But this brings us to an important point: this is not your infrastructure, but someone elses.
Good point, I didn't think about that.
There are quite a few European regions, but we don't know how the others stand with their computing limits...
GDPR isn't really related to the infrastructure, and isn't a problem if you built your product knowing you'll need to conform. Shopify is GDPR compliant, for all merchants, and runs on Google Cloud in multiple regions.
There are specific requirements in Germany that require user data to not leave the country. I believe that was what OP was referring to.
Genuine question: is knowledge on how to do this well known? Without that accessibility, I'm picturing folks operating in EU being unwilling to take the risk of not being compliant and just hosting everything in a single region.
They’re wrong.
GDPR is not some boogieman, it can be pain to do on existing products that were build pre GDPR, but if you are starting new project, being GDPR compliant is pretty straight forward and not hard/time consuming, unless you are explicitly trying to do something shady*

*privacy invasive that GDPR is explicitly set up to make harder, so duh

Privacy shield very much matters where your servers are. EU cracking down hard on extra territorial transfers in the past year with more to come.

Also, lots of companies assert GDPR compliance via magical thinking. They most often are wholly wrong. Shopify can say whatever they want, but there’s no certification body.

Source: I’m the person who evaluates and builds compliance systems for a range of services you almost definitely use.

I'd add to this by asking: how much more PMF can you get when you have a two week horizon of new customers before you literally run out of compute resource in a major cloud provider data centre?

Sounds like customers are coming in thick and fast.

If this is the dynamic and the company can't spare a few weeks to solve it, something has gone seriously wrong in a very interesting way.

Also, n8n arguably has product-market fit so the advice was impertinent to start with…
Is it that much cheaper for you to build a new region on Azure versus getting setup on AWS?

If you rely on Kubernetes for orchestration and have minimal cloud API dependency, it may be worth that evaluating this option.

Also, do you have a TAM associated with your account? Are you just going through regular support channels? Can they deliver different instance types (not sure what the Azure parallel is), can they deliver short term capacity, etc?

I would try to push Microsoft more here. It's not like they've stopped on-boarding new customers into that region right? What happens if you create a new account in that region?

We already tried to push Microsoft, sadly have they been not very helpful. Still trying to get in contact with somebody that can actually make a difference. After all, are we also not asking for a hundred machines. Can really not imagine that they can not somehow make the resources we require available.
I'll ask again what the person above asked: do you have a TAM.

If you don't you're at a big disadvantage.

Sorry, missed that. No, we do not.
Get one asap. Your TAM is the insider and should push for you.
we tried escalating this through CASM and it did not work. The region is blocked for every quota, even a single instance.
(comment deleted)
Some tricks you can try is to switch to a different SKU. Most Azure databases have different generations of underlying compute. They may be out of just on model. Try a different one.

Similarly, just keep trying to change the size. Often it’ll go through when someone else decommissions something.

> Deprioritize all other work, get everyone working on this little DevOps/Infra project.

This is doubly worthwhile as if this stumble kills the startup (it can happen) this will be excellent experience to take to the next employer :)

Also a lesson here is don’t create any prod asserts manually ever. Terraform or some other software to define your cloud assets. Then this issue is just a matter of adding a top level loop or maybe adding a region parameter to a layer of software. Cloud is only efficient if you take the software defined every thing seriously. Otherwise it is premium hosting where you are likely a small fish.
“Being multicloud from the outset” is a very silly idea for most use cases.

The way to get more from most cloud is by becoming a partner, not just a customer. And the way to do that is increase dependency and usage.

t. Sales department of Cloud provider
Good sales (which I'm not), is all about aligning with the customer: solve their problems for them, and they'd be happy to pay for it. Getting them to buy stuff they won't need is a sure way to loose future business.
"Multi-cloud from the outset" is probably the single-worst generic cloud advice that I think anyone could be given. In professional cloud consulting the rule of thumb is to do one cloud with excellence until you even think about another one. And even that is really just kicking the conversational can, as both becoming excellent and actually needing multi-cloud combined is one-in-a-billion.
That pretty much binds your hands since in our experience the one provider who can do “one cloud with excellence” is AWS.

(As an aside I also agree that multi cloud from the get go is a YAGNI violation. Just keep in the back of your mind “could we have an alternative to this?” when using your provider’s proprietary features.)

That generalizes to every kind of lock-in: have a viable escape plan, but only execute it if you need or it becomes cheap enough that it won't harm you.

Just having the plan is already expensive enough.

My experience is the opposite: AWS has more features on paper but most of them exist only to tick a checkbox. Azure has more integrations between their offerings, as well as Azure Active Directory, and Microsoft 365.
And Active Directory integrates horribly with everything outside Microsoft.
Azure Active Directory has both SAML and OpenID Connect endpoints… what’s missing?
We use it across many non-MS services without issues. Care to expand?
We’ve had reliability and availability problems esp with azure and also Google. less with AWS.

None are ideal.

Why do I want AD or Microsoft 365?
You personally? No idea. You probably don't. But many (most?) businesses use AD and Office and aren't particularly interested in migrating to alternative solutions.
Yes, Microsoft focuses on the customer (corporate IT), not the user.

This is how the iphone was able to nuke windows phones which were designed to meet the needs of IT

I mainly work in startups. None of them in recent memory have bothered with AD or Office. Okta and Google Workspaces take their place.

Those MS products have an “IBM mainframe” problem. New businesses won’t choose them.

That’s why I say “why do I want them?” If I was starting a new business I’d have no reason to use them.

O365 = teams, docs, outlook, etc. workspace tools

AD = identity, access, privileging, SSO

I know what they are. No company I’ve worked for recently used them.

In my mind they’re legacy business products.

Sure, most businesses use them, but I don’t necessarily believe that is a forever thing. At one point most businesses had mainframes.

Refuse reality at your own peril. These tools are actively used at scale across most enterprises, and likely will be for the majority of your career. More than 95 percent of Fortune 500 companies use Azure/O365.
How many Fortune 500 companies were founded in the SaaS era?

I'm going to guess that the 5% that don't use Azure/Office 365 represent newer entrants to the Fortune 500.

71% of Fortune 500 companies use mainframes [3], and yet they are considered a dead technology with essentially no future. Do you know anyone or anyone who knows anyone who learned how to develop on mainframes in college in the current millennium? It sure wasn't part of my CS curriculum!

Small businesses represent almost half of US economic activity [1] and represent 99.7% of firms with paid employees [2]

[1] https://advocacy.sba.gov/2019/01/30/small-businesses-generat...

[2] https://cdn.advocacy.sba.gov/wp-content/uploads/2021/12/0609...

[3] https://www.precisely.com/blog/mainframe/9-mainframe-statist...

Just to steel man your statement: You should strive for excellence in deployment with all providers (dabble) but have your initial core setup on one cloud (YAGNI principle) until when multicloud capacity is needed (at scale)
Completely agree, though certain aspects, such as running on k8s or Docker might make it easier to switch if you ever decide to, versus say, being tightly coupled with many bespoke cloud products.
My philosophy is to make switching to a new cloud possible. It doesn't have to be easy. We just shouldn't nail our feet to the floor.
Or you could just deploy on metal, which will be cheaper and sufficient for vast majority of cases. Plus you can always migrate to VMs with relatively low hassle.
If you use generic enough services (container hosts, load balancers, VMs, object stores, even hosted SQL DBs, etc), then the multi-cloud journey is not that hard. The challenge comes when you have build a whole architecture on top of some AWS magic that simply does not have an easy alternative in the non-cloud world.
Surely it would depend on the reliability demands of your product.
On top of which, startups often don't have that luxury; you have often need to ruthlessly prioritise your effort.
True. When Nextel was bootstrapping in the 90's, a VP said, "We have to buy gas for the car now. Later we'll buy the seat belts"
Who are you quoting? I said "multi-region from the outset" and later acknowledged that multi-cloud would probably be overkill.
(comment deleted)
This was exactly what I was thinking, its amazing what people read into, probably myself included.
You always only need another one when everything has gone to shit, either from failure or cost from vendor-lock-in, so drinking your chosen providers Kool aid equals taking the reactive route and scrambling to rearchitect when the issues hit.

Multi-cloud is really not a big deal. Main nuisance is billing differences, followed by slight variations in e.g. Terraform config.

Totally agree. If the service you're providing is so important, build your system so it can fly on one engine or at least land safely. Multi-cloud is the equivalence of trying to transfer all of your passengers to a different aircraft mid-air.

Multi-cloud should only be for mission critical infrastructure. Very little infrastructure is mission critical. Most other use cases can be temporarily wallpapered over with an "Under maintenance" page unless there's a good reason otherwise.

Multi-cloud introduces more risk than it prevents. Which is why things like simulated failovers and BCP testing is constantly required.

I take offense with you comment. It's not the first time I'm hearing about multi-region/multi-cloud in online tech forums, however reality doesn't match.

I don't want to be snarky, but when large service providers like AWS have their own crossregion downtime because one snowflake of a service in us-east-1 is down, I kind of dismiss the virtue signaling of high resilient multi-(az/region/cloud) ever existing in practice.

If you can somehow have a separate database per region/cloud, sure, I can understand that, but if you have to shard your database across many clouds, I'd dread having to tame such a beast, especially within a startup.

> dismiss the virtue signaling of high resilient ...

So you're saying it's impossible to improve reliability from 97% to 99% because you can never make it to 100%.

If your single-AZ, single-region cloud is not giving you 3 or 4 9's of reliability out of the box, you are using the wrong cloud.

Multi-AZ and multi-region add complexity and cost much more quickly than they add reliability.

Sometimes it is worth it. Sometimes it is not.

Depends on your needs, but having your data & database multi-az to ensure durability can avoid you having to restart from backups. I'm thinking about an old AWS incident were they actually lost EBS data: https://www.bleepingcomputer.com/news/technology/amazon-aws-... Also make sure your backups are in a different AZ (thinking about OVH ...) or region or even at a different provider.
Thanks largely to k8s, running on multiple cloud providers and your own hardware is a lot more convenient than it was a few years ago. Component interfaces and protocols are a lot more consistent across platforms as well.
> everyone working on this little DevOps/Infra project.

Everyone? That's not going to help.

Maybe Microsoft had just got their AWS bill?
Well I thought that was funny :-)
> We never thought our startup would be threatened by the unreliability of a company like Microsoft

You will be threatened by your own unreliability of building something that's dependant on one region or one cloud.

This is an insidious argument to make. When building a startup you should choose 1 reliable cloud provider and use their best practices to support high availability.
Cross-region architecture will be the first thing you hear about.
No matter the provider, their best practices all say to be multi-region.
Def not true with AWS, unless you reach a particular scale. Not for product market fit. My technology choices would be fully managed services so I could focus on my actual business.
def true with everything. what a ridiculous statement.
Read the "Well Architected" paper. Go multi-region.
Unless eCF has made some major advancements in the last couple years, Amazon’s own retail business isn’t multi-region. So it’d be like the cobbler saying “Buy my shoes!” while wearing none, if AWS were to push everyone hard to have a multi-region strategy.

At least on AWS you typically can find capacity (outside of accelerators) by being flexible on instance types (C, M, R), instance sizes, and availability zones. Sounds like this region OP is in for Azure is constrained such that even this advice doesn’t work.

Multi-AZ and then grow into multi-region if the need arises. Multi-region is a huge lift the moment all your data must live in two regions simultaneously. Very few shops are experienced enough to run clusters across datacenters in a way that can handle the unhappy paths.
(comment deleted)
Multi-region in AWS means building it yourself.

I suspect that the skills for real HA are atrophying because for 99% of the people multi-AZ is enough and most of the AWS stuff supports multi-az automagically.

The problem with multi-region is that it means configuration, and there are probably lots of services that you can't actually configure to be multi-region. Cognito is one off the top of my head. It looks like the various aurora flavors do multi-region, but what about Neptune? SQS? API Gateway? AWS Lambda? MediaLive?

Maybe you can hide all that behind DNS failover, maybe you can't.

Real multi-region is basically means going back to old-school HA, and that was hard to do when it was your data centers. On AWS it'll be even harder.

That isn't to say it's not possible, it's just a tremendous amount of work.

I mean really, if us-east-1 is down 80% of the internet is screwed...so from an expectations point of view does HA of your particular service matter if that happens? Even for a financial outages happen.

Once you have enough people it might be worth it. For a non mission critical startup? No fucking way.

Totally agree, we could for sure have build from the get go multi-region and multi-cloud but we had good reasons not to do it. Depending on the product, technology, ... would actually also strongly recommend almost every startup to do the same.
Seems bold to recommend everyone do the same as you when you are running in to problems you can't solve because of this exact choice you made.
I am still 100% sure it was exactly the right decision. Was however in hindsight probably the right one to choose Azure and/or that data center.
If you go under because of this, will you still be 100% sure?

Everything is for sure until it’s not.

No matter what stage of a service you are at you should have a documented procedure (ideally running a script) that can stand up a working instance of the system.

This has vast benefits for agility and fast development when developers are not always fighting the build system and have a "no fear" attitude about deployment.

If you have that, you can build a system in another region and be able to migrate wholesale to another region with more capacity and not be particularly concerned about the general problem of coordinating the service across multiple regions at the same time.

A startup is about managing risks and spending your time/money appropriately. Your cloud provider running out of capacity isn't an obvious risk especially if it's just capacity for general compute.

For some clouds that seem to be run on a manual process (IBM, Oracle) that would be expected, since they're sort of clunky. For other places (Rackspace, etc) it would uncommon. For a major provider like Azure, well, it's bizarre. I mean, the whole point of cloud is that it's all-you-can-eat.

You would think that this would be something they would advertise/talk about up-front. But who would sign up if that was disclosed?

> We never thought our startup would be threatened by the unreliability of a company like Microsoft, or that they wouldn’t proactively inform us about this.

Yikes, this is totally the first thing you need to come to expect when working with MSFT.

Probably a good learning for the future ;-)
When Amazon S3 was a new thing, when I managed to convince my company move to it, when we just moved to serving some of our stuff from S3, first week, Amazon has an outage.
Every cloud provider will have these issues with specific instance types in specific regions, although the Azure Germany situation sounds perhaps a bit more dire. At my past (much larger) employers we’ve always run into hardware capacity issues with AWS too - we’re just able to work around them.

Building on cloud requires a lot of trade offs, one being a need for very robust cross-region capability and the ability to be flexible with what instance types your infrastructure requires.

I’d use this as a driver to either invest in making your software multi regional or cloud agnostic. Multi regional will be easier. If you’re already on k8s you should have a head start here.

There is a "minimal viable product" of documenting the configuration of your system so you can (1) run development, test, staging instances, (2) jump to another region when necessary, (3) from other disasters.

Ideally you have a script that goes from credentials to the service to a complete working instance.

As much as this happens, I don't feel it's something to be expected or even okay.

The major cloud services are expensive. This extra cost is supposed to provide for cloud services' high level of flexibility. Running out of capacity should be a rare event and treated as a high priority problem to be fixed asap.

Without the ability to rapidly and arbitrarily scale, they're just overpriced server farms.

Some problems can't be fixed (eg. chip supply chain problems) even if you have more money.
>Some problems can't be fixed (eg. chip supply chain problems) even if you have more money.

They can't magic chips into existence, but leaving a major region like Germany high & dry for almost half a year sounds like planning went wrong frankly. If it were a matter of chips I would have thought on a 3+ month timescale they can steal a few from another region that has a bit of fat

> they're just overpriced server farms

That's exactly what a cloud is. It's someone else's datacenter with an API.

A really good API that makes it close to a software defined everything world. Which has promise.
> Without the ability to rapidly and arbitrarily scale, they're just overpriced server farms.

I mean that's what cloud is (outsourced server farm). Sure they also offer services on top, but that's mostly because they want to lock you in, and can charge more for, so it's a win win for them.

And there is no magic here, someone has to get the chips, build servers and connect them to network. And while they will often overbuild for capacity, they will never do it to a degree, where they can't run out, because that would be way to expensive and not financially viable.

I don't think any cloud will ever be able to guarantee to never run out of resources.

> I don't think any cloud will ever be able to guarantee to never run out of resources.

I agree with this, but clearly there's a disconnect between how often people expect these kinds of issues and how often they actually happen. The whole point of the cloud is you pay a premium for the added flexibility. If it turns out that flexibility isn't there when you need it then maintaining your own servers becomes a lot more attractive.

Azure, despite being smaller than AWS, I think has more regions. So each one must be smaller, which likely means less spare capacity.

I also sort of suspect the spot market is less robust there. Lots of Azure is lift and shift on premises workloads, and those aren't using spot. Without people using spot, it's even harder to have spare capacity...

Azure uses much smaller datacenters than AWS or GCP. Microsoft wasn't a big compute user before cloud, and it's a lot easier to manage and build for smaller DCs. Amazon and Google both needed huge DCs before being clouds.
EC2 us-east-1 is chronically stocked out, too. Black Friday is the worst day of the year for this. At work, we pre-allocated tons of EC2 machines we don't really need, to hedge against EC2 stockout coinciding with some kind of incident. Yes, we are part of the problem.
In a former role, I used EC2 in us-east-1 to host the front door e-commerce site for a consumer electronics company. AWS suggested that we go through the Infrastructure Event Mangaement process (https://aws.amazon.com/premiumsupport/programs/iem/) for Black Friday and Cyber Monday, so that staff on Amazon's side could guarantee that they'd have capacity to run our system at its forecasted peak.

The strategy they helped us arrive at was two-pronged:

1. Pre-launch all needed infrastructure. Yes, for all their "cloud scale", it was actually suggested that we preallocate all of our servers the week before, rather than rely on autoscaling.

2. Order capacity reservations for all of those instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capa...). This ensure that, if any of those instances go bad, we'd be able to relaunch them without going to the back of the line, and finding out that there was no more compute capacity available.

Part of what problem? I don't remember us-east-1 ever running out of instances
Message to cloud providers:

List what you do you have available so we can choose.

Do not force users to randomly guess and be refused until eventually finding something available.

Why would they make any promises, or be upfront about their resources at the risk of becoming less attractive compared to competitors with more resources? It’s not like many people are shunning the cloud for that reason today (although maybe they should).
Your price point and the clouds margin is tied to not sitting on lots of unused instances. you want there to be adequate capacity not excessive capacity
It goes both ways: cloud providers don’t want to make promises about capacity, and cloud users don’t want to make promises about usage.

I don’t know about price point. Dedicated servers can be cheaper than cloud in many cases, if you have the appropriate know-how, and the cloud business is very profitable for a reason.

I need big m4n instances with 100gbe for product demos, and spinning them up lately is like trying to get Taylor Swift tickets on Ticketmaster. We end up wasting money running them for days at a time instead of on demand because we’re afraid of losing them.

It’s infuriating that AWS doesn’t have an API that returns a list of AZs with available inventory for a given instance type.

Why not run them elsewhere?

There’s lots of providers apart from AWS/Azure/GCP.

Or buy a machine and put it in your office.

Self hosting can often be cheaper and more available and probably faster than using a cloud.

We used to run demos on a local hardware cluster, but we found that prospective customers were reacting negatively to demos that were not on the same platform they would be running in production (AWS).
I’ve had great experiences running bare metal instances on packet.io but haven’t used them since the acquisition. For accurate benchmarking it was fantastic (and much cheaper than EC2 bare metal instances).
Imagine if they did this in realtime. There's already DDOS attacks happening which are abusing the cloud free trials at scale - this would give them another attack vector.

I can see why they wouldn't want to do this.

It only has to be available to paying customers. Or even customers over a certain paid usage threshold.
At bare minimum there should be a feature like "Give me any VM that closely resembles an E8s_v5 with at least 32G ram". Or "anything from these 4 approved types".

I don't always care if you give me a E8_v4 or a D8 instead, just give something. With all the 100 of variants of VMs that are available, finding an exact match is obviously an unnecessary constraint. Maybe they already simulate this behind the scenes, I don't know, though given the sizes are advertised with HW capabilities I'd imagine they can't really simulate a v4 using a v5 and vice versa.

Only place I've seen compute be treated this fluidly is in Container instance, which is a bad choice for many many other reasons.

(comment deleted)
I think there is some general rule in business that you should not depend on a provider that if they lost your business it would be less then one percent of their revenue. Or be ready when they drop the guillotine.
For anyone getting started, that means no dependencies at all. Even colocating would be out of the question, according to your metric.
Use Azure and AWS so that you're not dependent on either one.

(You could depend on another startup with no revenue).

In the olden days you use to buy computers from Dell and were well under 1% of their revenue. But if they dropped you as a customer, you bought them from HP instead, no problem.
It depends on how long it would take you to find another colocating company. If there is another co-location on the other side of the street you could simply take your computer there - then there is no dependency.
Yes, my company found this out trying to add both a database and a serverless app to our existing infrastructure in Germany West Central in July. They had no ETA for more GWC capacity back then and told us to move to the North and West Europe regions.
People saying "shame on you for not being multi-region" are missing the point: This is a German company with German customers subject to German data residency laws. For them to store German data in a region besides Germany requires getting informed consent from the "data subject", who must be "pre-informed about the potential risks involved in cross-border data transfer". [1] This is why Azure has a dedicated German partition, just as it has a dedicated Chinese partition.

Now, they could go the GDPR/Cookies route and prompt absolutely every user on pageload, but doing so would annihilate the purpose of the law into monotonous smithereens, just as it did with Cookies. Good on them for defaulting to the "more secure" mode, but yes this is a potential consequence.

Happy to hear from any German amigos present if I've got something wrong. (But watch out... you might be putting HN at risk - their servers aren't (likely) in Germany!)

[1]: https://incountry.com/blog/which-german-data-privacy-laws-yo...

Time to sign up for AWS or GCP, then. If you're using kubernetes anyway, you'll be fine with the switch.
Says someone who has never done a large migration of any type…
You should be good to go except for debugging accounts billing monitoring habits documentation security evaluation …
I’ve had capacity issues before with both gcp and aws in smaller regions so not a panacea
This is a good point, but it's a reminder that a lot of these privacy laws are impractical to deal with. When they're universal, it's one thing, but if you're a medium-sized country trying to flex your legislative might, you're going to make the experience worse for your citizens and businesses.
No reason why Azure can't run multiple "regions" within Germany proper. Their current region is in Frankfurt; no reason why they couldn't launch regions in Munich or Hamburg as well. Then German companies could go multi-region while staying fully compliant with German data sovereignty laws.
There are already two Azure regions in Germany: Germany North and Germany West Central.
Really? "No reason"? You can't think of one rea$on?
Not the first time this has happened to Azure, they are always under-provisioned. Move to AWS
This is not as rare as public clouds may lead people to believe. I have had to move workloads around since AWS began (even between public clouds on occasion).

In particular, GPU availability has been a continuing problem. Unlike interchangeable x64 / arm64 instances with some adjustments based on the new core and ram count... if no GPU instances are available then I simply cannot run the job. AMD's improved support has increasingly provided an alternative in some situations but the problem persists.

I recommend doing the work to make the business somewhat cloud agnostic, or at the very least multi-region capable. I realize this is not an option for some services that have no equivalent on other clouds but you mentioned databases and k8s clusters which are both supported elsewhere.

GPUs are better run in your own office.

All cloud providers charge much, much more for GPUs than if you run a local machine.

Cloud GPUs are also a lot slower than state of the art consumer GPUs.

Cloud GPUs: much slower, less available, much more expensive.

Say you want 100 GPUs all inter connected to your multi petabyte data lake that’s being fed by your production workload.

Sure you could buy all that equipment but I’d wager it’s cheaper, more agile, and greater velocity from it being in the cloud

I would argue that the cost profile is different.

Local GPUs are a big up-front cost. But assuming that your workload is stable, in the long run I think local GPUs ends up being cheaper per-hour than cloud.

For startups, it doesn't make sense to make the up-front purchase, fine. But if you're optimizing for long-term (amortized) costs, I'd be curious if cloud is cost-effective.

The long run being three months
An nvidia dgx box is roughly 40k. And that’s not including power/storage/rack Space.

But yes, If a single workstation can meet your gpu training needs then it’ll be cheaper with sufficient usage

This is generally true for all accelerators (I work with cloud and on-prem FPGAs for my startup, Arbitrand).

However, lots of people only need those accelerators once in a while, so time sharing (aka cloud computing) makes a lot of sense and saves a ton of money overall. For FPGAs and some compute GPU applications, not having to handle support for your accelerators is also nice.

For small orgs this makes sense, but this really depends on how big your data sets are that you're training against and how your ML Ops / Data Ops is set up.

GPUs are better run close to your data. If you're training on-prem then your data needs to be on-prem too.

You want to be in a position where you can spin up in a nearby region and pretend it's local and have things be good enough for a while. Properly building out multi-region is hard, and multi-cloud isn't worth it because it improves how you handle rare events (where half the internet is already down) with ongoing operational toil.
Any optimisations you can make? Will have the advantage of saving you money across all platforms/regions
Yes, some are possible and we are already doing that. Sadly will it only delay the time we run out of resources. If we would talk about a few weeks, we could for sure make it, but over 4 months is sadly not possible.
I’ve heard from a friend who works at Microsoft that due to energy crisis in Europe plus their data locality laws, Microsoft is indeed running short on datacenter capacity there and can’t do anything about it no matter how much they are willing to spend.
Very interesting. As mentioned in another post, I am sure they are not trying to screw us or anybody else up. Is after all for sure not in their interest. But not flagging that to users I do not get at all. I would expect to get at least a warning email a week about that, plus warning in the dashboard, but there was literally nothing.
as I’ve heard it actually affects much more than Azure, also all their cloud-based productivity suite.
Big fan of n8n!
Thanks a lot! That is always great to hear!
While you're at it at making your "infrastructure as code" cloud agnostic perhaps take a look at tools like Terraform (the only one I'm familiar with). I've just started the work of defining whatever we need to provision in their notation with the objective that it can be done with a single push of a button in the future.
There is nothing “cloud agnostic” about using Terraform. Anyone who says this has no experience actually trying to implement it.

Terraform has different providers for each cloud provider and the code is not transferable any more than saying if you use Python to script your infrastructure it will be transferable.

Agreed. I've advised people same before. You can build to Kubernetes cluster-agnostic (mostly), but the stuff that gets you to that point will be very cloud-specific.

The reason for Terraform, and it's a good one, is your Terraform-related tooling doesn't have to change, e.g. if you route all your infra change approvals through Terraform Cloud), and you can coordinate multi-service changes, e.g. update Auth0 infra to do X, then AWS to do Y.

It has actually been done that way. For technical reasons is sadly a move to a new data center even with that very complicated and time consuming.
This is nothing new, Azure has been having capacity problem for over a year now[1]. Germany is not the only region affected at all, it's the case for a number of instance types in some of their larger US regions as well. In the meantime you can still commit to reserved instances, there is just not a guarantee of getting those instances when you need them.

The biggest advice I can give is 1. keep trying and grabbing capacity continuously, then run with more than what you need. 2. Explore migrating to another Azure region that runs less constrained. You mention a new region would be complicated, but it is likely much easier than another cloud.

1. https://www.zdnet.com/article/azures-capacity-limitations-ar...

> In the meantime you can still commit to reserved instances, there is just not a guarantee of getting those instances when you need them.

... wait, what? How are they defining 'reserved'?

RI are a billing concept (discounted rates for long term commitment).

Dedicated capacity exists, but it’s different (compute reservation groups or dedicated hosts).

You can combine CRG/DH with RI for the desired effect, although IMO it’s a bit confusing.

(Azure employee)

It's a billing mechanism. You pay less if you guarantee use. Sadly, they don't guarantee availability of things to use :)
Yup, I'm aware of reserved instances (from an AWS PoV) but I always assumed they were, at least theoretically, well, reserved!
In the AWS context, they are, in fact. That's the original point of them - so during big AZ failures your reserved instances had first dibs on the available capacity.

The billing thing became more of the point as big AZ failures are so rare.

On AWS instances are only reserved if you reserve a specific instance type in a specific zone. Reservations across multiple zones or savings plans don't reserve capacity.
With dedicated tenancy AWS Reserved Instances are physically reserved for you.
>Azure has been having capacity problem for over a year now

This is also a problem internally for Microsoft. GitHub and LinkedIn still operate in private datacenters due to Azure capacity issues

(comment deleted)