Cloud hosting providers/planning? (UK)



  • Hi all,

    I'm a developer working in a place that is settled on the Microsoft stack (ASP/ASPX/MVC, C#/VB, & T-SQL). We have our own virtual Windows+IIS+SQL Servers in a data center. I would like to experiment with deploying our applications into a managed cloud solution: somewhere where I can get an IIS and SQL VM and no longer have to worry about purchasing/maintaining the hardware.

    Does anyone have any recommendations? Googling just gives me lots of marketing-heavy options,and it's hard to tell the experts from the cowboys. Perhaps more importantly, is there anyone I should avoid? Does anyone have any experience of doing similar thing, and can share their experiences? (I'm sure there are plenty of traps!)

    Cheers,
    Richard.



  • Is it government / health care?



  • No, just a small private business with a handful of clients.

    My experience over the last few years (here and previous employer) was always with buying hardware and the Microsoft stuff, then hosting internally and/or in a data center. The more I think about it, the business is too small to cope with all the IT Infrastructure: I think if we can concentrate on the coding, we'll do better.



  • Amazon AWS or Azure are fine, if you're ok doing the admin work yourselves. I don't know how "managed" you're looking for.

    I ran a relatively busy web analytics app on 5 AWS VMs, three (or more, but usually three) web servers and two beefy database servers. Managing it was a breeze. My only gripe is getting new VMs in AWS took somewhere between 15-30 minutes-- it was really slow. Maybe it's improved in the last two years. Also poking holes through the firewall to get at the SQL servers was kind of a bitch.

    The cost of entry is so low, why don't you just spend a couple days giving it a try, rather than asking here? If you can install your app on a blank server over RDS (and it'd be a real WTF if you couldn't), there should be no hitches.



  • OK, I did wonder about Amazon or Azure, but I wasn't sure where to start. I'd be happy to experiment, but I've gone to http://aws.amazon.com/free/ and am just bamboozled by the number of available options. Maybe my buzzword dictionary is out of date, but I just want two VMs, one with Windows+IIS, and another with Windows+SQLServer, which I can presumably administer via some sort of VPN/RDC link. In fact, for a test, one VM would be quite enough. Do I need EC2 or RDS? One of each?

    Azure looks simpler, but I don't quite understand all the 'Azure website' stuff which seems to have some strong integration with Visual Studio. I want to simply deploy existing web sites and databases to 'the cloud', not create new 'Azure web sites' in Visual Studio. According to http://azure.microsoft.com/en-gb/documentation/articles/choose-web-site-cloud-service-vm/ I think I need the 'Cloud Service' or 'VM Service', rather than 'Web site'. But I'm not sure which of those two would make sense. I'll see if I can experiment with both.

    I was also wondering if there were any common gotchas that I need to look out for (in general, or either of those platforms).



  • Back when I used AWS, the RDS option didn't exist for database servers. I just started up a VM and installed SQL Server the way I would have with a normal server. This works fine, with the caveat that you're then responsible for your own backups and you also have to deal with your own licensing.

    The only gotcha back when I first implemented it was that stopped VMs would delete themselves. So you had to be careful to always "suspend" them instead of "stopping" them. But Amazon's fixed that for ages. Another slight gotcha is if you use AWS's web server load balancing, you'll lose the original IP from HTTP headers (but it adds a new header with the original IP, so you can work around it easily.) Again, back when I started, AWS load balancers weren't "sticky", which can be a huge gotcha, but that's been fixed for years now. (Although it was kind of fun creatively re-writing our web server so it didn't require any session state-- easy for a web analytics tool, probably a lot more complicated for something that stores more session data than just a cookie.)

    Any gotchas you come across are going to be due to your own project more than anything, most likely. An install of Windows Server is an install of Windows Server; it don't care if it's virtual. Like I said, it's cheap. Allocate yourself a hundred bucks and a couple days and just dive in.



  • If it needs to be in the uk for legal reasons, have a look at ukfast. If it doesn't, azure is in Ireland so you won't have a problem with round trips.

    Amazon and azure will not touch anything gaming related as they are US based companies.


  • Discourse touched me in a no-no place

    @richw said:

    Do I need EC2 or RDS? One of each?

    You go to EC2 and create two Windows instances. Then you do the RDS thing to get SQL Server. Or you fire up another EC2 instance and install it yourself.

    Blakey's right, just spend a couple of days experimenting and see which works for you.



  • Amazon has Euro-data centers also. (I can't remember in which cities, though.) However, Amazon gives you (used to?) a little discount if you use their big Virginia data center.

    EDIT: I looked it up. Ireland and Frankfurt. Also "Beijin" which I think is near Beijing but a little cut-off.



  • Has anyone used Rackspace? They are pricey, but I've had good 3rd hand experiences with them. I don't believe they are in the UK though.


  • FoxDev

    @monkeyArms said:

    Has anyone used Rackspace?

    give them a pass. not worth the money.

    I use Digital Ocean.

    great prices, good support, and they have a Data Center in London, so you'll have no issues with data locality


  • Discourse touched me in a no-no place

    He needs Windows Server though.


  • FoxDev

    @loopback0 said:

    He needs Windows Server though.

    oh.... whoops.

    that's DO out the window.

    my advice with rackspace stands. way too expensive for what you get, and their uptime might be the best around, true but compared to the other big guys they're not that far in the lead.



  • @accalia said:

    give them a pass. not worth the money.

    Agreed - I haven't figured out a way to make them financially viable for me, being a one-man operation. They are good if you can afford them.



  • I was not aware of that.



  • Really ... Be having a look then



  • Sorry guys, I should have explained the 'UK' bit. I'm after somewhere that will be friendly with our business being in the UK, so open for tech support etc. at the right times. I guess people like Microsoft and Amazon are big enough to cover that sort of thing anyway.

    I had looked at Digital Ocean previously, but as noted, they don't do Windows. As much as I'd like to investigate porting our apps to a different architecture, that's probably a step too far. 😄

    I'll have a look at Azure and Amazon, seeing how far I can get with the free trial stuff. Thanks for the comments guys.


  • Discourse touched me in a no-no place

    We've used Amazon a fair bit (and still do for some things). They were quite thoroughly reasonable, and the documentation is pretty clear by comparison with most of the competition. At least a few years ago, the main tricky thing was making sure that you were using EU hosting instead of US (this was a major deal for us given the data we were working with at the time).



  • Hi all,

    Thanks again for the pointers and encouragement.

    I tried to play with AWS, but their registration process barfed at the verification stage. However, Microsoft have saved the day: setting up a Windows Server VM with IIS was a breeze, and I've also made some progress setting up an SQL data source. I've deployed a couple of our web sites, although one is giving me grief (kind of normal when dealing with IIS, I find!).

    One thing I have not got my head around yet is the charging. I was able to pick any Microsoft OS etc. and presumably the whole shebang (CPU/memory and their software) is charged for on a pay-as-you-go basis. But I'm not sure how I'm supposed to predict that in advance. Maybe I need to give in and read even more documentation.

    Based on what I've seen to far, it's definitely worth a play (should anyone else be on the fence).


  • Discourse touched me in a no-no place

    For a VM is charged hourly.
    The instance running for 1 hour = 1 hour charge. Running for a day = 24 hour charge. Etc.

    They have a calculator for estimating it.


  • FoxDev

    @loopback0 said:

    For a VM is charged hourly.

    rounded up IIRC (so running for one hour and one minute is a two hour charge)

    i'm not sure if that really is how it's billed but i would tend to assume it is, for the purposes of estimating. if you do then the worst you can be is overestimating charges by an hour.


  • Discourse touched me in a no-no place

    If you're running the instances full time and paying monthly, rounding up becomes largely irrelevant anyway.


  • FoxDev

    @loopback0 said:

    If you're running the instances full time and paying monthly, rounding up becomes largely irrelevant anyway.

    also true.

    some hosting providers offer a slight discount for full monthly use

    for example: Digital Ocean offers a 1GB VM for $10/month or $0.015/hr you get charged by the hour until you hit the month charge (after about 667 hours for that particular offering. the number varies for different size VMs) after which point the remainder of the month is "free" (because you switched to paying for a month at $10)

    IIRC EC2 and Azure have similar offerings, but i think you have to pay in advance for them to apply that...


Log in to reply