… and heres why this is interesting … Existing code, not designed for the cloud Things you cant run in the cloud Things you might not want to run in the cloud … in other words … This is like your code!
DinnerNow.net customer browsing the site for yummy food. Site requests information about Restaurants and Menus from the Backend Services Restaurant and Menus queried from the Catalog Database
DinnerNow.net customer wants to order food. Site asks user to log on or register. Collects shipping address and credit card info. Order submitted for processing.
Order Processing Applies Charges, Discounts, Loyalty Points. Order is routed to the fulfilling Restaurant(s) Restaurant personnel interacts with Kiosk application, preparing order for delivery pickup
Order Processing Computes Routes and Notifies Delivery Drivers Driver is notified on mobile device and accepts route Driver picks up the food at the restaurant and provides delivery status.
Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine Worker Role App Instance App Instance Client NATs multicast unicast
In-House Outsourced Hosted E-Commerce Front Storage Inventory / Shipping System Ordering System Storage Hi-Fi Client Experience PO SO Shipped Order Accepted Order Processed Ready Delivered ACK Web Client Experience
Windows Azure, Datacenter, Hosting, Amazon EC2 (Windows) App Instance On-Premise Data NP Bridge SQL Server TDS Passthrough ASP.NET ADO.NET NP Agent ACS On-Premise Infra Socket Bridge Exchange/Mail (SMTP/IMAP) Active Directory (LDAP) System Center (SNMP) … Socket Agent ACS Socket Passthrough Apps & Services HTTP Bridge ERP, CRM, Custom Apps.NET, J2EE, ROR, PHP … J2EE, JDBC, JMS HTTP/HTTPS Passthrough w/ URI Rewriting