I have several ASP.NET web apps running on an S1 instance. I also have a WordPress site running as well. They were all working fine. Suddenly I am getting "The service is unavailable" for every one of my web sites. (I have other site on the free F1 tier that are working fine.)
Has anyone else experienced this? Is this normal?
It seems that you've achieved your free quota. Check if the other web site are running in the same subscription, because as long as I know, when you reach the free quotas, all of your web sites will stop.
https://azure.microsoft.com/en-us/blog/bandwidth-quota-changes-to-the-free-offer-of-azure-app-service/
While Thiago's answer isn't directly correct for web apps running on an S1 instance, his answer is helpful for those on F1 instances.
The included bandwidth on F1 instances have a daily quota of 165 MB per day across all Web Apps (10 Max) per region. This is summed up to be 5GB of bandwidth per month per region. This quota is enforced on a daily basis and your Web Apps will be suspended for the reminder of the day if met.
Azure Subscription Limits
Related
I have a couple unrelated websites that I host using the free subscription of Microsoft Azure. They are currently all under the same Resource Group and same App Service plan (though I don't understand those concepts well enough to know if they should or shouldn't be).
In the past, I've had a problem with individual apps eating up large amounts of some resource, like CPU Time or Data Out. The issue is that they all share one quota... so if Website A has a problem that consumes all the CPU Time for the day, then Website A, Website B, and Website C ALL go down until the quota resets, even though Website B and Website C aren't contributing to the problem.
In short, how do I prevent that so that each website has its own quota (not a shared quota)? Can I separate the websites into different Resource Groups? Different App Service plans? I tried to understand Microsoft's documentation on how these quotas work, but I was unable to find the answer to my question.
Thanks!
I have a couple unrelated websites that I host using the free subscription of Microsoft Azure. They are currently all under the same Resource Group and same App Service plan (though I don't understand those concepts well enough to know if they should or shouldn't be).
Resource groups define a way to group multiple related azure resources together. Typically all resources in the same resource group are deployed together, for example using ARM/Bicep templates.
An App Service plan defines a set of compute resources for web apps to run.The free tier provides 60 minutes of cpu time per day. You can host multiple web apps on the same plan, as you do. But in that case they all consume parts of that 60 minute cpu time quota.
In short, how do I prevent that so that each website has its own quota (not a shared quota)? Can I separate the websites into different Resource Groups? Different App Service plans? I tried to understand Microsoft's documentation on how these quotas work, but I was unable to find the answer to my question.
If you do not want to share the cpu time between the multiple web apps on the same app service plan you can create a free tier App Service Plan per web app, and deploy each web app to their own dedicated free tier App Service Plan.
I have ASMX webservice with 1 MSSQL Database and a Single Table.
I have currently deployed it to Azure in the App Service
I have upgraded from Free Trial to Pay Per Use Plan.
I'm really confused with the App Service Plan
The ASMX Service is called by a Desktop application and it only has a few methods,just to fetch and return data from database.At max 100 users will be using it and may be a maximum of 1000 method calls may be made.
What does 60 minutes/day mean? The webservice can function for only 60 minutes?
I'm really confused.Please advice
Think of the minutes listed similar to a consumption plan on Azure Functions. When your website is responding to requests, it active and your "on the clock." When the site has been idle for a while, it will effectively go to sleep and you are "off the clock." Free and shared tiers are not "Always On". If your compute minute usage exceeds the quota (60 or 240 minutes), then Azure will return a 403 message to the browser and your site is unavailable until the quota resets for the next day. Free and Shared plans are really not designed for production. If you think you can squeeze your 1000 method calls into those time limits, great...it may be a cheaper solution. But you should expect the possibility of a 403 being returned and your request not being fulfilled. If your desktop app is important and really needs this service, you are probably better off paying for Basic (B1).
I'm trying to understand the correct way when hosting a web service using Windows Azure.
After reading some of the documentation available, I have reached these lines:
Windows Azure takes the following actions if a subscription's resource usage quotas are exceeded in a quota interval (24 hours):
Data Out - when this quota is exceeded, Windows Azure stops all web sites for a subscription which are configured to run in Shared mode for the remainder of the current quota interval. Windows Azure will start the web sites at the beginning of the next quota interval.
CPU Time - when this quota is exceeded, Windows Azure stops all web sites for a subscription which are configured to run in Shared mode for the remainder of the current quota interval. Windows Azure will start the web sites at the beginning of the next quota interval.
I was always under the impression that using cloud solution will prevent such events, as I really don't know a head of time what needs my web service will have, and that the cloud will provide the resources as needed (and off-course I will be charged for them) -
is that assumption is wrong?
EDIT
I found this great post that really explains Azure perfectly
Scott Hanselman - my own Q&A about Azure Websites and Pricing
If you are hosting the Windows Azure Website in the Shared mode, although you are paying, there are certain quotas that are in place because in the background you are basically sharing the resources with other websites which are hosted on the same Virtual Machine.
If you are hosting using the Standard mode, then you no longer have quotas and you will not experience this issue. As an added bonus, you can now setup Autoscale to automatically scale out your website under load.
Azure provides you different scalability levels according to the method of hosting you pick. For example if you host your web service on an azure web site you can't scale to thousands of servers. If you host your web services in a cloud service you can scale much further.
In Azure the scalability does not always happen transparently. In the case of a web service your choices are "azure web sites", "azure mobile services" and "azure cloud services". None of these will provide transparent scalability. You will need to define how you want scalability to be processed by azure. Most of the time you can do it in your azure management portal and define "Auto-Scaling" based on your pre-defined metrics as in "total amount of memory used" or "compute power used". Azure helps you gather metrics from a distributed environment, define scaling rules and scale without worrying about the underlying infrastructure but you will need to glue these pieces together as it defines how much you will get billed as well.
Hope this makes sense.
My 3 months trial account Windows Azure has already been disabled in 3 weeks. How's that possible? I had nothing on my project, just a simple Asp.Net web page.
I don't think anybody knew my page and made constant requests.
I can't find a statistics section on Management Portal to check what was my traffic...etc.
Does anybody know where I can check my Hosted Service's statistics?
Thanks
The trial provides 750 compute hours monthly. Once you deploy your app, the meter is ticking. That is, as long as something is deployed, it's a metered resource. Whether consuming 0% or 100% cpu/network/memory, you pay hourly.
Now: If you deployed a single Small instance for your asp.net site, you shouldn't have consumed 750 hours in 3 weeks. Is it possible you deployed with Medium instances? Or deployed with 2 Small instances? Do you have more than one Role in your deployment (since each would have at least one instance)?
One bit of advice I give, when doing dev work: at the end of the day, when you're not actively working on a project, delete the deployment (you can always re-deploy to the same place later). This helps save tremendously on consumed hours.
You aren't charged based on access to a hosted service (i.e. compute instance). As long as you have something deployed there, you are charged. No one can ever go to it and it still costs you money.
At the portal, you have to delete whatever hosted services you have there in order to preserve credits. For example if you had up both a Production and a Staging instance, they would charge you compute hours for both. You have to actually delete the instances in order to conserve compute hours on your bill.
As for stats, the only way you can get access stats that I know of is by using the azure diagnostics features. They used to have a lot more detail on their bills (in / out transfers, etc) but the bills are a lot shorter now.
I'm considering to join the Windows Azure Platform Introductory Special, but I'm a little bit afraid of losing money with it. I don't wanna develop any fancy large scale application, I want to join just to learn Azure and do my experiments, what should I be afraid of?
In the transference, it says: "Data Transfers (per region)", what does that mean?
Can I put limits to stop the app if it goes over this plan in order to avoid get charged?
Can it be "pre pay" instead "bill pay"?
Would it be enough for a blog?
Any experiencie so far?
Kind regards.
As ligget pointed out, Azure isn't cost affect as a host for an application that can be easily deployed to a traditional shared hosting provider. Azure's target market are those that want dedicated resources without the need to micro-manage the infrasture and the capability to easily scale up/down based on demand.
That said, here's the answers to the questions you posted:
Data Transfers are based on bandwidth in and out of the hosting data center. bandwidth for communication occuring within components (SQL Azure, Windows Azure, Azure Storage, etc...) in the same datacenter are not billable.
Your usage is not currently capped when the free quotas are used up. However, you will recieved warning emails when those items approach their usage threadsholds.
There is the option to pay your subscription using a PO, but the minimum threshold for most of these operations is $500/month. So as a hobbyist, its unlikely you're wanting that route.
The introductory special does not provide enough resources for hosting a 24x7 personal blog. That level includes only 25hrs of compute resources. Each hour a single instance of your application is deployed will count against this, even if the application received no traffic. Think of it like renting office space. You still pay rent on the office even if there are no customers there.
All this said, there's still much to be learned with the introductory special. The azure development tools allows you to work with Windows Azure and Azure storage locally and get a feel for how they work. The introductory special then lets you deploy those solutions so you can see what works and what doesn't (not everything that works locally works hosted).
I would recommend you host your blog somewhere else - it's a waste of resources running it on Azure and you'll find much cheaper options. A recently introduced extra small instance would be a better choice in this case, but AFAIK it is charged separately as of now, e.g. even when you have an MSDN subscription those extra small instance hours do not count towards free Azure hours that come with the subscription.
There is no pre-pay option I know of and it's not possible to stop the app automatically. It'll be running until the deployment is deleted (beware! even if suspended/stopped the deployment will continue to accrue charges). I believe you will be sent a notification shortly before reaching your free hours threshold.
Be aware that when launching more than 1 instance you are charged for every hour of every instance combined. This can happen for example when you have more than one role in your Azure project (1 web role + 1 worker role - a separate instance will be started for each role).
Data trasfer means your entire data trasfer: blobs/Table storage/queues (transfers between your hosted service and storage account inside the same data center are free) + whatever data is transfered in/out of your hosted application, e.g. when somebody visits your pages. When you create storage accounts and hosted services in Azure you will specify a region that will be hosting your account/app - hosting in Asia is slightly more expensive than in Europe/U.S.
Your best bet would be to contact Microsoft with these questions.