Leveraging Non-Microsoft Technologies into Azure

Josh Holmes – UX Evangelist @ Microsoft

Twitter: @JoshHolmes

In-House or Hosted Servers

  • In House
    • Barrier for Innovation
      • Requires a large amount of IT that needs to be bought and needs a lot of money and also takes a lot of time
    • “Waste” of capacity
      • Our businesses have spikes but that’s not the normal usage, but in order to permit that usage we need to have that IT capacity and so we waste a lot of that capacity
  • Cloud Computing
    • No Initial costs, and this the investment needed
    • Cloud Computing is not competing with Shared Hosting, this is for real enterprise applications

Types of Cloud

  • Private Cloud (On-Premise)
    • We manage everything
  • Infrastructure (IaaS)
    • We manage only a small amount of the Infrastructure and not all the network
  • Platform as a Service (PaaS)
    • We don’t manage any infrastructure but only take advantage of the platform services that are being released
    • Windows Azure seats here

Windows Azure Data Centers (~100 Globally Distributed Data Centers)

  • US
    • Quincy, WA
    • Chicago, IL
    • San Antonio, TX
  • Europe
    • Dublin
    • Amsterdam
  • Asia

Microsoft CDN – Content Delivery Network . Currently in CTP

The Microsoft Cloud

  • Application Services
    • Bing
    • Windows Live
    • Office Live
    • Health Vault
    • Microsoft Advertising
  • Software Services
    • Office Online
    • Dynamics CRM Online
    • Exchange Online
  • Platform Services
    • Windows Azure
    • SQL Azure
    • AppFabric
    • Live Mesh

Not everything has to or can live in the cloud.

Only need the things that benefits on being in the cloud.

The core Strategy is ‘Hybrid’, we call that Software + Services

Where is the cloud most compelling

  • Massive scales: Outback promo on Facebook
  • High reliability: eCommerce Apps
  • Variable load

Reasons to use the cloud

  • Improve Bottom Line Business
  • Improve Strategy

Windows Azure VMs

  • Small
    • 1 x 1.8GHz
    • 1.76 GB memory
  • Medium
    • 2 x 1.8 GHz
    • 3.5 GB memory
  • Large
    • 4 x 1.8 GHz
    • 8 GB memory
  • X-Largeb
    • 8 x 1.8 GHz
    • 16 GB memory

Determine an ROI

  • AzureROI.CloudApp.net

Windows Azure Roles

  • Web Role
    • External Facing
    • Http/Https endpoints
    • Short lived calls
    • “Think Web Server”
  • Worker Role
    • Internal Facing
    • TCP/HTTP endpoint
    • Long running processes
    • Think Service or Deamon

Running PHP and Ruby on Azure

  • We can place the all the php files inside the package and have several versions of PHP running in different WebRoles
  • How to do it
    • Host in WebRole (like in .NET)
    • Package the PHP runtime
    • Point to FastCGI

Windows Azure for Eclipse

  • Does a lot of the heavy lifting for you
  • Creates the Web.config, Web.roleConfig, PHP implementation and debugs in the dev fabric
  • http://windowsazure4e.org

Running EXEs in Worker Role

  • Start with Worker Role Process to
    • Copy the exes to the worker role’s app directory
    • Execute the process
    • Monitor the health of the process
    • Other auxiliary tasks
  • Examples:
    • Deploying Tomcat on Windows Azure
    • Deploying MySQL

Storage Options

  • Windows Azure Storage
    • Types Available:
      • Queues
        • Buffered delivery data storage
      • Blobs
        • Unstructured data Storage
        • Partitioned by Containers
      • Tables
        • Semi-structured or tabular a storage (not the same as SQL Tables)
        • Tables contain entities
        • Entities contain properties
        • Tables are contained in partitions
        • Partitions are the units of replication
        • Support ACID transitions
        • Loosely typed
        • Non Relational DB
        • Massive scalable
      • Drives
    • SDKs
  • SQL Azure
    • Relational Data storage
    • Fully structured
    • Strongly typed
    • RDMS
    • Highly Scalable
    • guaranteed 99.999 % uptime
    • 3 replicas are guaranteed
    • Not Supported
      • Physical Server Access
      • Catalog DDL
      • CLR
      • Service Broker
      • Reporting Services
      • Analysis Services
      • Distributed Transactions and Queries
    • Supported
      • Tables, Indexes, Views
      • Stored procedures
      • Triggers
      • constraints
      • table variables
      • temp tables
    • Database Migration

Admin Windows Azure Data Storage

  • http://windows.azure.com and make some Storage type project
    • This gives you access to a storage account and also the AccountName and ApplicationId that you’ll need to develop against it

MySQL in a Windows Azure Application

  • Running MySQL in a Worker Role

Zend Framework has now support for Windows Azure for Azure Storage, and will have support for Azure AppFabric (Service Bus, Access Control)

No Comments