Can I install WAMP on Microsoft Azure (Bizspark account)?

I have got a Bizspark account from Microsoft and they are providing a basic Azure account. I have been told that it can run PHP, however I would like to use a more tested solution like WAMP. On top of that, I want to place a quite heavy WordPress / BuddyPress installation (that I hope will bring a lot of trafic 🙂

Has anyone done something similar to this? If so, what is your experience / pitfalls etc.?

Read More

Thanks
Stelios

Related posts

Leave a Reply

2 comments

  1. Yes, you can do this. At the end of the day you are just using Windows Server, so anything that installs there will install in the cloud as well. I have done this myself for hosting WordPress in Windows Azure.

    However, there are some pitfalls here. Mostly the pitfalls are around the M (MySQL). To setup MySQL in Windows Azure is not really that hard, but you have several considerations on how to make sure it is always available. You can:

    1. Setup a single instance of MySQL in
      a role and store the db on local
      disk (this is a bad idea).
    2. Setup a single instance of MySQL in
      a role and store the db on a drive
      (blob backed storage)
    3. Setup 2 instances of MySQL to each
      point to a shared drive
      (hot-failover). Only one drives will
      be able to mount. Now, you have reliability and failover, but a single instance at a time working for you.
    4. Setup 1 writer of MySQL on a drive,
      and multiple readers on a snapshot
      of a drive. Put in some logic via
      connection strings to make sure only
      writes goto a single one and reads
      to the others. Snapshot every X
      mins to update readers.
    5. Setup multiple instances of MySQL
      and use native replication features
      (each storing to local disk) and
      rely on that if you lose an
      instance.

    There are probably more permutations, but the gist of the problem is how you scale out MySQL to be available and reliable. In Windows Azure, you don’t get to rely on the fact that the local disk will always be around or that you will always have the same instance. In fact, you can guarantee that your instances will be down for some period of time each month and eventually, given enough time, you will lose the local disk.

    Overall, with multiple instances however, you can guarantee they won’t be down simultaneously (to the service SLA level at least). So, you need to make sure MySQL works with multiple instances (or live with single instance downtime) and that your data is backed by blob storage to guarantee it is persisted.

    Or you can scrap all that crap and just use SQL Azure, which solves all those problems. So, it become WASP. SQL Azure can also be more economical as well for smaller DBs.

  2. Or you can scrap all that crap and just use SQL Azure, which solves all those problems. So, it become WASP. SQL Azure can also be more economical as well for smaller DBs.

    Ditto.

    Installing MySQL on an Azure role is not a good idea for plenty of reasons, most notably (lack of) scalability and reliability. (That’s just for deploying on Azure, MYSQL itself is great)

    To set it up remotely reliably you’re going to need a dedicated instance which will run you at least $40 a month, going with SQL Azure is $10/Gb, or free if you get an introductory offer or Bizspark.

    If you’re just looking to play around with a single instance app, I’d suggest you rather use SQLite or some other in memory db, it’ll be a lot less painful.