I installed the W3 Total Cache plugin last night and enabled about 1/2 of the features. Everything seemed fine initially so I left it alone. Today I went to write a post and noticed my site was down. Yikes! No idea how long it was down because no one bothered to tell me (thanks for nothing readers! :>).
Since the last thing I changed was adding the W3TC plugin, I decided to remove that. Since I couldn’t get the site to load, I had to figure out a way to do this manually. Thankfully I stumbled across this post:
I followed the directions there (minus the .htaccess steps since I’m running on Windows/IIS versus Linux/Apache) then killed all the PHP and W3WP processes related to my site that were running. They kept popping up new ones so I stopped the app pool, then tried again and was able to kill them all. After that I restarted the app pool and hit the URL – all better! Yeah!
I think I’ll avoid that plugin now.
Today I noticed we were getting an increasing amount of spam on one of our form pages. I was curious to see if all of the user IP addresses were the same (in which case I’d just add them to the IIS7 IP Restrictions list). To quickly and easily figure this out I decided to use LogParser. Besides just querying for the page though, I wanted to add an additional condition to exclude rows that came from a certain internal IP address that we use for monitoring.
Here’s a generic version of the query I used:
LogParser.exe -q:on "SELECT * FROM x:\wwwlogs\W3SVC1\u_ex130411.log WHERE cs-uri-stem='/SomePage/' and c-ip<>'10.10.1.100' >c:\temp\PageVisitors.txt"
I wanted to see the full logged data for the request, but if I didn’t, I could have very easily just pulled the IP addresses using:
LogParser.exe -q:on "SELECT c-ip FROM x:\wwwlogs\W3SVC1\u_ex130411.log WHERE cs-uri-stem='/SomePage/' and c-ip<>'10.10.1.100' >c:\temp\PageVisitors.txt"
You can see that I’m piping the results to a text file (the “>c:\temp\PageVisitors.txt” part) so that I can easily deal with the results. You may also want to take note that I’m using the “-q:on” flag which runs the command in Quite Mode. If you don’t set this flag then LogParser will show results one page at a time. When piping to a text file rather than the command prompt window, you obviously can’t hit a key for “next page” so without this flag the query will actually hang forever if there is more than one page worth of results.
Microsoft Azure has virtual machines (their “VM Role”) for as little as $9.36/month. Wow – that’s a crazy low price! Let’s dig a little deeper in this post though because there seems to remain a lot of confusion on the total cost of a solution.
Let’s compare the Azure VM Role to OrcsWeb’s Cloud Server. OrcsWeb pricing: http://www.orcsweb.com/hosting/pricing/
The base $99 offering at OrcsWeb includes: 40 GB disk, 1 GB RAM, and 1 vCPU. It also includes:
- Cloudy features including automatic fail-over to another cluster node if there is a hardware failure
- 250 GB monthly data transfers
- A single rotating daily backup for DR purposes
- Both email and telephone support with a 15 minute average response time. If you want administrative support (where OrcsWeb fully administers your server) and support to help you specifically isolate and troubleshoot issues specific to your application, that is covered with the Complete Care Managed Services (CCMS) for $125/month. That also adds 14-day retention to the backups.
How does Azure compare when adding in a few other key features? The base at Azure ($9.36/month) includes 768 MB of RAM, so it’s a lower-resourced solution, but still, we’ll use that to start the comparison. Microsoft Azure pricing for VMs: http://www.windowsazure.com/en-us/pricing/calculator/?scenario=virtual-machines
- Automatic fail-over: This might be included – that’s unclear in their materials.
- 250 GB monthly data transfers +$29.40/month
- Azure does replicate data for DR purposes in a similar fashion that OrcsWeb does.
- Support – this is where it gets interesting. Azure support plans and pricing are linked here: http://www.windowsazure.com/en-us/support/plans/
The included support with Microsoft Azure (which would put the hosting plan above at $38.76/month so far) is community forums only. Want to open a ticket or call someone? You need to upgrade support levels. Their next level of support (Developer) is an additional $29/month (now we’re up to $67.76) and allows for web-based ticket submissions with a “Fastest Response Time” of up-to 8 hours. Note too that this is the initial response time – not time to resolution. Want to be able to pick up the phone and speak with someone? You can upgrade to the next level of support (Standard) for an additional $300/month (now we’re up to $338.76). That level gives you three (yes, only 3) phone calls per month – which are “call backs” within 2 hours from the time you call them. If you want to drop the response time to 1 hour it takes the Professional Direct level of support at $1,000/month (yes, so $1,038.76/month for a VM!). How about a 15 minute response time? That’s the Premier level of support which starts at $30,000/year or approximately +$2,500/month.
So, if you want a super-cheap Windows VM with no support, Azure might be something to consider. But in my experience, even with development and test machines, support is important and when you need something you probably don’t want to cross your fingers and hope someone in the community forums will help you. Want to be able to send an email or pick up the phone and speak to someone in support, then you are looking at an Azure solution priced at least $338.76/month compared to an OrcsWeb Cloud Server priced at $99.00/month (or $224/month if you want 14 days of backups and complete hands-off system administration).
I hope this helps clarify VM Role pricing at Azure. Happy hosting!
Installing Windows 2012 Server Core plus IIS8 isn’t as hard as you might think. At least it isn’t as hard as I thought!
Server Core can be intimidating to long-time Windows users who expect to see the comfortable familiarity of the Windows desktop (though that has also changed with Server 2012). Rather than a Windows desktop you are presented with a command window and required to make changes through text commands. Hey, what is this – Linux?!?
You can relax though. There are actually ways to still manage your server via GUI through the use of various remote tools. That gives the benefit of the smaller footprint and attack surface on your server, but still the ease-of-management that users are use to.
Here’s a great recent post with a few quick steps on getting Windows 2012 Server Core installed (not many steps there – its super-easy) then the command lines needed to install IIS8 and enable it for remote access. Then the few steps required to get connected remotely to manage your server.
Check it out – it’s likely way easier than you expected!