To Azure or not to azure

Lately we been moving website into the cloud, but before answering the question to azure or not to azure, perhaps we should find out to cloud or not to cloud…

I think there is no definite answer to this question, and to see if your project fits into the cloud, you should look into what the project requirements are. For example, my recent client’s business requirements are:

  • the site Go viral
  • Lean start-up
  • Low to minimum IT maintance costs
  • Entrepreneurial networks

I mean, the above are like the perfect recipes to get your application into the cloud.

After deciding we should put our project into the cloud, we start comparing with cloud system to use, Amazon EC2, Google App Engine or Azure.

Amazon EC2

It is a virtual server that works exactly like a dedicated server. It is platform free, which allows you to move your existing application to cloud with minimal friction. However, IT maintenance cost will go up. EC2 seems to be a very strong candidate, but will the current project works better in IaaS or PaaS?

PaaS vs. IaaS

  • PaaS – Platform as a Service
    • No infrastructure maintenance
    • Setup is less complex
    • Built-in developer tools
  • IssA – Infrastructure as a Service
    • Total control over the system
    • Amazon EC2
  • PaaS is a better fit for FavorLog
    • Overkill to manage only one project
    • Can be setup and deployed in an short amount of time

Therefore, we decided to drop EC2 and go with PaaS, and we are left with 2 choices, which are Azure or App Engine

Azure vs App Engine

We will briefly look at both platform in the following categories:

  • Performance
  • Storage
  • Development Environment
  • Interoperability

Performance

They both exhibit great hardware performance under stress test and performance test. Also, they both have good caching mechanism. Azure has AppFabric and .NET caching and App Engine has Memcache

Storage

Azure offers SQL Azure database, Table Storage, Queue, Blob and Window Azure Drive.

  • Up to 50 GB of blob for file storage
  • Fast access Table Storage
  • Built-in ADO.NET framework for SQL Azure
  • Queue used to send email and prevent loss of requests
    • App Engine provides App Engine Datastore, Google Cloud SQL and Google Cloud Storage, however it is lacks a relational database. Google’s startting price is cheaper, but if the website reach the same number of users, the prices are similar.

      Development Environment

      • Azure
        • Visual Studio with build in debugger

        • Visual Studio with one-click deployment
        • Staging Environment
        • Multiple Language support including C#, F#, Node.js, PHP … etc
      • App Engine
        • Eclipse as IDE
        • No Staging environment
        • Support only Java and Python
        • Real time log for production environment
      • Azure offers more comprehensive development environment support

      Interoperability

      Azure can be integrated with other existing system

      • Clear separation of concern with web role and worker role/li>
      • Easy integration with Windows Communication Foundation (WCF)/li>
      • Node.js support/li>
      • Facilitates mobile integration

      Azure allows various database and webserver to run on the platform while Google App Engine is restricted to its own application

      Other thoughts…

      Hm… after some research

      • BizSpark(Microsoft entrepreneurs program) offers $3,700 annual Windows Azure support
      • BizSpark Plus offers startups up to $60,000 in Azure
      • More than 35,000 startups in BizSpark since 2008
      • More than 2,500 network partners including venture capital firms, university incubators, consultants and angle investors
      • Apple’s iCloud runs on Azure

      Seems like we want to push our client with Azure wasn’t a bad idea…

      Please do leave a comment about what you love or hate about cloud, azure, app engine or ec2. Cheers…

      By Michael Siu

Tagged with: , ,
Posted in .NET, Azure, C# Programming
3 comments on “To Azure or not to azure
  1. Telemnal says:

    How much Microsoft paid you ?

    • Bryan Xu says:

      Microsoft didn’t pay us to post this article if that was what you were referring to. You are free to disagree, just be respectful please.

  2. johnholmes says:

    So azure does not have dedicated servers?

Leave a Reply