3 ms·
That's because Azure is a poor service with mediocre support. My anecdotal experience: I spent a couple of weeks (!) setting up our environment (Bitbucket, Dja
by stevenjohns 8y ago
That's because Azure is a poor service with mediocre support.
My anecdotal experience: I spent a couple of weeks (!) setting up our environment (Bitbucket, Django, Ubuntu, Dockerized) on Azure App Service and Azure Pipelines. Their documentation was incomplete, out-of-date and MS support staff struggled to help if you didn't have a Windows machine (their RDP software doesn't support Linux, Skype for Business doesn't support Linux and normal Skype for Linux doesn't support screen sharing).
Little things like trying to SSH into any machine so that you can execute commands on your docker container (for, say, database migrations or to check logs) is almost impossible. If it wasn't for the help of a lot of people on #docker in Freenode I would probably still be working on it.
I had to use Google Hangouts with a Microsoft support person's personal gmail account, while he was connected over VPN (since he was based in Shanghai), so I could show my issue. The support person was extremely pleasant to deal with and understanding, though, and he went above and beyond to help get my issue resolved even though it turned out to not be from his department.
However, after getting set up, I noticed I was getting 12 second (!) responses from an API I had written just to retrieve a logged-in user's first name, last name and email in JSON. This API resolves locally in 20ms - including layers of authentication.
This turned out to be a known issue when running a managed "Azure Database for PostgreSQL" service and was common on MS support forums.
After reaching out to Microsoft support for Azure Database for PostgreSQL, their response was this, copy-and-pasted:
> As you are currently using Basic Tier (2 vCores, 51200MB), the bad performance is expected.
> When comparing with the performance in your VM, the on-prem is supposed to be better than cloud even within the same hardware environment.
> Please give it a test in higher tier and configure it with a compatible settings compared with your VM. In the meanwhile, you can monitor the slow queries via Query Performance Insight to find out what queries were running at a long time when those API were called.
> Pricing tier information can be found at https://docs.microsoft.com/en-us/azure/postgresql/concepts-pricing-tiers#storage https://docs.microsoft.com/en-us/azure/postgresql/concepts-p... .
...they tried to upsell me on the higher tier database 3 times in that email chain, believing that this level of performance was acceptable for my database tier.
Of course the next tier up from the $60/month that I was on was $160/month, and since we only have maybe two concurrent users at most it didn't make sense to triple our costs just to avoid 12 second database calls.
I moved the entire service to AWS last week. The set up was painless and swift. Using equivalently priced services, the API now resolves in 50ms.
I don't think I'll ever go back. Not even for free.
- rachelagy 8y agoI’m sorry you had that experience; your feedback is very helpful to us in pointing to where we can improve. Our storage layer which underlies the Basic tier has variable IOPS, and in this case it sounds like you were on the receiving end of a noisy neighbor. Our General Purpose and Memory Optimized tiers deliver more predictable IO and do not show the same behavior as the Basic tiers. That said we’re always working to improve all of our offerings, including Basic, and hope to provide a better experience for you in the future. -Rachel, from Azure Database for PostgreSQL
- stevenjohns 8y agoI'm unsure why you're responding to this. There is no planet where 12 seconds latency is appropriate or a consequence of a "noisy neighbor" or not "predictable" or whatever you want to use to rationalise it. I don't believe your reasons because I had two Azure Database for PostgreSQL instances in two different locations (yes, I moved it across as part of troubleshooting) yet experienced the same levels of performance. The product that you charge ~$60 a month for is fundamentally broken. It is unusable for any application. If you are genuinely sorry, I'm happy to give you my company's contact details so you can refund or credit the last few months of what we paid for your service. Otherwise it's this type of empty response and lack of responsibility (or desire to correct the problems, or even correct your marketing material to emphasize what kinds of latency to expect) that led me to instruct my management and ultimately lead the move over to AWS.