Architecture + Strategy

Musings from David Chou - Architect, Microsoft

November, 2008

  • Architecture + Strategy

    Architect Council - Cloud Computing and Impact on Architecture


    Cloud computing is a disruptive force that has the potential to change everything, but how do we take advantage of it? At Microsoft, cloud computing is a major component of our technology strategy and platform, and a rich and massively scalable cloud platform called the Azure Services Platform was just unveiled at PDC by Ray Ozzie (Ray’s keynote). Come for a discussion on how Microsoft’s platform can be leveraged to create a new class of applications that are more connected, dynamic, and can extend existing IT investments towards cloud computing.

    Facilitated by Microsoft, the premise of this group is to provide an open forum where architects can meet to discuss technologies with their peers.  This forum will provide first-hand experience and best practices that will enable its members to learn from each other and transfer knowledge. Please join us for this great opportunity to learn, share and network with your peers and other company leaders.


    Microsoft and Cloud Computing – Cloud computing represents the new wave of innovation that will significantly transform many aspects of computing as we know today. During this session, we will discuss Microsoft’s outlook and strategy in moving towards cloud computing, providing the next-generation cloud-based platform for building services in the cloud. We will also take discuss what cloud-based applications may look like, and how they need to be architected differently from today’s on-premise enterprise applications in various scenarios.

    Live Services Platform – A deeper look into the Live Services component of the Azure Services Platform, designed to combine the world of the web and the world of digital devices. We will discuss the underlying service architecture behind this mass-scale cloud service and client platform, and how to build applications using Live Identity Service, Synch Service, Resource Model Service, Device Management Service, Notification Service, and Presence Service.

    Azure Services Platform – Discussion on the enterprise-class components of the Microsoft Azure Services platform, with an overview of .NET Services (Access Control Service, Workflow Service, and Service Bus), SQL Services (SQL Data Services, SQL Reporting Services, and SQL Data Analysis Services), and Windows Azure (Compute Service, Management Service, and Storage Service). We will take a look at what these services provide, their long-term roadmaps, and discuss guidance on how they can used.


    11:45 AM  Arrival

    12:00 PM  Lunch and announcements

    01:00 PM  Microsoft and Cloud Computing

    02:00 PM  Live Services Platform

    03:15 PM  Azure Services Platform

    04:30 PM  Open discussion

    05:15 PM  Raffle and close


    Register for a date and location near you! To register, please click on the link below (note - referral code not required to register) or call 1.877.MSEVENT (1.877.673.8368).

    November 18, 2008 | Mountain View, CA
    Microsoft Corporation
    1065 La Avenida,  Building 1
    Mountain View, CA 94043
    Main: 650.693.4000
    Registration Link:
    Event ID: 1032393291

    December 4, 2008 | Los Angeles, CA
    Microsoft Corporation
    333 S. Grand Avenue, Suite 3300
    Los Angeles, CA 90071
    Main: 213.807.7300
    Registration Link:
    Event ID: 1032393292

    December 9, 2008 | Phoenix, AZ
    Microsoft Corporation
    2929 N. Central Avenue, Suite 1400
    Phoenix, AZ 85012
    Main: 602.280.8600
    Registration Link:
    Event ID: 1032393293

    December 11, 2008 | Irvine, CA
    Microsoft Corporation
    1800 Park Plaza, Suite 1600
    Irvine, CA 92614
    Main: 949.263.3000
    Registration Link:
    Event ID: 1032393294

    December 16, 2008 | Bellevue, WA
    Microsoft Corporation
    Civica Office Building
    205 108th Avenue NE, Suite 400
    Bellevue, WA 98004
    Main: 425.705.1900
    Registration Link:
    Event ID: 1032393295

    December 18, 2008 | San Francisco, CA
    Microsoft Corporation
    835 Market Street, Suite 700
    San Francisco, CA 94103
    Main: 415.972.6400
    Registration Link:
    Event ID: 1032393296
  • Architecture + Strategy

    TechDays08 Talk - Microsoft Cloud Services Architecture


    Here are the slides for my talk at the TechDays08 event in Costa Mesa on Thursday, November 13, 2008. I'd like to thank everyone who made the time to attend. Personally I really enjoyed the interactive questions and was glad to share this information with the community, even though I wasn't able to go through the content, and that my demo crashed! :) Lots of interest and questions in this area; please feel free to reach out if you have any as well.

    Make sure you check out presentations from my fellow teammates:

    And also my friend and esteemed colleague Mike Vincent who delivered the presentation on "The Role of an Architect".

  • Architecture + Strategy

    Using Events in Highly Distributed Architectures


    The Architecture Journal

    I had the privilege of publishing another article, "Using Events in Highly Distributed Architectures", in the Architecture Journal, issue 17, after the previous one on Strong User Authentication on the Web in issue 16.

    I discussed Event-Driven Architecture (EDA) in this article, in terms of its concepts, and how it can be applied in enterprises as the next step of evolution in SOA initiatives.

    The discussion took the direction of building on top of existing SOA infrastructures, so I didn't go into some key aspects for EDA, such as the importance of a robust and reliable messaging infrastructure that can ensure the reliable delivery of messages. It needs to support capabilities such as durable subscribers, message persistence and delivery tracking, idempotence, etc. Without a reliable messaging infrastructure, the collective architecture will not achieve a high level of data consistency, which is what EDA is ideally suited for.

    I also did not go into much details, in the article, regarding modeling business processes as another logical layer on top of the asynchronous event distribution models. Now most practices today when modeling business processes follow very BPEL-like approaches - sequential logical workflows and orchestrations. And there are observations that many of these efforts, attempts to catalog or define enterprise business processes, often don't succeed at achieving the intended results. One possible explanation is that it is kind of "unnatural" to try to describe series of business activities as a sequentially linked list of tasks (with conditional branches, loops, etc.). Consequently, many architects end up not modeling the processes appropriately.

    On the other hand, we can more easily map out business tasks as lifecycles or state transitions for each object, because that model is actually closer to how business analysts perceive business activities. The EDA perspective is that, in the context of asynchronous eventing models, these state transitions can then be defined into a state machine. Then, a layer of sequential workflows from a traditional business process definition perspective, can be added simply by drawing relationships across the state transitions of each object. It is a more abstracted view of business processes, but the underlying state machine model may bridge many of the gaps in traditional process modeling approaches, and can be mapped directly to an EDA technical implementation.

    Lastly, asynchronous systems are inherently more scalable than synchronous systems. Today when people use asynchronous communication patterns to connect systems, they often integrate processes at a functional level (i.e., having logical dependencies on the outcomes of other distributed processes). As we move towards an environment where applications become much more inter-connected, both internally within an enterprise SOA environment, and with external partners via the open Internet (from a B2B perspective); and applications becoming more dependent on a growing number of externally distributed components, higher levels of functional decoupling will be needed to improve many aspects of the distributed architecture. EDA approaches seem to provide some relatively good answers from that perspective, but in practice, just like over-arching SOA initiatives, still have many challenges to overcome.

  • Architecture + Strategy

    The Underground @ PDC - PDC2008


    Here are some evidence that geeks can party too (well, me not really, but definitely many of my esteemed teammates)! The Underground @ PDC was an event hosted by Microsoft at the Professional Developers Conference 2008. Check out the pictures on Flickr, tweets, and animoto (or play below).

    But it wasn't just a great party; we had presentations from Scott Guthrie, Don Box, Douglas Purdy, Chris Anderson, Scott Hanselman, Loke Uei Tan, etc. More information about these presentations, as well as videos, can be found on TechZulu.

    Personally for me, it was a great sigh of relief after delivering one of the demo's during Bob Muglia's keynote presentation during day 1 of PDC (the RedPrairie demo using Azure Services Platform). Finally got to re-surface after months of non-stop work. I now have a real appreciation of the thought and effort that goes into these demo presentations we see.

    Doing a TechZulu interview with pal Geoffrey Emery (interesting venue no?).

    Enjoying a moment with our fabulous Lynn Langit (no, the cigars weren't lit).

    Looking forward to PDC2009! It's going to be back in Los Angeles again, scheduled for November 17-20, 2009. Hope to see you there!

  • Architecture + Strategy

    JumpStart 2009 Live Services Platform Training in Los Angeles on December 1-2, 2008


    Live Services Jumpstart 2009

    Want to build traffic, drive user engagement and influence behavior through your Web applications?

    Want to ride the social networking and mobility wave in the consumer market?

    Join us at the Live Services Jumpstart event in a city nearest to you to explore the full breadth of the consumer components of the Microsoft ‘Software + Services’ Services – Live Services – in several in-depth technical sessions, hands-on code labs and informal Q&A. Microsoft's top engineers and Web development experts will lead you through 2 days of level 300-400 discussions on the latest technologies and upcoming offerings.
    Jumpstart your business with Live Services. Register today!

    About Live Services
    Live Services enables developers to engage large audiences with rich social sharing embedded experiences, and to connect the power and scale of the Web to rich client experiences across a world of digital devices. Live Services:

    1. Provides access to over 400M users and the experiences, relationships and data they care about.
    2. Uses an open standards programming interface and resource model that spans the PC, phone and Web (cloud).
    3. Enables data synchronization and local accessibility across many end points, including PC, phone and Web.
    4. Enables Windows applications and technologies to locally access Web data, enabling new and rich Web experiences.

    Live Jumpstart 2009 | Los Angeles, CA

    December 1-2, 2008

    Microsoft Los Angeles Office

    333 South Grand Avenue, Suite 3300

    Los Angeles, CA 90071

    DAY 1
    8.30 – 9.00 AM Introduction
    Meet and Greet
    9.00 – 10.45 AM Live Services – An All-Up Technical Overview
    In this session, we’ll give you the foundation for everything you need to know with regard to Live Services. You could almost only attend this session… but you won’t.
    10.45 AM – 11.00AM Break
    11.00 AM – 12.00 PM Microsoft online identity – Part I [Live ID 101]
    Almost everything in the Live Platform pivots around a person, and people are identities too. We’ll take a quick detour and look at Microsoft’s online identity, specifically Live ID 101, and then we’ll look at delegated authentication which is required for the next session.
    12.00 – 1.00 PM Lunch
    1.00 – 2.30 PM Communications – Messenger
    I’ll “MSN” you! Windows Live Messenger is the world’s largest IM network; tens of millions of people are online concurrently. Presence should be pervasive, apps should be immersive – you’ll learn how to build on top of this powerful network.
    2.30 – 2.45PM Break / labs / discussion
    2.45 – 4.00 PM Infrastructure services
    We’ll talk about Search, Virtual Earth and Silverlight Streaming by Windows Live. These services run at Internet scale and can be used to complement your existing site.
    4.00 – 4.30PM Re-cap
    4.30 – 6.30 PM Hands-on labs, informal Q&A

    DAY 2
    8.30 – 9.00 AM Hands-on labs, warm-up
    9.00 – 9.30 AM Recap of Day 1
    9.30 – 10:00 AM Future Direction of Live Services
    The world of Live Services is continually changing. We’ll share the roadmap for the evolution of the Live Services platform.
    10.00 – 10.30 AM Resource Model Session
    A deep dive into the types of resources that can be stored and synchronized. After you understand the structure, you can start thinking “Sync”.
    10.30 – 10.45 AM Break
    10.45 – 11.45 AM Cloud APIs
    Learn to store and synchronize resources across diverse platforms with the intuitive, REST-based cloud APIs. Whatever programming language you use, there’s a protocol that fits your needs.
    11.45 AM – 12.45 PM Lunch
    12.45 – 1.45 PM .NET Libraries
    There’s more than one way to sync. We’ll show you how to target the platform from rich client applications, Silverlight, JavaScript and more.
    1.45 – 2.45 PM Mesh Applications
    Learn the true meaning of “write once, run anywhere”. Mesh applications let users access their data wherever they are – online, offline, on the client and in the cloud.
    2.45 – 3.00 PM Break / labs / discussion
    3.00 – 4.00 PM Microsoft Online Identity – Part II
    Identity is a huge topic! In Part II you’ll get the details on federation, client authentication, and how to connect your infrastructure to the Identity backbone.
    4.00 – 4.30 PM Re-cap
    4.30 – 6.30 PM Hands-on labs, informal Q&A
Page 1 of 2 (6 items) 12